32
INF3705/101/3/2014 Tutorial Letter 101/3/2014 Advanced Systems Development (Information Systems) INF3705 Semesters 1 & 2 School of Computing IMPORTANT INFORMATION: This tutorial letter contains important information about your module.

inf3705_101_2014_3_b

Embed Size (px)

DESCRIPTION

UNISA Tutorial Letter 101 2014

Citation preview

  • INF3705/101/3/2014

    Tutorial Letter 101/3/2014

    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:[email protected]

    3.2 Department

    Type here

    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 [email protected].

    (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 7th 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

    PLENGOHighlight

  • 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]

    Submission Date: 04 March 2014

    Prescribed

    Unique Number: 859963

    Total: 100

    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. 1. accuracy 2. complexity

    3. efficiency 4. quality

    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?

    1. algorithmic performance 2. code stability 3. error handling

    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? 1. analysis, design, coding, testing 2. planning, analysis, design, coding 3. planning, analysis, coding, testing 4. planning, design, coding, testing

    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?

    1. Configuration analysis 2. Content analysis 3. Functional analysis 4. Market analysis

    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?

  • INF3705/101

    25

    1. Communications components 2. Database components 3. Interface components 4. Memory management components

    28. In the architecture trade-off analysis method the architectural style should be described using the

    1. data flow view 2. module view 3. process view 4. all of the above

    29. A useful technique for evaluating the overall complexity of a proposed architecture is to look at the component

    1. cohesion 2. sharing dependencies 3. size

    Chapter 7

    30. Which of the following is not a characteristic common to all design methods?

    1. configuration management 2. functional component representation 3. quality assessment guidelines

    4. refinement heuristics

    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 1. Impact analysis 2. Release planning 3. Change implementation 4. System checks

    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? 1. Platform-level protection.

    2. Application-level protection.

    3. Record-level protection.

    4. Usage level protection

  • INF3705/101

    29

    Semester 1: Assignment 2: 2014 [for first semester learners only]

    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]

  • INF3705/101

    31

    Semester 2: Assignment 2: 2014 [For second semester learners only]

    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]