School of Computing / Skool vir Rekenaarkunde - Name
School of Computing / Skool vir Rekenaarkunde - Name
School of Computing / Skool vir Rekenaarkunde - Name
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Advanced Systems Analysis and Development<br />
Gevorderde Stelselontleding en Ontwikkeling<br />
INF305F / SWE401I / SED401I<br />
Tutorial Letter 101 / Studiebrief 101<br />
READ THIS FIRST – IT INCLUDES COMPULSORY ASSIGNMENTS.<br />
LEES EERSTE – DIT BEVAT VERPLIGTE WERKOPDRAGTE.<br />
Please see the important notice on the first page with regard to rules for<br />
examination admission for 2009.<br />
Let asseblief op die belangrike nota op die eerste bladsy m.b.t. reëls <strong>vir</strong><br />
eksamentoelating <strong>vir</strong> 2009.<br />
<strong>School</strong> <strong>of</strong> <strong>Computing</strong> / <strong>Skool</strong> <strong>vir</strong> <strong>Rekenaarkunde</strong><br />
INF305F/101/2009<br />
SWE401I/101/2009<br />
SED401I/101/2009
Important notice:<br />
2<br />
Since 2005 the national Department <strong>of</strong> Education has required that in order to be considered<br />
for examination admission a student must submit at least one assignment before 20 June<br />
2009.<br />
Belangrike nota:<br />
Vanaf 2005 vereis die nasionale Departement van Opvoeding dat, om <strong>vir</strong> eksamentoelating<br />
in aanmerking te kom, moet 'n student ten minste een werkopdrag voor 20 Junie 2009<br />
indien.<br />
Hierdie studiebrief is slegs in Engels beskikbaar. Indien u sukkel om sekere dele van die<br />
inhoud te verstaan, kontak gerus u dosente.<br />
Note that the course material for INF305F, SED401I and SWE401I is the same. You are<br />
registered for one <strong>of</strong> the three codes if you receive this tutorial letter. The prescribed book<br />
and assignments are the same. Please read through all the tutorial matter carefully to ensure<br />
that you understand the necessary procedures applicable to the course.<br />
Assignments<br />
For detailed information and requirements as far as assignments are concerned, see the booklet<br />
Services and procedures, which you received with your tutorial matter.<br />
To submit an assignment via myUnisa, do the following:<br />
1 Go to myUnisa.<br />
2 Log in with your student number and password.<br />
3 Select the module from the orange bar.<br />
4 Click on assignments in the left menu.<br />
5 Click on the number <strong>of</strong> the assignment you want to submit.<br />
6 Follow the instructions.<br />
The Department <strong>of</strong> Despatch should supply you with Tutorial letter 101 and Tutorial letter 501 (the<br />
study guide) Some <strong>of</strong> this tutorial matter may not be available when you register. We suggest that you<br />
download the material from the Osprey website (sections 3.3 and 8.3).Tutorial matter that is not<br />
available when you register will be posted to you as soon as possible.<br />
Inventory letter: When you register, you will receive an inventory letter containing information about<br />
your tutorial matter. See also the Services and procedures booklet (which you received with your<br />
tutorial matter).
3<br />
Contents<br />
INF305F/ SWE401I/SED401I /101<br />
1 INTRODUCTION ......................................................................................................................................... 5<br />
2 ABOUT THIS MODULE .............................................................................................................................. 5<br />
3 COMMUNICATION WITH UNISA AND FELLOW STUDENTS................................................................. 5<br />
3.1 WHOM TO PHONE FOR WHAT? .................................................................................................................... 5<br />
3.2 COMMUNICATION CHANNELS ...................................................................................................................... 6<br />
3.3 INTERNET ACCESS TO ONLINE MATERIAL AND DISCUSSION FORUM ................................................................ 6<br />
3.4 DISCUSSION FORUM .................................................................................................................................. 7<br />
3.5 EMAIL ....................................................................................................................................................... 9<br />
3.6 PHONE CALLS ........................................................................................................................................... 8<br />
3.7 NO FAXING PLEASE ................................................................................................................................... 8<br />
3.8 WRITTEN COMMUNICATION ........................................................................................................................ 8<br />
3.9 COMMUNICATION WITH OTHER MODULE STUDENTS ...................................................................................... 9<br />
4 ISSUES PERTAINING TO THIS MODULE ................................................................................................ 9<br />
4.1 PREREQUISITE SKILLS ............................................................................................................................... 9<br />
4.2 COOPERATIVE LEARNING (GROUP WORK) ................................................................................................... 9<br />
5 STUDY MATERIAL .................................................................................................................................... 9<br />
5.1 PRESCRIBED TEXTBOOK ............................................................................................................................ 9<br />
5.2 STUDY GUIDE .......................................................................................................................................... 10<br />
6 SYLLABUS .................................................................................... ERROR! BOOKMARK NOT DEFINED.<br />
7 EXAMINATION MATTERS ...................................................................................................................... 11<br />
7.1 ENQUIRIES ABOUT DATES AND VENUES ..................................................................................................... 11<br />
7.2 A SPECIAL EXAMINATION TUTORIAL LETTER ............................................................................................... 11<br />
7.3 EXAMINATION ADMISSION ........................................................................................................................ 11<br />
8 FREQUENTLY ASKED QUESTIONS ...................................................................................................... 12<br />
8.1 I CANNOT FIND THE TEXTBOOK ................................................................................................................. 12<br />
8.2 I HAVE NOT RECEIVED CERTAIN STUDY MATERIAL ...................................................................................... 12<br />
8.3 DOWNLOADING STUDY MATERIAL FROM THE WEB ...................................................................................... 12<br />
8.4 I WANT TO FORM A STUDY GROUP – WHERE DO I FIND THE OTHER STUDENTS? ............................................ 13<br />
8.5 WHEN DO I GET MY ASSIGNMENT BACK? ................................................................................................... 13<br />
8.6 WHAT MARKS DID I GET FOR MY ASSIGNMENT? ......................................................................................... 13<br />
9 ASSIGNMENT MATTERS ........................................................................................................................ 13<br />
9.1 DUE DATES ............................................................................................................................................. 13<br />
9.2 STRUCTURE OF THE ASSIGNMENTS .......................................................................................................... 14<br />
Page
4<br />
9.3 YEAR MARK ............................................................................................................................................ 14<br />
9.4 MODEL SOLUTIONS .................................................................................................................................. 14<br />
9.5 SUBMITTING AN ASSIGNMENT ................................................................................................................... 14<br />
9.6 HAVE WE RECEIVED YOUR ASSIGNMENT? ................................................................................................. 15<br />
9.7 RELATION BETWEEN ASSIGNMENTS AND THE EXAMINATION ........................................................................ 15<br />
ASSIGNMENT 1 ................................................................................................................................................ 16<br />
ASSIGNMENT 2 ................................................................................................................................................ 30<br />
ASSIGNMENT 3 ................................................................................................................................................ 45<br />
ASSIGNMENT 4 ................................................................................................................................................ 50
1 Introduction<br />
5<br />
INF305F/ SWE401I/SED401I /101<br />
We present you with a comprehensive first tutorial letter to assist you in the best possible way<br />
to make sure that you have effective interaction with the lecturers for this module.<br />
2 About this module<br />
“When computer s<strong>of</strong>tware succeeds – when it meets the needs <strong>of</strong> the people who use it,<br />
when it performs flawlessly over a long period <strong>of</strong> time, when it is easy to modify and even<br />
easier to use – it can and does change things for the better. But when s<strong>of</strong>tware fails – when<br />
its users are dissatisfied, when it is error prone, when it is difficult to change and even harder<br />
to use – bad things can and do happen” (Pressman, 2005).<br />
This is the opening paragraph <strong>of</strong> the prescribed book, S<strong>of</strong>tware engineering: A practitioner’s<br />
approach by Roger S Pressman, and it summarises the goal <strong>of</strong> this module – looking at the<br />
actions involved in building and maintaining s<strong>of</strong>tware from a s<strong>of</strong>tware engineering approach.<br />
Prescribing a relevant, usable, user-friendly, affordable textbook is a particularly difficult task.<br />
We went through a number <strong>of</strong> books in search <strong>of</strong> a prescribed book that addresses the<br />
important issues in s<strong>of</strong>tware engineering, and we finally decided on Pressman’s book. He is a<br />
well-known author in this specific application domain, and we believe that the students taking<br />
this course will gain not only from the chapters that we cover in depth but also from the<br />
chapters that we designate as reading material.<br />
We trust that you will find the course interesting and enriching!<br />
3 Communication with Unisa and fellow students<br />
3.1 Whom to phone for what?<br />
You should have received a booklet called Services and procedures during registration. This<br />
booklet contains all the important telephone numbers that you may need during this year.<br />
Consult it for the necessary contact people. (Part 1 <strong>of</strong> the Calendar contains much <strong>of</strong> this<br />
information, too.) Please do not telephone the lecturers for services supplied by support<br />
departments. In respect <strong>of</strong> all administrative enquiries, use only the telephone and fax <strong>of</strong> the<br />
Unisa Contact Centre. Enquiries will then be channelled to the respective departments.
• Calls – RSA only: 0861 670 411<br />
• International calls: +27 11 670 9000<br />
• Fax number: 012 429 4150 / +27 12 429 4150<br />
• Email: study-info@unisa.ac.za<br />
• Lecturers for this module COS-ALL/2009 tutorial letter<br />
6<br />
COMMUNICATION WITH THE UNIVERSITY<br />
Contact addresses <strong>of</strong> the various administrative departments are included in Services and<br />
procedures. Always have your student number at hand when you call the University.<br />
Departmental telephone numbers are available in one <strong>of</strong> the COS-ALL tutorial letters.<br />
3.2 Communication channels<br />
To increase the efficiency <strong>of</strong> managing this course, we have prioritised our communication<br />
channels. Too much time is <strong>of</strong>ten wasted on inefficiency, so that students have to call Unisa<br />
repeatedly or have to hold on until they get through to the right person, before finally resolving<br />
the query they had. By placing a priority on the communication channel, we provide a<br />
guarantee <strong>of</strong> a rapid response time. In the following table, we list the available communication<br />
channels in order <strong>of</strong> highest to lowest priority and then discuss each one in the subsequent<br />
paragraphs.<br />
Channel Advantages General response time<br />
Discussion<br />
forum<br />
Internet<br />
access<br />
Transparency – students <strong>of</strong>ten experience the same types <strong>of</strong> problems,<br />
and if a query is placed on the discussion forum, everybody has access<br />
to the question as well as its answer.<br />
Much <strong>of</strong> the material that is available in printed form is available much<br />
sooner on the web for downloading.<br />
Email Please use the course email address. Do not send mail to lecturers<br />
directly.<br />
The same or next working<br />
day<br />
Immediately<br />
The same or next working<br />
day<br />
Telephone Immediately, if available<br />
Written letters Within 2–6 weeks<br />
3.3 Internet access to online material and discussion forum<br />
We have a departmental web server that is used as internet access for students enrolled for<br />
Computer Science or Information System modules. It is also accessible through the<br />
addresses http://osprey.unisa.ac.za, http://it.unisa.ac.za, or http://cs.unisa.ac.za.<br />
To access the material and the discussion forums, click on the Registered Student tab, click<br />
on your courses, submit, and refresh the screen. The material and discussion forum will be on
7<br />
INF305F/ SWE401I/SED401I /101<br />
your left-hand side. The login and access code for 2009 will be given in a general tutorial<br />
letter to students, but it could be as follows:<br />
Login: MYDOWNLOAD<br />
Password: SOC2009<br />
During January 2009 the login/password combination for downloads will change from<br />
MYDOWNLOAD/SOC2008 to MYDOWNLOAD/SOC2009. However, 2008 material may no<br />
longer be available for download in January 2009. You must therefore ensure that you have<br />
downloaded all the material you may require for supplementary examinations by 31 December<br />
2008!!<br />
The course material for the <strong>School</strong> <strong>of</strong> <strong>Computing</strong> is available only on the Computer Science<br />
and Information Systems departmental web server and not on myUnisa.<br />
Unisa also has other web servers. An important one is the myUnisa server. This server is one<br />
<strong>of</strong> the Unisa servers that provide student administration services where you can do electronic<br />
submissions <strong>of</strong> assignments, check your records, and so on.<br />
3.4 Discussion forum<br />
Each web page has a unique discussion forum. This is different from the general discussion<br />
forum that Unisa provides on the myUnisa server. In this course we will use the discussion<br />
forum that can be found on the IT server for course-related matters. Because the discussion<br />
forum on myUnisa is cluttered with all the courses on the same forum, we find it very difficult<br />
to have serious discussions among all the opinions that are aired there.<br />
We use the discussion forum as our main communication channel. If you have internet<br />
access, please access it regularly (once a week is fine). If you do not have internet access,<br />
do not worry; we will not put any new learning matter on the discussion forum. We use it to<br />
clear up problems and give some quick advice on queries that come in. For example, if a<br />
number <strong>of</strong> students contact us with a particular question on an assignment, we display<br />
comments and hints on that question so that everyone can see how to approach a solution.<br />
To access the discussion forum for this module, you must set up your browser only once. The<br />
procedure is the same as the one described in section 3.3. The first time that you go to the<br />
departmental website, go to osprey.unisa.ac.za, click on the Registered Student tab, click on<br />
your courses, submit, refresh the screen, and the discussion forum will be on your left-hand<br />
side.
3.5 Email<br />
We earnestly request that you use the discussion forum for all electronic communication.<br />
There are different threads in the discussion forum. Please use it to direct all your queries;<br />
and please use the module discussion forum instead <strong>of</strong> the module email.<br />
8<br />
Reserve your email messages for highly personal matters. The email address for this module<br />
is inf305@osprey.unisa.ac.za – please put your student number and course number next to<br />
the subject line; otherwise it may be deleted as spam.<br />
Please do not use the personal email addresses <strong>of</strong> the lecturing staff. The above address will<br />
ensure that your email will be answered even if a particular lecturer is not available.<br />
3.6 Phone calls<br />
You are more than welcome to call us, but please consult your tutorial letters first to see<br />
whether we have not already addressed your queries. Since most students experience the<br />
same problems, we address the most common problems in the tutorial letters.<br />
Remember that we are sometimes not available due to other departmental or university<br />
duties. If you fail to reach us directly, please call the departmental secretary, who will be able<br />
to inform you about when we will be available or will take a message, in which case you<br />
should state the reason for your call and your name, student number and telephone number.<br />
The departmental secretary’s number is 012 429 6122.<br />
3.7 No faxing please<br />
Due to the high cost, our department has a policy <strong>of</strong> not faxing material to students. However,<br />
we do get quite a number <strong>of</strong> students faxing us, for example to request extensions on certain<br />
assignments, and requesting that we contact them in return. Facsimiles place an<br />
unnecessary administrative burden on the staff since there is only one fax machine in the<br />
<strong>of</strong>fice <strong>of</strong> a secretary. However, each lecturer has a telephone and email facilities on his/her<br />
desk. With large modules, the burden simply becomes too large to carry if the lecturers have<br />
to go looking for faxes. Please, if you need to contact us urgently, use the discussion forum,<br />
phone or email.<br />
3.8 Written communication<br />
Please mention your student number in all written communication. All academic matters can<br />
be addressed to:<br />
The Registrar<br />
Unisa
PO Box 392<br />
Pretoria<br />
0003<br />
Letters on any aspects regarding the module should be addressed to:<br />
The Lecturer (INF305F/SWE401I/SED401I)<br />
<strong>School</strong> <strong>of</strong> <strong>Computing</strong><br />
Unisa<br />
PO Box 392<br />
Pretoria<br />
0003<br />
3.9 Communication with other module students<br />
9<br />
INF305F/ SWE401I/SED401I /101<br />
Phone the Unisa Contact Centre and ask for a list <strong>of</strong> students <strong>of</strong> this module in your<br />
en<strong>vir</strong>onment, or join our discussion forum and start communicating with other students.<br />
4 Issues pertaining to this module<br />
4.1 Prerequisite skills<br />
Students enrolled for this module must have a background in systems analysis and design<br />
obtained through previous undergraduate course work.<br />
4.2 Cooperative learning (group work)<br />
In this module you may work in groups, but each person must submit his/her own<br />
assignment. Take note that members <strong>of</strong> a group cannot all submit a copy <strong>of</strong> the same<br />
assignment; each person must submit his/her own assignment, using his/her own words to<br />
describe the solution. If you work in a group, it is important to say who worked together, so<br />
that we can evaluate submitted assignments in that light.<br />
5 Study material<br />
5.1 Prescribed textbook<br />
The following textbook (referred to as Pressman in the remaining text) is prescribed for this<br />
module:
Pressman, Roger S. 2005. S<strong>of</strong>tware engineering: A practitioner’s approach. 6th edition.<br />
McGraw-Hill.<br />
10<br />
• Important: According to McGraw-Hill, the 7th edition will be available in March 2009.<br />
However, do not buy the 7th edition. At the time <strong>of</strong> setting this tutorial letter, we did not<br />
have access to the 7th edition and therefore cannot prescribe it for 2009! All the<br />
bookshops will be urged to buy the 6th edition, and we do not take responsibility if you buy<br />
the wrong one.<br />
• A hardcover and s<strong>of</strong>tcover copy are available. The s<strong>of</strong>tcover copy is much cheaper than<br />
the hardcover copy.<br />
• Please buy the book as soon as you register for the course. More than one university<br />
prescribes the book, and if you wait until May to buy it, you will probably not find a copy.<br />
• Note that Pressman will be cheaper if you buy it in South Africa at a local bookstore than<br />
from an online bookstore. At the time <strong>of</strong> writing this tutorial letter, the price at American<br />
online bookstores was between $110 and $120. We recommend that you first phone the<br />
list <strong>of</strong> bookstores in Services and procedures to get the local price for the book before<br />
using an online store.<br />
Please consult the list <strong>of</strong> <strong>of</strong>ficial booksellers and their addresses in Services and procedures.<br />
If you have any difficulty obtaining books from these bookshops, please ring the Contact<br />
Centre as soon as possible.<br />
5.2 Study guide<br />
We do not wish to burden you with much more reading material than is already accessible<br />
through the textbook. In Tutorial letter 501 you will find answers to selected questions at the<br />
end <strong>of</strong> some <strong>of</strong> the chapters included in this course.<br />
6 Syllabus<br />
We use the textbook and additional material that we send out in the form <strong>of</strong> tutorial letters.<br />
The 6th edition <strong>of</strong> S<strong>of</strong>tware engineering: A practitioner’s approach contains 32 chapters<br />
organised into five parts. The book is approximately 900 pages in length. For this course, only<br />
the following will be covered:<br />
Chapter heading Comments Pages to<br />
study<br />
Chapter 1: S<strong>of</strong>tware and s<strong>of</strong>tware engineering Study 19<br />
Chapter 2: Process: A generic review Study 24<br />
Chapter 3: Prescriptive process models Study 25
Chapter 4: Agile development Study 23<br />
Chapter 5: Practice: A generic view Study 25<br />
Chapter 6: Systems engineering Read 29<br />
Chapter 7: Requirements engineering Study 32<br />
Chapter 8: Analysis modelling Study 50<br />
Chapter 9: Design engineering Study 27<br />
Chapter 10: Architectural design Study (10.1–10.3) 11<br />
Chapter 11: Component-level design Study 31<br />
Chapter 13: S<strong>of</strong>tware testing strategies Study 33<br />
Chapter 14: S<strong>of</strong>tware testing techniques Study (14.1–14.3) 4<br />
Chapter 16: Web engineering Study 13<br />
Total number <strong>of</strong> pages: 306<br />
7 Examination matters<br />
7.1 Enquiries about dates and venues<br />
11<br />
INF305F/ SWE401I/SED401I /101<br />
Unisa is an enormous institution and we, the lecturers, have nothing to do with examinations<br />
except for setting the paper – long before October/November – and receiving the papers<br />
afterwards for marking. We can therefore not give you any relevant information regarding<br />
examination dates or venues. Please ring the Contact Centre for examination details. Take<br />
note <strong>of</strong> the dates <strong>of</strong> your examinations and arrange with your employer for leave in good time.<br />
Check that there are no clashes on your examination timetable. Should there be any such<br />
clashes, kindly inform the Contact Centre without delay or Examination Administration (fax<br />
012 429 4150 or email exams@unisa.ac.za or).<br />
7.2 A special examination tutorial letter<br />
A special examination tutorial letter will be sent to you informing you <strong>of</strong> any issues regarding<br />
the paper – such as the format <strong>of</strong> the paper, text to be omitted (if any), etc.<br />
7.3 Examination admission<br />
You gain admission to the examination by submitting one assignment before 20 June 2009.<br />
Note that this assignment must be done satisfactorily. For a written assignment or answer you<br />
maynot submit just one or two sentences. For assignments in multiple-choice format, you<br />
may not submit an empty assignment – you have to select an answer for each question. For<br />
your year mark (see section 9.3) you need to submit Assignment 3.
8 Frequently asked questions<br />
12<br />
There are various reasons why you may wish to contact Unisa. However, too <strong>of</strong>ten you are<br />
put on hold and have to go from one person to another before you finally reach the correct<br />
person. Therefore, in this section, in this section we provide a list <strong>of</strong> common reasons why<br />
students contact us and information on how to address these problems in the most efficient<br />
and quickest possible way.<br />
8.1 I cannot find the textbook<br />
As previously mentioned, Pressman’s book is a very popular one, and more than one<br />
university prescribes it. Please buy the book as soon as possible to ensure that you do not<br />
have difficulty in obtaining it later on.<br />
Do not contact the lecturers if you have problems obtaining the textbook. Unfortunately we<br />
cannot help with the availability <strong>of</strong> textbooks since we have no contact with the book dealers.<br />
Use the following guidelines if you experience difficulty in obtaining a textbook:<br />
1 If your university book dealer does not have the book in stock, ask them to put your<br />
name on their order list so that they can contact you as soon as the new stock arrives.<br />
2 If your university book dealer cannot help you, call the Contact Centre for further advice.<br />
8.2 I have not received certain study material<br />
Printed material is distributed only by the Despatch Department. Unfortunately our<br />
department does not have the facilities to fax copies <strong>of</strong> any study material. You can also visit<br />
our website (osprey.unisa.ac.za) and download the specific material if it is available (see<br />
section 3.3). Please note that you need to access the INF305F course code, even if you are<br />
registered for SWE401I or SED401I, in order to gain access to the course material.<br />
8.3 Downloading study material from the web<br />
Please note the following:<br />
• Due to copyright regulations, we will not necessarily place all the material on the web.<br />
• The material placed on the web will be in PDF format. Please download the PDF reader<br />
from our website and install it on your machine (once).<br />
Set up your browser as indicated in section 3.4 on the discussion forum. The downloadable<br />
material for each course is listed on the right-hand side <strong>of</strong> our web page. To download, do the<br />
following:
1 Click on a specific course.<br />
2 Select the file that you want to download, by right-clicking on it.<br />
3 Choose the option "Save as" and save on your hard drive.<br />
13<br />
INF305F/ SWE401I/SED401I /101<br />
8.4 I want to form a study group – where do I find the other students?<br />
The lecturers may not distribute any personal information about any student. However, on the<br />
registration form that each student completes at the beginning <strong>of</strong> the academic year/term, the<br />
University requires to know whether or not it may distribute the student’s contact details to<br />
other students. This information is available via the Contact Centre. If you need contact<br />
information about other students in your area, the Contact Centre can assist you in obtaining<br />
the necessary information.<br />
8.5 When do I get my assignment back?<br />
Turnaround time for marking is commonly between 4 and 5 weeks. If you have not received<br />
your assignment back after this time, please read the discussion forum to see if any delays<br />
are being experienced, or phone the Contact Centre.<br />
8.6 What marks did I get for my assignment?<br />
As soon as your assignment is marked, the mark will be displayed on the myUnisa system.<br />
Usually the multiple-choice assignment marks are available 2 to 3 weeks after the due date.<br />
Written assignments may take longer.<br />
9 Assignment matters<br />
There are four assignments for this course. To gain examination admission you need to<br />
complete either assignment 1 or assignment 2. To gain a year mark, you must submit<br />
Assignment 3. We advise you to complete all the assignments to prepare yourself for the<br />
exams.<br />
9.1 Due dates<br />
ASSIGNMENT DUE DATE NOTICE<br />
Assignment 1 Multiple-choice 28 March 2009 Used for exam admission<br />
Assignment 2 – Multiple-choice 1 May 2009 Used for exam admission<br />
Assignment 3 – Written 5 July 2009 Used for year mark calculation<br />
Assignment 4 – Self-evaluation
9.2 Structure <strong>of</strong> the assignments<br />
Assignments are structured as either multiple-choice or written assignments.<br />
Multiple-choice assignments<br />
14<br />
Two <strong>of</strong> the four assignments are multiple-choice assignments, which should either be<br />
completed on the computer mark-reading sheet issued to you during registration, or be<br />
submitted electronically through myUnisa. Each <strong>of</strong> the multiple-choice assignments is marked<br />
electronically on a predetermined date. For example, if the submission date for a particular<br />
assignment is 28 March and the scheduled marking date is 28 March, then all submitted<br />
assignments will be marked through batch processing by the computer one or two days after<br />
the due date.<br />
Written assignments<br />
Assignments 3 and 4 are written assignments. Assignment 3 is used to determine your year<br />
mark. Assignment 4 is for self-evaluation and can be used to provide additional examples in<br />
your preparation for the November/January examination.<br />
9.3 Year mark<br />
Each module leader may decide which assignments will count towards the year mark. For<br />
INF305F/SED401I/SWE401I you will receive a possible mark out <strong>of</strong> 10, which will count<br />
towards your final mark for the year. For this module, we will use the mark that you receive for<br />
Assignment 3.<br />
9.4 Model solutions<br />
Model solutions for Assignments 1 to 3 will be posted to the module website 2 to 3 weeks<br />
after the due date <strong>of</strong> each assignment. A single printed version <strong>of</strong> solutions will also be sent<br />
to you.<br />
9.5 Submitting an assignment<br />
You can submit your assignments in several ways:<br />
1 electronically through the myUnisa server<br />
2 by postal mail<br />
3 by placing them in one <strong>of</strong> Unisa’s assignment boxes<br />
Postal or assignment-box submission <strong>of</strong> an assignment<br />
1 Complete your assignment and place it in an assignment cover provided during<br />
registration.
15<br />
INF305F/ SWE401I/SED401I /101<br />
2 Put your assignment in an envelope and submit it using the postal mail or one <strong>of</strong> Unisa’s<br />
assignment mail boxes.<br />
Electronic submission <strong>of</strong> an assignment<br />
1 Click on the electronic submission link on myUnisa for INF305F, SWE401I or SED401I<br />
(depending on which one you are registered for) and complete your answers on the<br />
sheet provided for the applicable assignment.<br />
2 Upload your assignment.<br />
9.6 Have we received your assignment?<br />
If you used myUnisa to upload your assignment, you should immediately see that the<br />
assignment is on the system, next to the applicable assignment in the assignment list. If not,<br />
re-enter your answers. If you used the postal system, check myUnisa 2 to 3 days after<br />
submitting your assignment. If it is not on the system, resubmit your assignment. Always keep<br />
copies <strong>of</strong> your answers so as to be able to give us a copy in case something goes wrong.<br />
It is your responsibility to check whether your assignment was received by Unisa or not. We<br />
will be lenient with problems until one week after the due date. After this date we will not<br />
consider any pleas regarding lost assignments.<br />
9.7 Relation between assignments and the examination<br />
Our assignments are designed with at least two goals in mind:<br />
1 to make sure that you actually go through the work during the year and don't try to do it<br />
all in the week before the examinations (this is accomplished through the multiple-choice<br />
questions given to you in the assignments)<br />
2 to teach you how to think and argue critically on issues in this module
Assignment 1<br />
16<br />
Submission date: 28 March 2009<br />
Credits: 70 credits<br />
Unique number: 523111 for INF305F; 150308 for SED401I; 536357 for SWE401I<br />
Notice: This is one <strong>of</strong> the two possible assignments that you can complete<br />
for examination admission. Assignment 1 relates to chapters 1–7.<br />
Chapter 1<br />
1 S<strong>of</strong>tware deteriorates rather than wears out because ______.<br />
1 s<strong>of</strong>tware suffers from exposure to hostile en<strong>vir</strong>onments<br />
2 defects are more likely to arise after s<strong>of</strong>tware has been used <strong>of</strong>ten<br />
3 multiple change requests introduce errors in component interactions<br />
4 s<strong>of</strong>tware spare parts become harder to order<br />
2 Most s<strong>of</strong>tware continues to be custom-built because ______.<br />
1 component reuse is common in the s<strong>of</strong>tware world<br />
2 reusable components are too expensive to use<br />
3 s<strong>of</strong>tware is easier to build without using someone else’s components<br />
4 <strong>of</strong>f-the-shelf s<strong>of</strong>tware components are available in many application domains<br />
3 The nature <strong>of</strong> s<strong>of</strong>tware applications can be characterised by their information ______.<br />
1 complexity<br />
2 content<br />
3 determinacy<br />
4 Both 2 and 3.<br />
4 Modern s<strong>of</strong>tware applications are so complex that it is hard to develop mutually exclusive<br />
category names.<br />
1 true<br />
2 false<br />
5 The so-called “new economy” that gripped commerce and finance during the 1990s died<br />
and no longer influences decisions made by businesses and s<strong>of</strong>tware engineers.<br />
1 true<br />
2 false
17<br />
INF305F/ SWE401I/SED401I /101<br />
6 The functionality <strong>of</strong> most computer systems does not need to be enhanced during the<br />
lifetime <strong>of</strong> the system.<br />
1 true<br />
2 false<br />
7 Change cannot be easily accommodated in most s<strong>of</strong>tware systems, unless the system<br />
was designed with change in mind.<br />
1 true<br />
2 false<br />
Chapter 2<br />
8 Which <strong>of</strong> the items listed below is not one <strong>of</strong> the s<strong>of</strong>tware engineering layers?<br />
1 process<br />
2 manufacturing<br />
3 methods<br />
4 tools<br />
9 Which <strong>of</strong> these are the five generic s<strong>of</strong>tware engineering framework activities?<br />
1 communication, planning, modelling, construction, deployment<br />
2 communication, risk management, measurement, production, reviewing<br />
3 analysis, designing, programming, debugging, maintenance<br />
4 analysis, planning, designing, programming, testing<br />
10 Process models are described as agile because they ______.<br />
1 eliminate the need for cumbersome documentation<br />
2 emphasise manoeuvrability and adaptability<br />
3 do not waste development time on planning activities<br />
4 make extensive use <strong>of</strong> prototype creation<br />
11 Which <strong>of</strong> these terms are level names in the Capability Maturity Model?<br />
1 performed<br />
2 repeated<br />
3 reused<br />
4 optimised<br />
5 Both 1 and 4.
12 Which <strong>of</strong> these are standards for assessing s<strong>of</strong>tware processes?<br />
1 SEI<br />
2 SPICE<br />
3 ISO 19002<br />
4 ISO 9001<br />
5 Both 2 and 4.<br />
18<br />
13 The best s<strong>of</strong>tware process model is one that has been created by the people who will<br />
actually be doing the work.<br />
1 true<br />
2 false<br />
14 Which <strong>of</strong> these is not a characteristic <strong>of</strong> the personal s<strong>of</strong>tware process (PSP)?<br />
1 emphasises personal measurement <strong>of</strong> work product<br />
2 practitioner requires careful supervision by the project manager<br />
3 individual practitioner is responsible for estimating and scheduling<br />
4 practitioner is empowered to control quality <strong>of</strong> s<strong>of</strong>tware work products<br />
15 Which <strong>of</strong> these are objectives <strong>of</strong> the team s<strong>of</strong>tware process (TSP)?<br />
1 Accelerate s<strong>of</strong>tware process improvement.<br />
2 Allow better time management by highly trained pr<strong>of</strong>essionals.<br />
3 Build self-directed s<strong>of</strong>tware teams.<br />
4 Show managers how to reduce costs and sustain quality.<br />
5 Both 1 and 3.<br />
Chapter 3<br />
16 The linear sequential model <strong>of</strong> s<strong>of</strong>tware development is ______.<br />
1 a reasonable approach when requirements are well defined<br />
2 a good approach when a working program is required quickly<br />
3 the best approach to use for projects with large development teams<br />
4 an old-fashioned model that cannot be used in a modern context<br />
17 The linear sequential model <strong>of</strong> s<strong>of</strong>tware development is also known as the ______.<br />
1 classical life cycle model<br />
2 fountain model<br />
3 spiral model<br />
4 waterfall model<br />
5 Both 1 and 4.
18 The incremental model <strong>of</strong> s<strong>of</strong>tware development is ______.<br />
1 a reasonable approach when requirements are well defined<br />
2 a good approach when a working core product is required quickly<br />
3 the best approach to use for projects with large development teams<br />
4 a revolutionary model that is not used for commercial products<br />
19 The rapid application development model is ______.<br />
1 another name for component-based development<br />
2 a useful approach when a customer cannot define requirements clearly<br />
3 a high-speed adaptation <strong>of</strong> the linear sequential model<br />
4 All <strong>of</strong> the above.<br />
20 Evolutionary s<strong>of</strong>tware process models ______.<br />
1 are iterative in nature<br />
2 can easily accommodate product requirements changes<br />
3 do not generally produce throwaway systems<br />
4 All <strong>of</strong> the above.<br />
21 The prototyping model <strong>of</strong> s<strong>of</strong>tware development is ______.<br />
1 a reasonable approach when requirements are well defined<br />
2 a useful approach when a customer cannot define requirements clearly<br />
3 the best approach to use for projects with large development teams<br />
4 a risky model that rarely produces a meaningful product<br />
22 The spiral model <strong>of</strong> s<strong>of</strong>tware development ______.<br />
1 ends with the delivery <strong>of</strong> the s<strong>of</strong>tware product<br />
2 is more chaotic than the incremental model<br />
3 includes project risk evaluation during each iteration<br />
4 All <strong>of</strong> the above.<br />
23 The concurrent development model is ______.<br />
1 another name for the rapid application development model<br />
2 <strong>of</strong>ten used for the development <strong>of</strong> client/server applications<br />
3 used only for the development <strong>of</strong> parallel or distributed systems<br />
4 used whenever a large number <strong>of</strong> change requests are anticipated<br />
19<br />
INF305F/ SWE401I/SED401I /101
20<br />
24 The component-based development model ______.<br />
1 is appropriate only for computer hardware design<br />
2 is not able to support the development <strong>of</strong> reusable components<br />
3 works best when object technologies are available for support<br />
4 is not cost-effective by known quantifiable s<strong>of</strong>tware metrics<br />
25 Rapid application development (RAD) is ______.<br />
1 an evolutionary process model<br />
2 a waterfall model<br />
3 a prescriptive model<br />
4 an incremental process model<br />
5 a specialised process model<br />
26 The spiral model is ______.<br />
1 an evolutionary process model<br />
2 a waterfall model<br />
3 a prescriptive model<br />
4 an incremental process model<br />
5 a specialised process model<br />
Chapter 4<br />
27 Which <strong>of</strong> the following is not necessary for applying agility to a s<strong>of</strong>tware process?<br />
1 eliminate the use <strong>of</strong> project planning and testing<br />
2 only essential work products are produced<br />
3 process allows team to streamline tasks<br />
4 uses incremental product delivery strategy<br />
28 How do you create agile processes to manage unpredictability?<br />
1 Requirements gathering must be conducted very carefully.<br />
2 Risk analysis must be conducted before planning takes place.<br />
3 S<strong>of</strong>tware increments must be delivered in short time periods.<br />
4 S<strong>of</strong>tware processes must adapt to changes incrementally.<br />
5 Both 3 and 4.
21<br />
INF305F/ SWE401I/SED401I /101<br />
29 If members <strong>of</strong> the s<strong>of</strong>tware team are to drive the characteristics <strong>of</strong> the process that is<br />
applied to build s<strong>of</strong>tware, a number <strong>of</strong> key traits must exist among the people on an agile<br />
team and the team itself. Which one <strong>of</strong> the following is not a key trait listed by Pressman?<br />
1 competence<br />
2 common focus<br />
3 self-organisation<br />
4 fuzzy problem-solving ability<br />
5 managerial ability<br />
30 What are the four framework activities found in the extreme programming (XP) process<br />
model?<br />
1 analysis, design, coding, testing<br />
2 planning, analysis, design, coding<br />
3 planning, analysis, coding, testing<br />
4 planning, design, coding, testing<br />
31 What are the three framework activities for the adaptive s<strong>of</strong>tware development (ASD)<br />
process model?<br />
1 analysis, design, coding<br />
2 feasibility study, functional model iteration, implementation<br />
3 requirements gathering, adaptive cycle planning, iterative development<br />
4 speculation, collaboration, learning<br />
32 Which is not one <strong>of</strong> the key questions that are answered by each team member at each<br />
daily scrum meeting?<br />
1 What have you done since the last meeting?<br />
2 What obstacles are you encountering?<br />
3 What is the cause <strong>of</strong> the problems you are encountering?<br />
4 What do you plan to accomplish at the next team meeting?<br />
33 In considering extreme programming as a method for your new registration system at the<br />
university, you will be committed to using ______.<br />
1 the object-oriented approach<br />
2 the waterfall method<br />
3 a life-cycle approach<br />
4 All <strong>of</strong> the above.
22<br />
34 In feature-driven development (FDD) a “feature” is a client-valued function that can be<br />
delivered in two months or less.<br />
1 true<br />
2 false<br />
35 Agile modelling (AM) provides guidance to the practitioner during which <strong>of</strong> these s<strong>of</strong>tware<br />
tasks?<br />
1 analysis<br />
2 design<br />
3 coding<br />
4 testing<br />
5 Both 1 and 2.<br />
Chapter 5<br />
36 S<strong>of</strong>tware engineering practice involves ______.<br />
1 the s<strong>of</strong>tware engineers<br />
2 the managers <strong>of</strong> s<strong>of</strong>tware engineers<br />
3 both s<strong>of</strong>tware engineers and the managers <strong>of</strong> s<strong>of</strong>tware engineers.<br />
37 During practice it is important to understand the problem, plan a solution, carry out the<br />
plan and examine the result for accuracy. As a s<strong>of</strong>tware engineer involved in the<br />
enhancement <strong>of</strong> a registration system at a university, you will be involved for the first<br />
phase, understanding the problem, in ______.<br />
1 the identification <strong>of</strong> similar problems and the way that a solution is found for the<br />
problem<br />
2 the identification <strong>of</strong> the management staff who will be responsible for the system and<br />
the registration staff who will use the system<br />
3 testing whether all the components for the solution are correct<br />
4 the examination <strong>of</strong> the solution to see if it is possible to test each component part <strong>of</strong><br />
the solution<br />
5 None <strong>of</strong> the above.
23<br />
INF305F/ SWE401I/SED401I /101<br />
38 During practice it is important to understand the problem, plan a solution, carry out the<br />
plan and examine the result for accuracy. As a s<strong>of</strong>tware engineer involved in the<br />
enhancement <strong>of</strong> a registration system at a university, you will be involved for the second<br />
phase, planning the solution, in ______.<br />
1 identifying similar problems and the way that a solution is found for the problem<br />
2 identifying the management staff who will be responsible for the system and the<br />
registration staff who will use the system<br />
3 testing whether all the components for the solution are correct<br />
4 examining the solution to see if it is possible to test each component part <strong>of</strong> the<br />
solution<br />
5 None <strong>of</strong> the above.<br />
39 A s<strong>of</strong>tware system exists for one reason: to provide its users with value. What is the<br />
essential question to ask during the specification <strong>of</strong> a system requirement for the<br />
registration system?<br />
1 Is the requirement feasible?<br />
2 Are there enough resources to implement the requirement?<br />
3 Does this add real value to the system?<br />
4 Will the users use this requirement?<br />
5 None <strong>of</strong> the above.<br />
40 Before customer requirements can be analysed, modelled or specified, they must be<br />
gathered through a communication activity. During development <strong>of</strong> the university<br />
registration system, you organise a meeting with the registration staff who will use the<br />
system. You do not understand the mechanism in place for payments. You want to use<br />
the communication principles provided by Pressman for communication. What do you<br />
do?<br />
1 You reschedule the meeting and study the documents available on payments.<br />
2 You insist that your understanding <strong>of</strong> the system is best; you are going to be<br />
responsible for the implementation and proceed to the next point on the agenda.<br />
3 You allow a cool down period and plan to get back to the payment issue at a later<br />
stage.<br />
4 You use the principle, if something is unclear, <strong>of</strong> drawing a picture.<br />
5 None <strong>of</strong> the above.
24<br />
41 During planning the s<strong>of</strong>tware engineer should ______.<br />
1 include the customer in the activity<br />
2 estimate based on what he knows<br />
3 be realistic in what he can do<br />
4 include a quality insurance plan<br />
5 All <strong>of</strong> the above.<br />
42 The behaviour <strong>of</strong> the s<strong>of</strong>tware must be represented for analysis methods. The behaviour<br />
<strong>of</strong> computer s<strong>of</strong>tware is driven by its interaction with the external en<strong>vir</strong>onment. Which <strong>of</strong><br />
the following causes the s<strong>of</strong>tware to behave in a specific way?<br />
1 input by the end-users<br />
2 control data provided by an external system<br />
3 monitoring data collected over a network<br />
4 1, 2 and 3.<br />
5 None <strong>of</strong> the above.<br />
43 Which one <strong>of</strong> the following is a rule that can serve well for testing objectives?<br />
1 Testing is a process <strong>of</strong> executing a program with the intent <strong>of</strong> finding an error.<br />
2 A good test case is one that has a high probability <strong>of</strong> finding an as yet undiscovered<br />
error.<br />
3 A successful test is one that uncovers an as yet undiscovered error.<br />
4 1, 2 and 3.<br />
5 None <strong>of</strong> the above.<br />
44 Which <strong>of</strong> the following is not one <strong>of</strong> Hooker’s core principles <strong>of</strong> s<strong>of</strong>tware engineering<br />
practice?<br />
1 All design should be as simple as possible, but no simpler.<br />
2 A s<strong>of</strong>tware system exists only to provide value to its users.<br />
3 The Pareto principle (20% <strong>of</strong> any product requires 80% <strong>of</strong> the effort).<br />
4 Remember that what you produce others will consume.<br />
5 None <strong>of</strong> the above.<br />
45 S<strong>of</strong>tware engineers collaborate with customers to define which <strong>of</strong> the following?<br />
1 customer visible usage scenarios<br />
2 important s<strong>of</strong>tware features<br />
3 system inputs and outputs<br />
4 1 and 3.<br />
5 All <strong>of</strong> the above.
25<br />
INF305F/ SWE401I/SED401I /101<br />
46 Which <strong>of</strong> the following activities is not one <strong>of</strong> the nine things that need to be<br />
accomplished by the generic planning task set?<br />
1 Develop overall project strategy.<br />
2 Identify the functionality to deliver in each s<strong>of</strong>tware increment.<br />
3 Create a detailed schedule for the complete s<strong>of</strong>tware project.<br />
4 Devise a means <strong>of</strong> tracking progress on a regular basis.<br />
5 All <strong>of</strong> the above activities.<br />
47 Which <strong>of</strong> the following is not one <strong>of</strong> the principles <strong>of</strong> good coding?<br />
1 Create unit tests before you begin coding.<br />
2 Create a visual layout that aids understanding.<br />
3 Keep variable names short so that code is compact.<br />
4 Write self-documenting code, not program documentation.<br />
5 All are principles <strong>of</strong> good coding.<br />
48 Which <strong>of</strong> the following is a task / are tasks in the generic task set for construction?<br />
1 Build a s<strong>of</strong>tware component.<br />
2 Create a user interface.<br />
3 Unit test the component.<br />
4 Assess the quality <strong>of</strong> the component.<br />
5 Both 1 and 3.<br />
49 Which <strong>of</strong> the following is a valid reason / are valid reasons for collecting customer<br />
feedback concerning delivered s<strong>of</strong>tware?<br />
1 Allows developers to make changes to the delivered increment.<br />
2 Delivery schedule can be revised to reflect changes.<br />
3 Developers can identify changes to incorporate into next increment.<br />
4 1 and 2.<br />
5 1, 2 and 3.<br />
Chapter 6<br />
50 Which <strong>of</strong> the following can be elements <strong>of</strong> computer-based systems?<br />
1 documentation<br />
2 s<strong>of</strong>tware<br />
3 people<br />
4 hardware<br />
5 All <strong>of</strong> the above
51 The system engineering process usually begins with the ______.<br />
1 detailed view<br />
2 domain view<br />
3 element view<br />
4 world view<br />
5 1 and 3.<br />
26<br />
52 To construct a system model, the engineer should consider which <strong>of</strong> the following<br />
restraining factors?<br />
1 assumptions<br />
2 budget<br />
3 constraints<br />
4 schedule<br />
5 Both 1 and 3.<br />
53 During business process engineering, three different architectures are examined:<br />
1 applications, data, technology infrastructure<br />
2 communications, organisation, financial infrastructure<br />
3 network, database, reporting structure<br />
4 systems, requirements, data structure<br />
5 None <strong>of</strong> the above.<br />
54 Which element(s) <strong>of</strong> business processing engineering is/are the responsibility <strong>of</strong> the<br />
s<strong>of</strong>tware engineer?<br />
1 business area analysis<br />
2 business system design<br />
3 construction and integration<br />
4 information strategy planning<br />
5 Both 2 and 3.<br />
Chapter 7<br />
55 During project inception the intent <strong>of</strong> the tasks is to determine ______.<br />
1 basic problem understanding<br />
2 the nature <strong>of</strong> the solution needed<br />
3 people who want a solution<br />
4 None <strong>of</strong> the above.<br />
5 1, 2 and 3.
27<br />
INF305F/ SWE401I/SED401I /101<br />
56 Three things that make requirements elicitation difficult are problems <strong>of</strong> ______.<br />
1 budgeting<br />
2 scope<br />
3 understanding<br />
4 volatility<br />
5 2, 3 and 4.<br />
57 The result <strong>of</strong> the requirements engineering elaboration task is an analysis model that<br />
defines which <strong>of</strong> the following problem domains?<br />
1 information<br />
2 functional<br />
3 behavioural<br />
4 All <strong>of</strong> the above.<br />
5 1 and 3.<br />
58 The system specification describes the ______.<br />
1 function, performance and constraints <strong>of</strong> a computer-based system<br />
2 implementation <strong>of</strong> each allocated system<br />
3 element s<strong>of</strong>tware architecture<br />
4 time required for system simulation<br />
5 None <strong>of</strong> the above.<br />
59 The best way to conduct a requirements validation review is to ______.<br />
1 examine the system model for errors<br />
2 have the customer look over the requirements<br />
3 send them to the design team and see if they have any concerns<br />
4 use a checklist <strong>of</strong> questions to examine each requirement<br />
5 None <strong>of</strong> the above.<br />
60 The use <strong>of</strong> traceability tables helps to ______.<br />
1 debug programs following the detection <strong>of</strong> run-time errors<br />
2 determine the performance <strong>of</strong> algorithm implementations<br />
3 identify, control, and track requirements changes<br />
4 Both 1 and 3.<br />
5 None <strong>of</strong> the above.
28<br />
61 Which <strong>of</strong> the following is not one <strong>of</strong> the context-free questions that would be used during<br />
project inception?<br />
1 What will be the economic benefit accruing from a good solution?<br />
2 Who is against this project?<br />
3 Who will pay for the work?<br />
4 Who will use the solution?<br />
5 None <strong>of</strong> the above.<br />
62 Which <strong>of</strong> the following is not a UML diagram used in creating a systems analysis model?<br />
1 activity diagram<br />
2 class diagram<br />
3 dataflow diagram<br />
4 state diagram<br />
5 None <strong>of</strong> the above.<br />
63 Which one <strong>of</strong> the following is not a requirements engineering function?<br />
1 inception<br />
2 elicitation<br />
3 negotiation<br />
4 modelling<br />
5 validation<br />
64 ______ is a technique that translates the needs <strong>of</strong> the customer into technical<br />
requirements for s<strong>of</strong>tware.<br />
1 Configuration management<br />
2 User requirements translation<br />
3 Quality function deployment<br />
4 S<strong>of</strong>tware translation<br />
5 Technical translation<br />
65 For your registration system developed for the university, you need to involve several<br />
parties during requirements elicitation. Who will not be involved in this process?<br />
1 s<strong>of</strong>tware engineers<br />
2 managers<br />
3 customers<br />
4 end users<br />
5 All <strong>of</strong> the above will be involved in the requirements elicitation process.
29<br />
INF305F/ SWE401I/SED401I /101<br />
66 From a s<strong>of</strong>tware process perspective, requirements engineering is a s<strong>of</strong>tware<br />
engineering action that begins during the ______ activity and continues into the<br />
modelling activity.<br />
1 negotiation<br />
2 communication<br />
3 specification<br />
4 planning<br />
5 None <strong>of</strong> the above.<br />
67 There are a number <strong>of</strong> reasons why requirements elicitation is difficult. Within your<br />
registration system the users complain that they are not completely sure what is needed.<br />
According to Christel and Kang, this can be categorised as a problem <strong>of</strong> ______.<br />
1 scope<br />
2 understanding<br />
3 volatility<br />
4 planning<br />
5 None <strong>of</strong> the above.<br />
68 Which one <strong>of</strong> the following is not a guideline during collaborative requirements<br />
gathering?<br />
1 The goal is to identify the problem.<br />
2 Rules <strong>of</strong> preparation and participation are established.<br />
3 A facilitator controls the meeting.<br />
4 Requirements are captured using illustrative diagrams.<br />
5 None <strong>of</strong> the above.<br />
69 Which one <strong>of</strong> these requirements is implicit in the product or system and may be so<br />
fundamental that the customer does not explicitly state them?<br />
1 normal requirements<br />
2 abnormal requirements<br />
3 expected requirements<br />
4 exciting requirements<br />
5 None <strong>of</strong> the above.<br />
70 The first step in writing a use-case is to ______.<br />
1 define the set <strong>of</strong> “actors” that will be involved in the story<br />
2 define the different scenarios<br />
3 identify the different use cases<br />
4 define the objects<br />
5 None <strong>of</strong> the above.
Assignment 2<br />
30<br />
Submission date: 1 May 2009<br />
Credits: 0 credits<br />
Unique number: 523112 for INF305F; 523113 for SED401I; 536358 for SWE401I<br />
Notice: This is one <strong>of</strong> the two possible assignments that you can complete<br />
for examination admission. Assignment 2 relates to chapters 8–10,<br />
13, 14 and 16.<br />
Chapter 8<br />
1 Which <strong>of</strong> the following is not an objective for building an analysis model?<br />
1 Define a set <strong>of</strong> s<strong>of</strong>tware requirements that can be validated.<br />
2 Describe customer requirements.<br />
3 Develop an abbreviated solution for the problem.<br />
4 Establish a basis for s<strong>of</strong>tware design.<br />
5 Answers 1-4 are all objectives for building an analysis model.<br />
2 The data dictionary contains descriptions <strong>of</strong> each s<strong>of</strong>tware ______.<br />
1 control item<br />
2 data object<br />
3 diagram<br />
4 notation<br />
5 Both 1 and 2.<br />
3 Which <strong>of</strong> these are not elements <strong>of</strong> an object-oriented analysis model?<br />
1 behavioural elements<br />
2 class-based elements<br />
3 data elements<br />
4 scenario-based elements<br />
5 Answers 1–4 are all elements <strong>of</strong> the object-oriented analysis model.<br />
4 The relationships shown in a data model must be classified to show their ______.<br />
1 cardinality<br />
2 directionality<br />
3 modality<br />
4 probability<br />
5 Both 1 and 3.
5 The entity relationship diagram ______.<br />
1 depicts relationships between data objects<br />
2 depicts functions that transform the data flow<br />
3 indicates how data are transformed by the system<br />
4 indicates system reactions to external events<br />
5 All <strong>of</strong> the above are characteristics <strong>of</strong> the entity relationship diagram.<br />
6 A generalised description <strong>of</strong> a collection <strong>of</strong> similar objects is a ______.<br />
1 class<br />
2 instance<br />
3 subclass<br />
4 superclass<br />
5 None <strong>of</strong> the above.<br />
31<br />
INF305F/ SWE401I/SED401I /101<br />
7 UML activity diagrams are useful in representing which analysis model elements?<br />
1 behavioural elements<br />
2 class-based elements<br />
3 flow-based elements<br />
4 scenario-based elements<br />
5 None <strong>of</strong> the above.<br />
8 The data flow diagram ______.<br />
1 depicts relationships between data objects<br />
2 depicts functions that transform the data flow<br />
3 indicates how data are transformed by the system<br />
4 indicates system reactions to external events<br />
5 Both 2 and 3.<br />
9 Control flow diagrams are ______.<br />
1 needed to model event-driven systems<br />
2 required for all systems<br />
3 used in place <strong>of</strong> data flow diagrams<br />
4 useful for modelling real-time systems<br />
5 Both 1 and 4.
32<br />
10 Which <strong>of</strong> the following should be considered as candidate objects in a problem space?<br />
1 events<br />
2 people<br />
3 structures<br />
4 Both 1 and 3.<br />
5 All <strong>of</strong> the above.<br />
11 Which <strong>of</strong> the following is not one <strong>of</strong> the broad categories used to classify operations?<br />
1 computation<br />
2 data manipulation<br />
3 event monitors<br />
4 transformers<br />
5 Both 1 and 3.<br />
12 Which <strong>of</strong> the following items do/does not appear on a CRC card?<br />
1 class collaborators<br />
2 class name<br />
3 class reliability<br />
4 class responsibilities<br />
5 Both 3 and 4.<br />
13 Class responsibilities are defined by ______.<br />
1 its attributes only<br />
2 its collaborators<br />
3 its operations only<br />
4 both its attributes and its operations<br />
5 both its attributes and its collaborators<br />
14 Events occur whenever ______.<br />
1 an actor and the OO system exchange information<br />
2 a class operation is invoked<br />
3 messages are passed between objects<br />
4 Both 2 and 3.<br />
5 All <strong>of</strong> the above.
15 The state diagram ______.<br />
1 depicts relationships between data objects<br />
2 depicts functions that transform the data flow<br />
3 indicates how data are transformed by the system<br />
4 indicates system reactions to external events<br />
5 None <strong>of</strong> the above.<br />
16 For purposes <strong>of</strong> behaviour modelling a state is any ______.<br />
1 consumer or producer <strong>of</strong> data<br />
2 data object hierarchy<br />
3 observable mode <strong>of</strong> behaviour<br />
4 well-defined process<br />
5 None <strong>of</strong> the above.<br />
17 ______ results in the specification <strong>of</strong> s<strong>of</strong>tware operational characteristics.<br />
1 Requirements analysis<br />
2 Analysis modelling<br />
3 Design modelling<br />
4 Domain analysis<br />
5 None <strong>of</strong> the options above.<br />
So urc e s o f<br />
domain<br />
knowledge<br />
Technical literature<br />
Existing applications<br />
a.<br />
Expert advice<br />
Current/future<br />
requirements<br />
><br />
><br />
><br />
><br />
33<br />
Domain<br />
analysis<br />
Class taxonomies<br />
Re use sta nd a rd s<br />
Func tiona l<br />
models<br />
> ><br />
Domain<br />
languages<br />
INF305F/ SWE401I/SED401I /101<br />
18 Study the following figure, which illustrates the input and output for domain analysis:<br />
><br />
><br />
><br />
><br />
Domain<br />
analysis<br />
model<br />
Which one <strong>of</strong> the following is the missing input (marked a.) into domain analysis?<br />
1 customer interviews<br />
2 customer surveys<br />
3 questionnaires<br />
4 personal communication<br />
5 documentation
19 Requirements analysis ______.<br />
1 results in the specification <strong>of</strong> s<strong>of</strong>tware’s operational characteristics<br />
2 indicates s<strong>of</strong>tware’s interface with other system elements<br />
3 establishes constraints that s<strong>of</strong>tware must meet<br />
4 Both 1 and 2.<br />
5 1, 2 and 3.<br />
34<br />
20 Cardinality is a data-modelling concept used to ______.<br />
1 indicate the relationship between two objects<br />
2 show that the relationship is optional<br />
3 define the attributes for an object<br />
4 define the methods for an object<br />
5 None <strong>of</strong> the above.<br />
21 Modality is a concept used to ______.<br />
1 indicate the relationship between two objects<br />
2 show that the relationship is optional<br />
3 define the attributes for an object<br />
4 define the methods for an object<br />
5 None <strong>of</strong> the above.<br />
Chapter 9<br />
22 Which <strong>of</strong> the following are areas <strong>of</strong> concern in the design model?<br />
1 architecture<br />
2 data<br />
3 interfaces<br />
4 project scope<br />
5 1, 2 and 3.<br />
23 The importance <strong>of</strong> s<strong>of</strong>tware design can be summarised by the word(s), ______.<br />
1 accuracy<br />
2 complexity<br />
3 efficiency<br />
4 quality<br />
5 Both 1 and 2.
24 Which <strong>of</strong> these is/are characteristic <strong>of</strong> a good design?<br />
1 exhibits strong coupling between its modules<br />
2 implements all requirements in the analysis model<br />
3 includes test cases for all components<br />
4 provides a complete picture <strong>of</strong> the s<strong>of</strong>tware<br />
5 Both 2 and 4.<br />
25 Which <strong>of</strong> the following is/are not common to all design methods?<br />
1 configuration management<br />
2 functional component<br />
3 notation quality assessment<br />
4 guidelines for refinement heuristics<br />
5 Both 3 and 4.<br />
26 What types <strong>of</strong> abstraction are used in s<strong>of</strong>tware design?<br />
1 control<br />
2 data<br />
3 en<strong>vir</strong>onmental<br />
4 procedural<br />
5 1, 2 and 4.<br />
35<br />
INF305F/ SWE401I/SED401I /101<br />
27 Which <strong>of</strong> the following models can be used to represent the architectural design <strong>of</strong> a<br />
piece <strong>of</strong> s<strong>of</strong>tware?<br />
1 dynamic models<br />
2 functional models<br />
3 structural models<br />
4 All <strong>of</strong> the above.<br />
5 Only 2 and 3.<br />
28 Polymorphism reduces the effort required to extend an object system by ______.<br />
1 coupling objects together more tightly<br />
2 enabling a number <strong>of</strong> different operations to share the same name<br />
3 making objects more dependent on one another<br />
4 removing the barriers imposed by encapsulation<br />
5 None <strong>of</strong> the above.
29 Which <strong>of</strong> the following is not one <strong>of</strong> the five design class types?<br />
36<br />
1 business domain classes<br />
2 entity classes<br />
3 process classes<br />
4 user interface classes<br />
5 All <strong>of</strong> the above are design class types.<br />
30 Which design model elements are used to depict a model <strong>of</strong> information represented<br />
from the user’s view?<br />
1 architectural design elements<br />
2 component-level design elements<br />
3 data design elements<br />
4 interface design elements<br />
5 None <strong>of</strong> the above.<br />
31 Cohesion is a qualitative indication <strong>of</strong> the degree to which a module ______.<br />
1 can be written more compactly<br />
2 focuses on just one thing<br />
3 is able to complete its function in a timely manner<br />
4 is connected to other modules and the outside world<br />
5 None <strong>of</strong> the above.<br />
32 Coupling is a qualitative indication <strong>of</strong> the degree to which a module ______.<br />
1 can be written more compactly<br />
2 focuses on just one thing<br />
3 is able to complete its function in a timely manner<br />
4 is connected to other modules and the outside world<br />
5 None <strong>of</strong> the above.<br />
33 Which design is analogous to the floor plan <strong>of</strong> a house?<br />
1 architectural design<br />
2 component-level design<br />
3 data design<br />
4 interface design<br />
5 None <strong>of</strong> the above.
37<br />
INF305F/ SWE401I/SED401I /101<br />
34 Which design model is analogous to the detailed drawings <strong>of</strong> the access points and<br />
external utilities for a house?<br />
1 architectural design<br />
2 component-level design<br />
3 data design<br />
4 interface design<br />
5 None <strong>of</strong> the above.<br />
35 What is the primary work product that is produced during s<strong>of</strong>tware design?<br />
1 a design model that encompasses architectural, interface, component-level and<br />
deployment representatives<br />
2 the s<strong>of</strong>tware design<br />
3 the interface design<br />
4 the data design<br />
5 None <strong>of</strong> the above.<br />
Chapter 10<br />
36 The data design action translates data objects defined as part <strong>of</strong> the analysis model into<br />
______ at the s<strong>of</strong>tware component level.<br />
1 database architecture<br />
2 database services<br />
3 data structures<br />
4 networks<br />
5 None <strong>of</strong> the above.<br />
37 Data mining is also known as ______.<br />
1 data warehousing<br />
2 knowledge discovery in databases<br />
3 database knowledge<br />
4 data dictionaries<br />
5 None <strong>of</strong> the above.<br />
38 A data warehouse ______.<br />
1 is a separate data en<strong>vir</strong>onment that is not directly integrated with day-to-day<br />
applications<br />
2 encompasses all data used by a business<br />
3 is a large independent database that has access to the data that are stored in<br />
databases that serve the set <strong>of</strong> applications required by a business<br />
4 is used in data mining<br />
5 All <strong>of</strong> the above.
39 Data design at the component level focuses on the representation <strong>of</strong> ______.<br />
1 database architecture<br />
2 database services<br />
3 data structures<br />
4 networks<br />
5 None <strong>of</strong> the above.<br />
38<br />
40 The s<strong>of</strong>tware that is built for computer-based systems also exhibits one <strong>of</strong> many<br />
architectural styles. Each style describes a system category that encompasses ______.<br />
1 a set <strong>of</strong> components that perform a function required by a system<br />
2 a set <strong>of</strong> connectors that enable "communication, coordination, and cooperation" to<br />
take place among components.<br />
3 constraints that define how components can be integrated to form the system<br />
4 semantic models that enable a designer to understand the overall properties <strong>of</strong> a<br />
system by analysing the known properties <strong>of</strong> its constituent parts<br />
5 All <strong>of</strong> the above.<br />
41 A data-centred architecture promotes ______.<br />
1 integrability<br />
2 integrity<br />
3 undependability<br />
4 accessibility<br />
5 None <strong>of</strong> the above.<br />
42 A data-flow architecture uses a(n) ______ structure.<br />
1 ebb and flow<br />
2 pipe and flow<br />
3 pipe and filter<br />
4 filter and flow<br />
5 None <strong>of</strong> the above.<br />
43 Within a layered architecture, a number <strong>of</strong> different layers are defined, each ______.<br />
1 defining one single function<br />
2 accomplishing operations that progressively become closer to the machine<br />
instruction set<br />
3 accomplishing operations that progressively become closer to the user interface set<br />
4 accomplishing operations that progressively become closer to the application layer<br />
5 None <strong>of</strong> the above.
Chapter 11<br />
39<br />
INF305F/ SWE401I/SED401I /101<br />
44 Which <strong>of</strong> the following is not one <strong>of</strong> the four principles used to guide component-level<br />
design?<br />
1 dependency inversion principle<br />
2 interface segregation principle<br />
3 open-closed principle<br />
4 parsimonious complexity principle<br />
5 All <strong>of</strong> the above.<br />
45 In component design, elaboration requires which <strong>of</strong> the following elements to be<br />
described in detail?<br />
1 source code<br />
2 attributes<br />
3 interfaces<br />
4 operations<br />
5 2,3 and 4.<br />
Chapter 13<br />
46 The best reason for using independent s<strong>of</strong>tware test teams is that ______.<br />
1 s<strong>of</strong>tware developers do not need to do any testing<br />
2 a test team will test the s<strong>of</strong>tware more thoroughly<br />
3 testers do not get involved with the project until testing begins<br />
4 arguments between developers and testers are reduced<br />
5 All <strong>of</strong> the above.<br />
47 What is the normal order <strong>of</strong> activities in which traditional s<strong>of</strong>tware testing is organised?<br />
a integration testing<br />
b system testing<br />
c unit testing<br />
d validation testing<br />
1 a, d, c, b<br />
2 b, d, a, c<br />
3 c, a, d, b<br />
4 d, b, c, a<br />
5 None <strong>of</strong> the above.
40<br />
48 Which <strong>of</strong> the following strategic issues needs to be addressed in a successful s<strong>of</strong>tware<br />
testing process?<br />
1 conducting formal technical reviews prior to testing<br />
2 specifying requirements in a quantifiable manner<br />
3 using independent test teams<br />
4 waiting till code is written prior to writing the test plan<br />
5 Both 1 and 2.<br />
49 Which <strong>of</strong> the following need to be assessed during unit testing?<br />
1 algorithmic performance<br />
2 code stability<br />
3 error handling<br />
4 execution paths<br />
5 Both 3 and 4.<br />
50 Top-down integration testing has as its major advantage(s) that ______.<br />
1 low-level modules never need testing<br />
2 major decision points are tested early<br />
3 no drivers need to be written<br />
4 no stubs need to be written<br />
5 Both 2 and 3.<br />
51 Bottom-up integration testing has as its major advantage(s) that ______.<br />
1 major decision points are tested early<br />
2 no drivers need to be written<br />
3 no stubs need to be written<br />
4 regression testing is not required<br />
5 All <strong>of</strong> the above.<br />
52 Regression testing should be a normal part <strong>of</strong> integration testing, because as a new<br />
module is added to the system, new ______.<br />
1 control logic is invoked<br />
2 data flow paths are established<br />
3 drivers require testing<br />
4 All <strong>of</strong> the above.<br />
5 Both 1 and 2.
53 Smoke testing might best be described as ______.<br />
41<br />
1 bulletpro<strong>of</strong>ing shrink-wrapped s<strong>of</strong>tware<br />
2 rolling integration testing<br />
3 testing that hides implementation errors<br />
4 unit testing for small programs<br />
5 None <strong>of</strong> the above.<br />
54 The OO testing integration strategy involves testing ______.<br />
INF305F/ SWE401I/SED401I /101<br />
1 groups <strong>of</strong> classes that collaborate or communicate in some way<br />
2 single operations as they are added to the evolving class implementation<br />
3 operator programs derived from use-case scenarios<br />
4 None <strong>of</strong> the above.<br />
55 Acceptance tests are normally conducted by the ______.<br />
1 developer<br />
2 end user<br />
3 test team<br />
4 systems engineer<br />
5 All <strong>of</strong> the above.<br />
Chapter 14<br />
56 A s<strong>of</strong>tware engineer should design and implement a computer-based system or a<br />
product with ______ in mind.<br />
1 testability<br />
2 conformity<br />
3 errors<br />
4 characteristics<br />
5 None <strong>of</strong> the above.<br />
57 Operability means that the better it works, ______.<br />
1 the more expensive it becomes<br />
2 the cheaper it becomes<br />
3 the more efficiently it can be tested<br />
4 the more complex it becomes<br />
5 All <strong>of</strong> the above.
42<br />
58 Stability refers to the following: the ______ the changes, the fewer the disruptions to<br />
testing.<br />
1 more<br />
2 fewer<br />
3 more completed<br />
4 easier<br />
5 None <strong>of</strong> the above.<br />
59 Using white-box testing methods, the s<strong>of</strong>tware engineer can derive test cases that<br />
______.<br />
1 guarantee that all independent paths within a module have been exercised at least<br />
once<br />
2 exercise all logical decisions on their true and false sides<br />
3 execute all loops at their boundaries and within their operational bounds<br />
4 exercise internal data structures to ensure their validity<br />
5 All <strong>of</strong> the above.<br />
60 Black-box testing alludes to tests that are conducted at the ______.<br />
1 procedural level<br />
2 architectural level<br />
3 s<strong>of</strong>tware interface<br />
4 hardware interface<br />
5 None <strong>of</strong> the above.<br />
Chapter 16<br />
61 Which <strong>of</strong> the following is not a characteristic <strong>of</strong> a WebApp?<br />
1 content-driven<br />
2 continuously evolving<br />
3 easily measurable<br />
4 network-intensive<br />
5 All <strong>of</strong> the above<br />
62 Which <strong>of</strong> these application categories are commonly encountered in WebE work?<br />
1 informational<br />
2 transactional-oriented<br />
3 portal<br />
4 All <strong>of</strong> the above.
63 Which process model best describes WebE?<br />
1 linear model<br />
2 incremental model<br />
3 formal model<br />
4 All <strong>of</strong> the above.<br />
64 Which <strong>of</strong> the following technologies is important to web engineers?<br />
1 component-based development<br />
2 internet standards<br />
3 security<br />
4 All <strong>of</strong> the above.<br />
43<br />
INF305F/ SWE401I/SED401I /101<br />
65 Which <strong>of</strong> the following is not one <strong>of</strong> the characteristics that we need to take into account<br />
when a process framework for WebE is formulated?<br />
1 Changes occur frequently.<br />
2 Graphic design expertise is hard to acquire.<br />
3 Timelines are short.<br />
4 WebApps are delivered incrementally.<br />
5 All <strong>of</strong> the above.<br />
66 During the analysis/formulation step <strong>of</strong> the WebE process, two types <strong>of</strong> goals need to be<br />
defined:<br />
1 applicative goals and aesthetic goals<br />
2 applicative goals and informational goals<br />
3 information goals and performance goals<br />
4 aesthetic goals and performance goals<br />
5 All <strong>of</strong> the above.<br />
67 Which activities are conducted during the WebE modelling process?<br />
1 content analysis<br />
2 refine user tasks<br />
3 design architecture<br />
4 All <strong>of</strong> the above.<br />
5 None <strong>of</strong> the above.
68 Which test(s) is/are not performed during WebE construction?<br />
1 configuration<br />
2 navigation<br />
3 reliability<br />
4 usability<br />
5 None <strong>of</strong> the above are performed.<br />
44<br />
69 WebE is usually delivered to users untested and then debugged as user complaints are<br />
registered.<br />
1 true<br />
2 false<br />
70 Since web applications are fairly standard, it is not important for developers to<br />
understand the customer’s business needs and objectives.<br />
1 true<br />
2 false
Assignment 3<br />
45<br />
INF305F/ SWE401I/SED401I /101<br />
Submission date: 5 July 2009<br />
This assignment is used to determine your year mark!<br />
Credits: 100 credits<br />
Notice: Assignment 3 relates to chapters 3–5, 7–10, 13, 14 and 16.<br />
Total: 100<br />
Choose the correct answer to each <strong>of</strong> the following questions and write the correct number in<br />
your assignment:<br />
1 Process models are described as agile because they ______.<br />
1 eliminate the need for cumbersome documentation<br />
2 emphasise manoeuvrability and adaptability<br />
3 do not waste development time on planning activities<br />
4 make extensive use <strong>of</strong> prototype creation<br />
2 The rapid application development model is ______.<br />
1 another name for component-based development<br />
2 a useful approach when a customer cannot define requirements clearly<br />
3 a high-speed adaptation <strong>of</strong> the linear sequential model<br />
4 All <strong>of</strong> the above.<br />
3 In considering extreme programming as a method for your new registration system at<br />
the university, you will be committed to using ______.<br />
1 the object-oriented approach<br />
2 the waterfall method<br />
3 a life-cycle approach<br />
4 All <strong>of</strong> the above.<br />
4 A s<strong>of</strong>tware system exists for one reason: to provide its users with value. What is the<br />
essential question to ask during the specification <strong>of</strong> a system requirement for the<br />
registration system?<br />
1 Is the requirement feasible?<br />
2 Are there enough resources to implement the requirement?<br />
3 Does this add real value to the system?<br />
4 Will the users use this requirement?<br />
5 None <strong>of</strong> the above.
Complete the following:<br />
46<br />
5 The system engineering process usually begins with the ______ view. (1)<br />
6 The system specification describes the ______. (2)<br />
7 The relationships shown in a data model must be classified to show their ______<br />
and ______. (2)<br />
8 The importance <strong>of</strong> s<strong>of</strong>tware design can be summarised in a single word, namely<br />
______. (1)<br />
9 S<strong>of</strong>tware engineering is a layered technology. Give a graphical representation <strong>of</strong><br />
the s<strong>of</strong>tware engineering layers and a brief description <strong>of</strong> the function <strong>of</strong> each<br />
layer. (8)<br />
10 You are asked to develop word-processing s<strong>of</strong>tware. You decide to follow the<br />
incremental model.<br />
10.1 Give a short overview <strong>of</strong> the incremental model approach. (2)<br />
10.2 How could the incremental model approach be used to develop the proposed<br />
word-processing s<strong>of</strong>tware? (2)<br />
11 You are the project manager <strong>of</strong> a dynamic cellphone company with two million<br />
cellphone users. Your company is considering the redevelopment <strong>of</strong> the billing<br />
s<strong>of</strong>tware. Write a report to management in which you explain why you would not<br />
consider evolutionary process models for this project. (6)<br />
12 Scrum emphasises the use <strong>of</strong> a set <strong>of</strong> ‘s<strong>of</strong>tware process patterns’ that have<br />
proven effective for projects with tight time limits, changing requirements and<br />
business criticality. Each <strong>of</strong> these process patterns defines a set <strong>of</strong> development<br />
activities. Being a developer at a small s<strong>of</strong>tware development company, you prefer<br />
the use <strong>of</strong> Scrum as development methodology. Give an overview <strong>of</strong> the<br />
development activities, and describe how you would use them in developing an<br />
inventory system for a medium-scaled company. (8)<br />
13 Consider the following scene between three s<strong>of</strong>tware team members: Jamie Lazar,<br />
Vinod Raman and Ed Robbins.<br />
Ed: What have you heard about the SafeHome project?<br />
Vinod: The kick-<strong>of</strong>f meeting is scheduled for next week.<br />
Jamie: I’ve already done a little bit <strong>of</strong> investigation, but it didn’t go well.
47<br />
INF305F/ SWE401I/SED401I /101<br />
Ed: What do you mean?<br />
Jamie: Well, I gave Lisa Perez a call. She’s the marketing honcho on that.<br />
Vinod: And?<br />
Jamie: I wanted her to tell me about SafeHome features and functions … that sort <strong>of</strong><br />
thing. Instead, she began asking me questions about security systems,<br />
surveillance systems. I’m no expert.<br />
Vinod: What does that tell you?<br />
Jamie shrugs.<br />
Vinod: That marketing will need us to act as consultants and that we’d better do<br />
some homework on this product area before our kick-<strong>of</strong>f meeting. Doug said<br />
that he wanted us to ‘collaborate’ with our customer, so we’d better learn how<br />
to do that.<br />
Identify four communication mistakes from the conversation above. List the<br />
principle that you used and quote each mistake from the text. (8)<br />
14 You are the project leader <strong>of</strong> the requirements engineering team involved in the<br />
development <strong>of</strong> a web-based book store. The project is late due to problems<br />
encountered during the requirements elicitations process. Write a report to<br />
management in which you explain why requirements elicitation is difficult with<br />
examples from the application domain. (6)<br />
15 The state diagram is one method <strong>of</strong> representing the behaviour <strong>of</strong> a system by<br />
depicting its states and the events that cause the system to change state. A state<br />
diagram models the behaviour <strong>of</strong> a specific application domain. One state diagram<br />
consists <strong>of</strong> different states. What are the three areas that a state is divided into on<br />
an UML state diagram? (3)<br />
16 Answer the following:<br />
16.1 What is the relationship between an activity diagram and a use-case? (1)<br />
16.2 Study the following use-case description for surveillance, which was written<br />
for the SafeHome application. Develop an activity diagram for the<br />
information provided. (8)<br />
Use-case Access camera surveillance – display camera views<br />
Primary actor Homeowner<br />
Goal in context To view output <strong>of</strong> cameras placed throughout the house from any remote location via<br />
the internet.<br />
Preconditions System must be fully configured; appropriate user ID and passwords must be<br />
obtained.
Trigger The homeowner decides to take a look inside the house while away.<br />
Scenario<br />
Exceptions<br />
48<br />
1 The homeowner logs into the SafeHome Products website.<br />
2 The homeowner enters his or her user ID.<br />
3 The homeowner enters two passwords (each at least eight characters in length).<br />
4 The system displays all major function buttons.<br />
5 The homeowner selects “surveillance” from the major function buttons.<br />
6 The homeowner selects “pick a camera”.<br />
7 The system displays the floor plan <strong>of</strong> the house.<br />
8 The homeowner selects a camera icon from the floor plan.<br />
9 The homeowner selects the “view” button.<br />
10 The system displays a viewing window that is identified by the camera ID.<br />
11 The system displays video output within the viewing window at one frame per<br />
second.<br />
1 ID or passwords are incorrect or not recognised – see use- case “validate ID<br />
and passwords”.<br />
2 Surveillance function not configured for this system – system displays<br />
appropriate error message; see use-case: “Configure surveillance function”.<br />
3 Homeowner selects “view thumbnail snapshots for all cameras” – see use-case<br />
“view thumbnail snapshots for all cameras”.<br />
4 A floor plan is not available or has not been configured – display appropriate<br />
error message and see use-case “configure floor plan”.<br />
5 An alarm condition is encountered – see use-case “alarm condition<br />
encountered”.<br />
Priority Moderate priority, to be implemented after basic functions.<br />
When available Third increment.<br />
Frequency <strong>of</strong><br />
use<br />
Infrequent.<br />
17 Define the following concepts in design engineering:<br />
17.1 abstraction (distinguish between higher and lower levels <strong>of</strong> abstraction)<br />
17.2 architecture<br />
17.3 patterns<br />
17.4 modularity<br />
17.5 information hiding<br />
17.6 functional independence<br />
17.7 refinement<br />
17.8 refactoring<br />
17.9 design classes (10)
49<br />
INF305F/ SWE401I/SED401I /101<br />
18 Give an overview <strong>of</strong> a data-centred architecture. Describe how it works, and make<br />
use <strong>of</strong> a graphical representation to illustrate the main concepts. What are the<br />
advantages <strong>of</strong> this approach? (8)<br />
19 There are many strategies that can be used to test s<strong>of</strong>tware.<br />
19.1 Give a short overview <strong>of</strong> bottom-up integration testing. (2)<br />
19.2 What steps are used to implement bottom-up integration testing?<br />
Graphically illustrate the bottom-up integration testing process. (8)<br />
20 What are the application categories most commonly encountered in WebE work? (10)
Assignment 4<br />
50<br />
Submission date: Self-evaluation. A solution is available at the end <strong>of</strong> this assignment.<br />
Credits: 70 credits<br />
Notice: This assignment covers chapters 3–5, 7–10, 13, 14 and 16.<br />
Chapter 3<br />
1 Prototyping may be problematic for two reasons. Use the development <strong>of</strong> a<br />
registration system at a university to discuss why prototyping may be difficult in<br />
that en<strong>vir</strong>onment. (2)<br />
2 Write a motivation to management in which you explain what your concerns are in<br />
using the formal methods model in the specification <strong>of</strong> your registration system. (6)<br />
Chapter 4<br />
3 Discuss how you can use adaptive s<strong>of</strong>tware development in developing the<br />
s<strong>of</strong>tware <strong>of</strong> a registration system at the university. (10)<br />
Chapter 5<br />
4 What questions must be asked and answered in order to develop a realistic<br />
project plan for a university registration system? (7)<br />
Chapter 7<br />
5 What are the types <strong>of</strong> requirements in quality function deployment within a<br />
university registration system? (6)<br />
Chapter 8<br />
6 Draw the use case diagram for registration at a university. The following are actions in a<br />
university registration system:<br />
- A student completes the registration form.<br />
- His/her results <strong>of</strong> the previous years are verified.<br />
- His/her enrolment is verified.<br />
- His/her payment is verified.
Chapter 9<br />
51<br />
INF305F/ SWE401I/SED401I /101<br />
- His/her tutorial matter is despatched. (5)<br />
7 Use the guidelines on page 262 <strong>of</strong> the s<strong>of</strong>tcover copy <strong>of</strong> your textbook and discuss<br />
how you will implement the quality guidelines when evaluating the design<br />
representation <strong>of</strong> the university registration system. (8)<br />
Chapter 10<br />
8 Discuss how you will use a data-centred architecture style in a university<br />
registration system. (2)<br />
Chapter 13<br />
9 Discuss how you will implement integration testing in a new university registration<br />
system. (10)<br />
Chapter 14<br />
10 Discuss how you will use black box or white box testing with a new university<br />
registration system. (5)<br />
Chapter 16<br />
11 Discuss how process, methods and tools and technology (overview on page 506 <strong>of</strong><br />
the s<strong>of</strong>tcover copy <strong>of</strong> the textbook) will be applied for the design <strong>of</strong> an online web<br />
interface university registration system. (9)<br />
SOLUTION: ASSIGNMENT 4<br />
1 Prototyping may be problematic for two reasons. Use the development <strong>of</strong> a<br />
registration system at a university to discuss why prototyping may be difficult in<br />
that en<strong>vir</strong>onment. (2)<br />
Refer to the difficulties with prototyping specified on page 85 (Pressmann, 2005). You will<br />
receive only 2 marks if you just state the problems. You must relate it to the registration<br />
system by indicating how staff in a registration system may experience the two problems<br />
highlighted in the text.
52<br />
2 Write a motivation to management in which you explain what your concerns are in<br />
using the formal methods model in the specification <strong>of</strong> your registration system. (6)<br />
Concerns are highlighted on page 92 (Pressman, 2005). You need to highlight that in a<br />
registration system costs are always an issue, and using a formal method may lead to more<br />
costs, which management may want to prevent. Also, you may argue that the university has<br />
no s<strong>of</strong>tware developers and therefore needs either to appoint developers or to train existing<br />
staff. Thirdly, since the users <strong>of</strong> the registration system are not technically sophisticated,<br />
using formal models as a communication mechanism may be problematic.<br />
3 Discuss how you can use adaptive s<strong>of</strong>tware development in the s<strong>of</strong>tware<br />
development <strong>of</strong> a registration system at the university. (10)<br />
Use the guidelines on pages 114–116 on adaptive s<strong>of</strong>tware development and relate how the<br />
three phases – speculation, collaboration, and learning – will play a role during the<br />
development <strong>of</strong> a registration system using adaptive s<strong>of</strong>tware development as a technique for<br />
building the system. The following is an example <strong>of</strong> a good answer sent to us by Leanne<br />
Buckus, which incorporates the registration system into the phases given for the Adaptive<br />
S<strong>of</strong>tware Development Model:<br />
3.<br />
The 3 phases <strong>of</strong> the Adaptive S<strong>of</strong>tware Development (ASD) Model for the s<strong>of</strong>tware development <strong>of</strong> a<br />
university’s registration system would be<br />
i) Speculation Phase – in this phase:<br />
The registration project would be initiated<br />
The mission statement <strong>of</strong> the customer is determined i.e. to register South African and foreign<br />
students both online and through a Contact Centre, using a simple, efficient and effective<br />
process<br />
The scope <strong>of</strong> the project would be established – inclusions and exclusions in the project<br />
The project constraints are established – delivery dates, – which campus, which users, which<br />
students<br />
Basic requirements are established – the high level registration requirements to determine the<br />
project iterations<br />
ii) Collaboration Phase – in this phase:<br />
Workshops and JAD sessions have to be arranged to determine the detailed requirements per<br />
cycle, develop a design to support the requirements<br />
Develop and deliver a solution per release cycle<br />
iii) Learning Phase – in this phase:<br />
As part <strong>of</strong> each cycle, focus groups must be scheduled to determined whether the release to<br />
be delivered meets the business requirements<br />
Formal technical reviews must be conducted on the s<strong>of</strong>tware components to ensure that<br />
improvements in quality, design etc are learned and incorporated for future<br />
Postmortems must be done by the ASD teams to look at the own performance and process<br />
with the intention <strong>of</strong> learning and incorporating those lessons in future<br />
4 What questions must be asked and answered in order to develop a realistic<br />
project plan for a university registration system? (7)
53<br />
INF305F/ SWE401I/SED401I /101<br />
The questions that must be asked and answered are given on page 138 <strong>of</strong> prescribed<br />
textbook. Relate each <strong>of</strong> the questions to the registration system.<br />
Why is the system being developed? In this activity the development team should assess<br />
the validity <strong>of</strong> business reasons for the changes. In the registration system, there should be a<br />
good reason for a new system that justifies the changes. For instance, a reason may be to<br />
improve slower hand-processes to be able to get a higher throughput <strong>of</strong> registrations.<br />
What will be done? For this question, it is necessary to identify the functionality to be built<br />
and, by implication, the tasks required to get the job done. If the goal is to create a new online<br />
registration system with electronic payment facilities, the development team will typically have<br />
to include tasks such as negotiation with financial institutions to accommodate the<br />
transactions, and identification <strong>of</strong> team members that will develop the interface for payment.<br />
Similarly the remaining questions must be answered and related to the registration system,<br />
including the following:<br />
- When will it be accomplished?<br />
- Who is responsible for a function?<br />
- Where they are organisationally located?<br />
- How will the job be done technically and managerially?<br />
- How much <strong>of</strong> each resource is needed?<br />
5 What are the types <strong>of</strong> requirements in quality function deployment within a<br />
university registration system? (6)<br />
The requirements are discussed in detail on page 188 <strong>of</strong> the textbook. The requirements<br />
include normal requirements, expected requirements and exciting requirements. For each <strong>of</strong><br />
the requirements it is necessary to relate the requirements to the registration system. For<br />
example, in normal requirements that reflect objectives and goals stated for a product or<br />
system during meetings with the customer, the customer (user <strong>of</strong> the registration system in<br />
this case) may comment on interfaces built by the team, test registration functions such as<br />
the electronic payment, and remark on how efficient a new registration is done.
54<br />
6 Draw the use case diagram for registration at a university. The following is one possible<br />
solution:<br />
7 Use the guidelines on page 262 and apply them to a registration system.<br />
The following is one possible answer.<br />
In order to evaluate the quality <strong>of</strong> a design representation, we must establish technical criteria<br />
for good design.<br />
1 In the registration system the developers should create a design in such a way that it<br />
uses an architecture that (a) has been created using recognisable architectural<br />
styles or patterns, (b) is composed <strong>of</strong> components that exhibit good design<br />
characteristics and (c) can be implemented in an evolutionary fashion, thereby<br />
facilitating implementation and testing. The architecture styles or patterns can be<br />
used by considering the repeatable processes. During the design <strong>of</strong> the different<br />
interfaces, the design should be <strong>of</strong> such a nature that it is easy to implement. … etc.<br />
2 The different processes included in the registration should be included in the system<br />
using a modular design in which the sub-systems work together to accomplish the<br />
goal <strong>of</strong> registering a student.
55<br />
INF305F/ SWE401I/SED401I /101<br />
3 In the design <strong>of</strong> the registration system, the design should contain distinct<br />
representations <strong>of</strong> data, architecture, interfaces and components. For example, the<br />
different interfaces that will be used to capture the data in the registration process,<br />
such as the student’s personal information, should be included during the design<br />
process.<br />
4 In the registration system, the design should include a data structure that is both<br />
feasible to implement and should consider existing legacy systems with which the<br />
system should communicate.<br />
5 The design should lead to components that exhibit independent functional<br />
characteristics – therefore in the registration system the component that is extracted<br />
from the different processes within the system should be <strong>of</strong> such a nature that it is<br />
not dependent on the output from other components.<br />
6 Similar for the remaining three concepts for quality design found on page 262.<br />
8 Discuss how you will use a data-centred architecture style in a university<br />
registration system. (2)<br />
A data-centred architecture style is one in which a data store (such as a file or database)<br />
resides at the centre <strong>of</strong> the architecture. In the registration system, the student database is<br />
typical at the centre <strong>of</strong> the system where not only the student system may access the data,<br />
but also other systems such as the financial system. It is important that data reside in only<br />
one location and is not duplicated in different systems.<br />
9 Discuss how you will implement integration testing in a new university registration<br />
system. (10)<br />
Integration testing is a systematic technique for constructing the s<strong>of</strong>tware architecture while at<br />
the same time conducting tests to uncover errors associated with interfacing. In the<br />
registration system integration testing can be used by taking the unit’s tested components<br />
and combining these components into one structure. For example, in the registration process<br />
the verification <strong>of</strong> matriculation results and the comparison <strong>of</strong> matriculation results with what<br />
the student intends to study can be developed as two different components. After unit<br />
component testing, these components can be integrated into one system (together with other<br />
components) through one interface and can then be tested.<br />
10 Discuss how you will use black box or white box testing with a new university<br />
registration system. (5)<br />
White box testing is a test case design philosophy that uses the control structure described as<br />
part <strong>of</strong> component-level design to derive test cases. In other words, a specific part <strong>of</strong> the
56<br />
module is targeted and tested with different test cases. For example, if you explicitly know<br />
that a student should be older than 18 to register for a new course, and you know that there is<br />
an if statement testing this, you may test this specific procedure in your system by ‘feeding’<br />
the system first a birth date older than 18 to make sure that everything works and then testing<br />
the if statement by giving the module a birth date younger than 18.<br />
For black box testing, the tests are conducted at the s<strong>of</strong>tware interface. The test is conducted<br />
without the knowledge <strong>of</strong> the internal structure. For example, on the interface valid and invalid<br />
data values may be tested, such as the student’s matriculation results – to test whether the<br />
system will validate that the student does or does not qualify to study at Unisa. A specific<br />
branch in code is not tested but rather the s<strong>of</strong>tware more generally.<br />
11 Discuss how process, methods and tools and technology will be applied for the<br />
design <strong>of</strong> an online web interface university registration system. (9)<br />
Process, methods and technologies provide a layered approach to WebE that is conceptually<br />
the same as the s<strong>of</strong>tware engineering layers. Rapid development methods are used to<br />
develop WebE process models through an agile development philosophy. The online<br />
registration system can be developed using agile methods. Prototypes <strong>of</strong> the different<br />
interfaces could easily be constructed to demonstrate how the user will interact with the<br />
system.<br />
Considering methods, the approach should be developed in such a manner that it creates<br />
opportunities for the web engineers and other stakeholders for communication on the system.<br />
The registration staff should be able to communicate concerns about the way that the<br />
proposed s<strong>of</strong>tware functions and the web engineers should pay attention to the concerns.<br />
This applies, similarly, for requirements analysis methods, design methods and testing<br />
methods.<br />
With regard to technology, the development team <strong>of</strong> the registration team should consider the<br />
different options available with regard to the content description and modelling languages,<br />
programming language, etc.<br />
© Unisa<br />
2009