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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!