Advanced Systems Development (Information Systems) INF3705
Semesters 1 & 2
School of Computing
IMPORTANT INFORMATION: This tutorial letter contains important information about your module.
2 CONTENTS
Page 1 INTRODUCTION .......................................................................................................................... 3 2 PURPOSE OF AND OUTCOMES FOR THE MODULE ............................................................... 3 2.1 Purpose ........................................................................................................................................ 3 2.2 Outcomes ..................................................................................................................................... 3 3 LECTURER(S) AND CONTACT DETAILS .................................................................................. 4 3.1 Lecturer(s) .................................................................................................................................... 4 3.2 Department .................................................................................................................................. 6 3.3 University ..................................................................................................................................... 6 4 MODULE-RELATED RESOURCES ............................................................................................ 6 4.1 Prescribed books .......................................................................................................................... 6 4.2 Recommended books................................................................................................................... 7 4.3 Electronic Reserves (e-Reserves) ................................................................................................ 7 5 STUDENT SUPPORT SERVICES FOR THE MODULE ............................................................... 7 6 MODULE-SPECIFIC STUDY PLAN ............................................................................................. 8 7 MODULE PRACTICAL WORK AND WORK-INTEGRATED LEARNING .................................... 8 8 ASSESSMENT............................................................................................................................. 8 8.1 Assessment plan .......................................................................................................................... 8 8.2 General assignment numbers ..................................................................................................... 10 8.2.1 Unique assignment numbers ...................................................................................................... 10 8.2.2 Due dates for assignments ......................................................................................................... 10 8.3 Submission of assignments ........................................................................................................ 10 8.4 Assignments ............................................................................................................................... 11 9 OTHER ASSESSMENT METHODS ........................................................................................... 11 10 EXAMINATION .......................................................................................................................... 11
INF3705/101
3 1 INTRODUCTION Dear Student 1.1 Tutorial matter
Some of this tutorial matter may not be available when you register. Tutorial matter that is not available when you register will be posted to you as soon as possible, but is also available on myUnisa.
2 PURPOSE OF AND OUTCOMES FOR THE MODULE 2.1 Purpose The purpose of this module is to provide the qualifying student with advance level knowledge, specific skills and applied competencies in System Analysis and Design. These competencies will equip the qualifying student to use concepts to analyse and design high-quality systems in organizations and contribute to the development of the information systems or computer science field in southern Africa or in any country. This module forms part of the BCom (Information Systems) or BSc (Information Systems or Computer Science) and students are expected to have a computer and internet connectivity.
2.2 Outcomes Students who complete this module will be able to demonstrate an understanding of software engineering concepts, with reference to the changing nature of software.
Assessment criteria: The business case study analysis explains how software engineering concepts evolving role and changing nature are dependent on context. Given case studies are analysed and the descriptions identify problematic issues and impacts when changing from legacy software to develop new software systems. Case study environments are analysed for the concepts that lead to requirements engineering. The new written case studies (from work experience or scenarios) show how concepts are transferred.
Students who complete this module will be able to describe the process that provides a framework for software engineering practice.
Assessment criteria: Software engineering case studies (the Assignment) show how the software process and the generic framework activities are applied. Processes are modelled and the concept of process patterns are described and understood when used in software development activities. The strengths and weaknesses of prescriptive process models are distinguished as identified in given case study examples. The characteristics of incremental models and what make them amenable to modern software projects are discussed based on software engineering guidelines.
4 The importance of agile software development and how it differs from more traditional process models is described in context of modern systems.
Students who complete this module will be able to critically analyse the principles, concepts and methods that comprise the software engineering activities. Assessment criteria: The concepts and principles that guide software engineering best practice within software engineering are analysed. The guidelines on how system engineering leads to effective software engineering are analysed and applied based on accepted guidelines within the field of study. The elements of the analysis model are used to identify the key elements from a case study description by using standard model notation. The concept of maturity models and the role they play in improving the quality of software projects are evaluated. The strategies used for software testing are analysed and guidelines are given on how to use the strategies for given case study scenarios.
Students who complete this module will be able to apply the concept of dependability and security in the development of sociotechnical systems.
Assessment criteria:
Descriptions show possible user errors, at least five, context-linked, in 300 words. A case study scenario applies steps in software protection and security. The dependability attributes are applied and evaluated in a sociotechnical system. The description explains and applies usage of safety-critical software systems in consumer products, using an insulin pump, cancer treatment software and a radiation therapy machine. Descriptions with differences and similarities show distinct dependability attributes, in sociotechnical system development, focusing on reliability and safety.
3 LECTURER(S) AND CONTACT DETAILS 3.1 LECTURER Dr A Coleman School of Computing College of Science, Engineering and Technology Tel: + 27 12 429 6395 Office: Theo van Wijk 8-59 e-mail:colema@unisa.ac.za
3.2 Department Type here <<Author>> Please see welcome page for this module online at myUnisa. To improve our management of this module, we have prioritised our communication channels. Too much time is often wasted on inefficiency, where a student has to call Unisa repeatedly, or has to hold on until he or she gets through to the right person, before finally resolving his or her query. By Communication with the university Always have your student number at hand when you call the University INF3705/101
5 placing a priority on the communication channel, we provide a guarantee of rapid response time. In the following table, we list the available communication channels in order of highest to lowest priority and then discuss each one in the subsequent paragraphs. Channel Advantages General response time Discussion forum Transparency --- students often experience the same types of problems and if a query is placed on the discussion forum, everybody has access to the question as well as its answer. Within two working days. Internet Access Much of the material that is available in printed form is available much sooner on the web for downloading. Immediately. E-mail Please use the module e-mail address. Do not send mail to lecturers directly. Within two working days. Telephone Immediately but may delay if lecturer is in a meeting. Immediately --- if the lecturer is not currently busy with another appointment such as with another student or in a meeting, workshop, seminar or conference, or examining a student, etc. Written letters No advantages. 2--6 weeks.
Discussion forum In this module we will use the discussion forum as our main communication channel for module- related matters. Please access it regularly (once a week is advisable). E-mail We urgently request that you use the discussion forum for all electronic communication. There are different threads in the discussion forum. Please use it to direct all your queries. Please use the module discussion forum instead of the module e-mail. Reserve your e-mail messages for highly personal matters. Please do not use the personal e-mail addresses of the lecturing staff. Alternatively you can write a letter to the lecturer regarding all aspects of the module: The Lecturer (INF3705)School of Computing Unisa PO BOX 392 Pretoria 0003
6 Please consult your tutorial letters first to see whether we have not already answered your queries. Since most students experience the same problems, we deal with the most common problems in the tutorial letters.
3.2 Department
Remember that we are sometimes not available because of other departmental or university duties. If you fail to reach us directly, please call the departmental secretary who will be able to inform you about when we will be available, or she will take a message, in which case you should leave a message stating the reason for your call and your name, student number and telephone number. The departmental secretarys number: RSA only 012 429 6122; international calls +27 12 429 6122. No faxing, please Due to the high cost, our School has a policy of not faxing material to students. However, we do get quite a number of students faxing us with requests for extensions on certain study material, and so on, and requesting us to contact them in return. Facsimiles place an unnecessary administrative burden on the staff since there is only one fax machine in the office of a secretary. However, each lecturer has an e-mail facility on his or her desk. With large modules, the burden simply becomes too great to carry if the lecturers have to go looking for faxes. Please, if you need to contact us urgently, use the discussion forum or e-mail.
3.3 University Communication with the university
General Unisa contact details can be found in the my Studies @ Unisa brochure.
4 MODULE-RELATED RESOURCES 4.1 Prescribed books The following textbook is prescribed for this module: Software engineering by Ian Sommerville, published in 2011 (9th edition/international edition) ISBN-13: 9780137053469 2011 (published by Pearson New International Version)
Buy the book as soon as you register for the module. More than one university prescribes the book; if you wait, you will probably not find a copy. We recommend that you first phone the list of bookstores (in my Studies @ Unisa) to get the local price for the book.
INF3705/101
7 Prescribed books can be obtained from the universitys official booksellers. If you have difficulty locating your book(s) at these booksellers, please telephone the Prescribed Book Section at 012 429- 4152 or e-mail vospresc@unisa.ac.za. (If your assignment is late because you dont have the prescribed book, and we do not have proof that you contacted this department, then your late assignment will not be accepted.)
4.2 Additional reading materials
4.2.1 Students are to supplement their reading with Software Engineering (A practitioners Approach) by Roger S. Pressman 7 th edition( ISBN 9780071267623) for self-enrichment. Note that this book can support you in answering some of the MCQ assignment. However this book is not the prescribed book for the module, but an additional material.
4.3 Electronic Reserves (e-book) There is currently no electronic version of this book for students.
5 STUDENT SUPPORT SERVICES FOR THE MODULE Important information appears in your my Studies @ Unisa brochure.
1. INF3705 has two assignments. The first one is a multiple-choice assignment: you are required to submit it for your year mark and to gain admission to write the final examination. The second assignment is a written assignment and the marks are added to the marks of the first assignment to calculate a year mark.
2. Students must answer all questions in all assignments for this module. It is not to say that all questions will be marked but you will definitely receive answers to all questions and you will not be informed beforehand which questions will be marked and which not. Always assume that all questions will be marked.
3. The time constraints under the semester system do not allow us to accept late assignments. Post your assignments well before the due date given in this 101 Tutorial Letter. Receiving assignments after the due date and after the solutions are uploaded on myUnisa will result in a 0% mark for the assignment. (Remember, when Unisa gives a general extension on a due date, they do not make the semester longer!)
4. We do appreciate students who work in groups or students who gather material from previous years to be able to work from extra material, but it is unacceptable for students to submit solutions copied directly from previous solutions or to submit identical assignments. This is a form of plagiarism and none of these assignments will be marked. It is dishonest to submit the work of someone else as your own. Read any work readily available and then rework your own answers.
5. How to fail this module: Only work when you do the assignments and then again before the examination.
6. How to pass this module: Work from the start of the semester and repeat the learning of this module cycle as much as possible.
7. How to obtain a distinction in this module: Do an in depth reading and answer the assignment questions correctly
8 6 MODULE-SPECIFIC STUDY PLAN Use your my Studies @ Unisa brochure for general time management and planning skills.
In preparing for the examinations, we recommend that you do the following (semester 1): January and February Speed-read through all the chapters (chapters 1- 14, 19-20) and do Assignment 01 (due 4 March). March Do Assignment 02 (2 April). April - Study (not read!) 1. Summarise the chapters and learn the theory. 2. Summarise the concepts/definitions within each chapter for shorter theoretical questions in the examination. 3. Work through the questions at the end of the chapters. 4. Work through the questions in the assignments. In preparing for the examinations, we recommend that you do the following (semester 2): June to July/August Speed-read through all the chapters (chapters 1- 14, 19-20) and do Assignment 01 (19 August). August/September Do Assignment 02 (16 September). September/October - Study (not read!) 1. Summarise the chapters and learn the theory. 2. Summarise the concepts/definitions within each chapter for shorter theoretical questions in the examination. 3. Work through the questions at the end of the chapters. 4. Work through the questions in the assignments.
7 MODULE PRACTICAL WORK AND WORK-INTEGRATED LEARNING There is no practical work for this module.
8 ASSESSMENT 8.1 Assessment plan We use the prescribed book and additional material that we will send out in the form of tutorial letters. The 9th edition of Software Engineering (Sommerville 2011) is organized into four parts. The book is approximately 900 pages in length. For this module, only the following will be covered.
Chapter: Heading Comments Chapter 1: Introduction Read Chapter 2: Software processes Study Chapter 3: Agile software development Study Chapter 4: Requirements engineering Study INF3705/101
9 Chapter 5: System modelling Study Chapter 6: Architectural design Read Chapter 7: Design and implementation Study Chapter 8: Software testing Study Chapter 9: Software evolution Read Chapter 10: Socio-technical Systems Study Chapter 11: Dependability and security Study Chapter 12: Dependability and security specification Read Chapter 13: Dependability engineering Read Chapter 14: Security engineering Study Chapter 19: Service-oriented architecture Study Chapter 20: Embedded systems Read
According to the IEEE Std 610-1990, software engineering can be defined as 1. the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software that is, the application of engineering to software 2. the study of approaches as in point 1 Other definitions available include the following: The system of applying an engineering discipline to the design, implementation and maintenance of software systems. www.cs.ukc.ac.uk/people/staff/djb/book/glossary.html Software engineering is an engineering discipline which is concerned with all aspects of software production, from the early stages of system specification through to maintaining the system after it has gone into use. www.resolveit.co.uk/glossary.htm This term refers to a movement, methods and techniques aimed at making software development more systematic. Software methodologies, like the OMGs UML and software tools (see CASE tools) that help developers model application designs and then generate code are all closely associated with software engineering. www.bptrends.com/resources_glossary.cfm A disciplined approach to constructing information systems through the use of common methods, techniques or tools. myphliputil.pearsoncmg.com/student/bp_jessup_ist_1/JessupGlossary.html A collection of theories, techniques and tools which enable fallible humans to design, construct and maintain large software products in a reliable and cost-effective manner. www.csse.monash.edu.au/~jonmc/CSE2305/General/html/glossary.html A disciplined and standardised approach to program development, both in its managerial and technical aspects. cs.uhh.hawaii.edu/cs/courses/cs100/glossary.htm The application of software design principles to the process of creating software. www.mckinnonsc.vic.edu.au/la/it/ipmnotes/glossary.htm
10 For the purpose of INF3705, we realise that it is not possible to cover all the concepts involved in software engineering. However, we do want to introduce you to some of the more important concepts within software engineering and hope that you will cover the material not discussed in this module on your own.
8.2 General assignment numbers There are two assignments for this module. To gain examination admission you need to complete and submit both assignments. To receive a year mark you need to complete and submit Assignments 01 and 02.
We do advise you to complete all the assignments to cover the content matter before the examinations. 8.2.1 Unique assignment numbers Assignment number Unique assignment number Semester 1 Unique assignment number Semester 2 01 859963 891049 02 817630 821209 8.2.2 Due dates for assignments Assignment number Due date Semester 1 Due date Semester 2 Purpose 01 4 March 19 August Compulsory Overview of work 02 2 April 16 September Compulsory In-depth understanding of the module
8.3 Submission of assignments 8.3.1 Electronic submission of an assignment
You can submit your multiple-choice assignment via your mobile phone. For more information go to http://mobi.unisa.ac.za.
For detailed information on assignments, please refer to the my Studies @ Unisa brochure, which you received with your study package. To submit an assignment via myUnisa: Go to myUnisa. Log in with your student number and password. Select the module. Click on Assignments in the menu on the left-hand side of the screen. Click on the assignment number you wish to submit. Follow the instructions. INF3705/101
11
8.4 Assignments Multiple-choice assignments Assignment 01 is a multiple-choice assignment, which should either be completed on the computer mark-reading sheet issued to you during registration, or be submitted electronically through myUnisa. The multiple-choice assignment is marked electronically on a predetermined date. For example, if the submission date for a particular assignment is 7 March, then all submitted assignments will be marked through batch processing by the computer one or two days after the due date. Written assignments Assignment 02 has written assignments. Assignment 02 should be posted to Unisa or uploaded on the myUnisa website. Assignments 01 is used to determine your admission to the examination while assignment 02 is used to determine your year mark. Year mark Each module leader may decide which assignments will count towards the year mark. For INF3705 you will receive a possible mark out of 20, which will count towards your final mark for the year. For this module, Assignments 02 will be used to calculate your year mark. 9 OTHER ASSESSMENT METHODS There are no other assessment methods for this module.
10 EXAMINATION Use the my Studies @ Unisa brochure for general examination guidelines.
In preparing for the examinations, we recommend that you do the following: Summarise the chapters and learn the theories. Summarise the concepts/definitions within each chapter for shorter theoretical questions in the examination. Work through the questions at the end of the chapters. Work through the questions in the assignments. Our goal is to test your understanding of the concepts and to see if you can apply it to real-life scenarios. Therefore, apart from questions on theory, you can also expect questions like the following in the examinations: The waterfall model is used in situations where the requirements of a problem are reasonably well understood (Sommerville 2011). Would you use the waterfall method if you wanted to change the withdrawal limit of a software system for an ATM system? In this instance you need to argue, from the given theory in Sommerville, whether or not you would use the waterfall method for this specific situation. To be able to do this, you will need to understand the theory; it is not sufficient to merely learn it like a parrot. Do take care when preparing for the examinations and try to understand the concepts rather than learning them off by heart.
12 Examination preparation (June/July and October/November) 1. Make sure that you know exactly where and when you write this paper. The next examination is only six months later and there are no alternative examinations. 2. The examination paper is a two-hour paper and counts out of 100 marks. 3. It consists of short and longer questions (210 marks) similar to those in the assignments. 4. Learn all theory to be able to answer 25 multiple-choice questions (2-mark questions, for a total of 50 marks). 5. During your preparation, study all your assignments as well as the summaries at the end of the chapters in the prescribed book and work through as many as possible of the problems at the end of the chapters in the prescribed book. 6. You are welcome to look at any old examination papers but remember that each year the papers are compiled by other lecturers and/or using other examiners. If students concentrate on old papers only, then the examination paper, which is based on the content of the module, may be a surprise to some students. 7. Send all your Software Engineering content-related examination queries to the module e-mail address.
Thank you and enjoy this module.
INF3705/101
13
Semester 1: Assignment 1: 2014 [For first semester learners only]
Chapter 2 1. Which of the following are recognized process flow types?
1. Concurrent process flow 2. Iterative process flow 3. Spiral process flow
2. Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.
1. True 2. False
3. The waterfall model of software development is_________________
1. A reasonable approach when requirements are well defined. 2. A good approach when a working program is required quickly. 3. The best approach to use for projects with large development teams. 4. An old fashioned model that is rarely used any more.
4. The incremental model of software development is_______________
1. A reasonable approach when requirements are well defined. 2. A good approach when a working core product is required quickly. 3. The best approach to use for projects with large development teams. 4. A revolutionary model that is not used for commercial products.
5. Evolutionary software process models
1. Are iterative in nature 2. Can easily accommodate product requirements changes 3. Do not generally produce throwaway systems 4. All of the above
6. Agility is nothing more than the ability of a project team to respond rapidly to change. Answer these questions
14
1. True 2. False
7. Which of the following is not necessary to apply agility to a software process?
1. Eliminate the use of project planning and testing 2. Only essential work products are produced 3. Process allows team to streamline tasks 4. Uses incremental product delivery strategy
8. How do you create agile processes to manage unpredictability?
1. Requirements gathering must be conducted very carefully 2. Risk analysis must be conducted before planning takes place 3. Software increments must be delivered in short time periods
9. In agile software processes the highest priorities is to satisfy the customer through early and continuous delivery of valuable software.
1. True 2. False
10. Which of the following traits need to exist among the members of an agile software team?
1. Competence 2. Decision-making ability 3. Mutual trust and respect 4. All of the above
11. In agile development it is more important to build software that meets the customers needs today than worry about features that might be needed in the future.
1. True 2. False
Chapter4 12. Requirements engineering is a generic process that does not vary from one software project to another.
1. True 2. False
INF3705/101
15 13. During project inception the intent of the of the tasks are to determine
1. basic problem understanding 2. nature of the solution needed 3. people who want a solution 4. All of the above
14. Three things that make requirements elicitation difficult are problems of
1. scope 2. understanding 3. volatility 4. All of the above
15. It is relatively common for different customers to propose conflicting requirements, each arguing that his or her version is the right one.
1. True 2. False
16. Which of the following is not one of the context-free questions that would be used during project inception?
1. What will be the economic benefit from a good solution? 2. Who is behind the request for work? 3. Who will pay for the work? 4. Who will use the solution?
Chapter5 17. The data flow diagram________________
1. depicts relationships between data objects 2. depicts functions that transform the data flow 3. indicates system reactions to external events
18. Control flow diagrams are _______________
1. needed to model event driven systems. 2. required for all systems. 3. used in place of data flow diagrams. 4. used to represent system behavior.
19. The data flow diagram must be augmented by min-spec that can serve as a guide the design of the software component that will implement the process.
1. True 2. False
16
20. For purposes of behavior modeling an event occurs whenever
1. a state and process exchange information. 2. the system an actor exchange information. 3. two actors exchange information. 4. two objects exchange information.
Chapter 6 21. The best representation of system architecture is an operational software prototype.
1. True 2. False
22. The architectural representations can be an enabler for communication among project stakeholders.
1. True 2. False
23. An architectural description is often documented using an architecture template.
1. Ture 2. False
24. An architectural genre will often dictate the architectural approach that may be used for the structure to be built.
1. True 2. False
25. An architectural style encompasses which of the following elements?
1. constraints 2. set of components 3. semantic models 4. all of the above
26. To determine the architectural style or combination of styles that best fits the proposed system, requirements engineering is used to uncover ________________
1. algorithmic complexity 2. characteristics and constraints 3. control and data 4. design patterns
INF3705/101
17
27. Before an architectural pattern can be chosen for use in a specific system it must have a code implementation to facilitate its reuse.
1. True 2. False
Chapter7 28. Which of the following are areas of concern in the design model?
1. Architecture, data and interfaces. 2. Data, interfaces and project scope. 3. Interfaces, project scope and architecture. 4. project scope, architecture and data.
29. The importance of software design can be summarized in a single word.
30. Which of these are characteristics of a good design?
1. Exhibits strong coupling between its modules and implements all requirement in the analysis model. 2. Implements all requirements in the analysis model and provides a complete picture of the software. 3. Includes test cases for all components and implements all requirements in the analysis model. 4. Provides a complete picture of the software and includes test cases for all components.
Chapter 8 31. In software quality assurance work there is no difference between software verification and software validation.
1. True 2. False
32. The best reason for using Independent software test teams is that______________
1. software developers do not need to do any testing 2. strangers will test the software mercilessly 3. testers do not get involved with the project until testing begins 4. the conflicts of interest between developers and testers is reduced
18
33. Which of this is not part of the activities in which traditional software testing is organized?
1. integration testing 2. system testing 3. unit testing 4. validation testing 5. conciliation testing
34. By collecting software metrics and making use of existing software reliability models it is possible to develop meaningful guidelines for determining when software testing is done.
1. True 2. False
35. Which of the following strategic issues needs to be addressed in a successful software testing process?
1. specify requirements in a quantifiable manner 2. use independent test teams 3. wait till code is written prior to writing the test plan
36. Which of the following need to be assessed during unit testing?
37. Units and stubs are not needed for unit testing because the modules are tested independently of one another.
1. True 2. False
38. Top-down integration testing has as its major advantage as_____________
1. low level modules never need testing 2. major decision points are tested early 3. more drivers need to be written 4. no stubs need to be written
39. Bottom-up integration testing has as its major advantage as what?
1. major decision points are tested early 2. no drivers need to be written 3. no stubs need to be written 4. regression testing is not required INF3705/101
19
40. Regression testing should be a normal part of integration testing because as a new module is added to the system new__________________
1. data flow paths are established 2. drivers require testing 3. all of the above
41. Smoke testing might best be described as ________________
1. bulletproofing shrink-wrapped software 2. rolling integration testing 3. testing that hides implementation errors 4. unit testing for small programs
42. When testing object-oriented software it is important to test each class operation separately as part of the unit testing process.
1. True 2. False
43. The OO testing integration strategy involves testing__________________
1. groups of classes that collaborate or communicate in some way 2. single operations as they are added to the evolving class implementation 3. operator programs derived from use-case scenarios 4. none of the above
44. Since many WebApps evolve continuously, the testing process must be ongoing as well.
1. True 2. False
Chapter 10 45. Socio -Technical systems is made up of different components including____________
1. Equipment 2. Operating system 3. Society 4. All of the above
46. Which of this does not influence the reliability of a system?
1. Hardware reliability 2. Work reliability 3. Software reliability
20 4. Operator reliability
47. Why are plan-driven (rather than agile) processes used in systems Engineering?
1. Because different parts of the system are developed by different groups 2. Because different people work on different systems 3. Because the system and the programmers are important 4. All of the above
48. Which of this is not a main driver for system procurement decisions?
1. The state of other organizational systems. 2. The need to comply with external regulations. 3. External competition 4. The staff of the organization
Chapter 11
49. Availability is the ability of a system to deliver services when requested
1 True 2 False
50. One of this is not a principal threat to the security of a system?
1. Threats to the confidentiality of a system and its data. 2. Threats to the integrity of a system and its data. 3. Threats to the availability of a system and its data 4. Threat to customers participation
INF3705/101
21
Semester 2: Assignment 1: 2014 [for second semester learners only]
Submission Date: 19 August 2014 Prescribed:
Unique Number: 891049 Total: 100
1. The spiral model of software development
1. Ends with the delivery of the software product 2. Is more chaotic than the incremental model 3. Includes project risks evaluation during each iteration 4. All of the above
2. The concurrent development model is_________________
1. Defines events that trigger engineering activity state transitions. 2. Only used for development of parallel or distributed systems. 3. Used whenever a large number of change requests are anticipated.
3. The component-based development model is
1. Only appropriate for computer hardware design. 2. Not able to support the development of reusable components. 3. Dependent on object technologies for support. 4. Not cost effective by known quantifiable software metrics.
4. Which of this is an objective of Team Software Process?
1. Accelerate software process improvement 2. Allow better time management by highly trained professionals 3. Show managers how to reduce costs and sustain quality
5. It is generally accepted that one cannot have weak software processes and create high quality end products. 1. True 2. False
Answer these questions
22 Chapter 3 6. What are the four framework activities found in the Extreme Programming (XP) process model?
7. All agile process models conform to a greater or lesser degree to the principles stated in the Manifesto for Agile Software Development.
1. True 2. False
8. Which is not one of the key questions that is answered by each team member at each daily Scrum meeting?
1. What did you do since the last meeting? 2. What obstacles are you encountering? 3. What is the cause of the problems you are encountering? 4. What do you plan to accomplish be the next team meeting?
9. In Feature Driven Development (FDD) a client-valued feature is a client-valued function that can be delivered in two weeks or less.
1. True 2. False
10. Agile Modeling (AM) provides guidance to practitioner during which of these software tasks?
1. Analysis 2. Coding 3. Testing
11. Agile Unified Process uses the classic UP phased activities (inception, elaboration, construction, transition) to help the team visualize the overall process flow.
1. True 2. False
Chapter4 12. In collaborative requirements gathering the facilitator__________________
1. arranges the meeting place 2. cannot be a customer 3. controls the meeting 4. must be an outsider
INF3705/101
23 13. The work products produced during requirement elicitation will vary depending on the
1. size of the budget 2. size of the product being built 3. software process being used 4. stakeholders needs
14. Developers and customers create use-cases to help the software team understand how different classes of end-users will use functions.
1. True 2. False
15. The result of the requirements engineering task is an analysis model that defines which of the following problem domain(s)?
1. information 2. functional 3. behavioral 4. all of the above
16. In requirements validation the requirements model is reviewed to ensure its technical feasibility.
1. True 2. False
Chapter 5 17. For purposes of behavior modeling a state is any____________
1. consumer or producer of data. 2. data object hierarchy. 3. observable mode of behavior. 4. well defined process.
18. The state transition diagram__________________
1. depicts relationships between data objects 2. depicts functions that transform the data flow 3. indicates how data are transformed by the system 4. indicates system reactions to external events
19. Analysis patterns are discovered, they are not explicitly created.
1. True 2. False
24 20. Which is not one of the analysis activities that is used to create a complete analysis model?
21. Content objects are extracted from use cases by examining the scenario description for direct or indirect content references.
1. True 2. False
22. UML activity diagrams can be used to represent the user observable functionality delivered by the WebApp as well as the operations contained in each analysis class.
1. True 2. False
23. Configuration analysis focuses on the architecture of the users web browsing environment.
1. True 2. False
Chapter 6 24. The criteria used to assess the quality of an architectural design should be based on system
1. accessibility 2. data 3. implementation
25. During process of modeling the system in context, systems that interact with the target system are represented bas
1. Peer-level systems 2. Subordinate systems 3. Superordinate systems 4. All of the above
26. Once selected, archetypes always need to be refined further as architectural design proceeds.
1. True 2. False
27. Which of the following is not an example of infrastructure components that may need to be integrated into the software architecture?
31. What types of abstraction are used in software design?
1. Control, data and procedural. 2. Data, environmental and control. 3. Environmental, procedural and data. 4. Procedural, control and environmental.
32. Which of the following can be used to represent the architectural design of a piece of software?
1. Dynamic models 2. Functional models 3. Structural models 4. All of the above
Chapter 8
33. The focus of validation testing is to uncover places that s user will be able to observe failure of the software to conform to its requirements.
1. True 2. False
26
34. Software validation is achieved through a series of tests performed by the user once the software is deployed in his or her work environment.
1. True 2. False
35. Configuration reviews are not needed if regression testing has been rigorously applied during software integration.
1. True 2. False 36. Acceptance tests are normally conducted by the
1. developer 2. end users 3. test team 4. systems engineers
37. Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption.
1. True 2. False
38. Security testing attempts to verify that protection mechanisms built into a system protect it from improper penetration.
1. True 2. False
39. Stress testing examines the pressures placed on the user during system use in extreme environments.
1. True 2. False
40. Performance testing is only important for real-time or embedded systems.
1. True 2. False
INF3705/101
27 41. Refactoring which is making program changes to preserve functionality, is a form of
1. Preventative maintenance. 2. Maintenance to repair software faults 3. Maintenance to adapt software to a different operating environment 4. None of the above
42. Which of this is not one of the stages in the system evolution process
43. Why is it sometimes necessary to bypass the normal change management system and make urgent changes to a system? 1. To satisfy management 2. To satisfy customers 3. To repair a serious system fault 4. None of the above
44. What factor should be assessed to understand the relationship between a system and its environment? 1.The number and complexity of system interfaces, 2. The number of inherently volatile system requirements, 3. The business processes in which the system is used. 4. All of the above.
45. Which is not a strategic option for legacy system evolution? 1. Scrap the system completely, 2. Leave the system unchanged and continued maintenance, 3. Re-engineer the system to improve maintainability 4. Replace technical team
46. Which of this factor is not used to assess applications for evolution
1. Documentation 2. Data 3. Performance 4. Skills
28 Chapter 12 &13 47. Which activity is part of the process of risk analysis?
1. Risk identification, 2. Risk analysis and classification 3. Risk decomposition 4. ALL of the above
48. Security risk management is concerned with assessing the possible losses that might ensue from attacks on assets in the system and balancing these losses against the costs of security procedures that may reduce the losses
1. True 2. false
49. Which of this is not a fundamental issue to be considered when designing system architecture for security?
1. Protection 2. Distribution 3. Usage
50. Which of this level of protection might not be used in an information system security?
UNIQUE NUMBER: 817630 Submission date: 2 April 2014 Total: 100 Do this assignment 2
Chapters 1 &2 1. What is the most important difference between generic software product development and custom software development? What might this mean in practice for users of generic software products? [10]
2. Based on your own knowledge of some of the application types discussed, explain, with examples, why different application types require specialized software engineering techniques to support their design and development.[9]
3. Considering the reuse-based process model in your work environment. Explain why it is essential to have two separate requirements engineering activities in the process. [6]
4. Explain why change is inevitable in complex systems and give examples (apart from prototyping and incremental delivery) of software process activities that help predict changes and make the software being developed more resilient to change.[8]
Chapter 3
5. When would you recommend against the use of an agile method for developing a software system? [4]
6. As a team leader suggest four reasons why the productivity rate of programmers working as a pair might be more than half that of two programmers working individually.[6]
Chapter 4
30 7. You have been employed in AXY company as a system developer, explain to director the distinction between functional and non-functional requirements? [4]
8. What are the main advantages of using a standard format to specify requirements? [4]
9. What checks should be applied during requirements validation? [5]
10. Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and non-functional requirements. [6]
Chapter 5
11. What perspectives may be used for system modelling? [4]
Chapter 8 12. Explain why testing can only detect the presence of errors, not their absence. [5]
13. What is regression testing? Explain how the use of automated tests and a testing framework simplifies regression testing. [5]
Chapter10
14. A multimedia virtual museum system offering virtual experiences of ancient Greece is to be developed for a consortium of European museums. The system should provide users with the facility to view 3-D models of ancient Greece through a standard web browser and should also support an immersive virtual reality experience. What political and organizational difficulties might arise when the system is installed in the museums that make up the consortium? [8]
15. Why is system integration a particularly critical part of the systems development process? Suggest three sociotechnical issues that may cause difficulties in the system integration process.[6]
Chapter 14
16. Members in your work environment think that application and infrastructure security engineering are the same. Explain to them the differences between application security engineering and infrastructure security engineering [4]
Chapter 20
17. Explain why an object-oriented approach to software development may not be suitable for real-time systems [6]
UNIQUE NUMBER: 821209 Total:100 Submission date: 16 Sept.2014 Do this assignment 2 Chapter 1 1. Apart from the challenges of heterogeneity, business and social change and trust and security, identify other problems and challenges that software engineering is likely to face in the 21st century (hint: think about the environment). [10]
Chapter2
2. Giving reasons for your answer based on the type of system being developed in your work environment , suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems: [8]
A system to control anti-lock braking in a car A virtual reality system to support software maintenance A university accounting system that replaces an existing system An interactive travel planning system that helps users plan journeys with the lowest environmental impact
3. Suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process. [6]
4. What are the advantages of providing static and dynamic views of the software process as in the Rational Unified Process? [8]
Chapter 3
5. Explain how the principles underlying agile methods lead to the accelerated development and deployment of software. [10]
6. Extreme programming expresses user requirements as stories, with each story written on a card. Discuss the advantages and disadvantages of this approach to requirements description.[10]
Chapter4
32 7. As a system developer, explain to your team members types of non-functional requirement? [6]
8. Give 5 reasons why eliciting requirements is difficult? [5]
Chapter 5
9. Your manager expects you to inform him how already existing system might be used. Elaborate on how you might use a model of a system that already exists? Explain why it is not always necessary for such a system model to be complete and correct. Would the same be true if you were developing a model of a new system? [10]
Chapter 8
10. What is regression testing? Explain how the use of automated tests and a testing framework such as JUnit regression testing. [8]
Chapter 10
11. Explain why the environment in which a computer-based system is installed may have unanticipated effects on the system that lead to system failure. Illustrate your answer with a different example from used in this chapter. [8]
Chapter 14
12. Explain how the complementary strategies of resistance, recognition and recovery may be used to enhance the survivability of a system. [6]
Chapter 19
13. What are the most important distinctions between services and software components? [5]