02.05.2013 Views

School of Computing / Skool vir Rekenaarkunde - Name

School of Computing / Skool vir Rekenaarkunde - Name

School of Computing / Skool vir Rekenaarkunde - Name

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!