Вы находитесь на странице: 1из 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.



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]

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]