I shall be giving 12 lectures on the ISD class COM3403 in the first semester of the academic year 2004-5.
Titles in bold are particularly recommended.
| Authors | Titles | Publication details |
|---|---|---|
| Jackson, M. A. | Software Requirements and Specifications: a Lexicon of Practice, Principles and Prejudices | Addison Wesley, 1995, ISBN 0-201-87712-0 |
| Jackson, M. A. | Problem Frames | Addison Wesley, 2001, ISBN 0-201-59627-X |
| Ould, M. A. | Managing Software Quality and Business Risk | Wiley, 1999, ISBN 0-471-99782-X |
| Stiller, E. and Leblanc, C. | Project-Based Software Engineering, an Object-Oriented Approach | Addison Wesley, 2002, ISBN 0-201-74225-X |
| Stevens, P. and Pooley, R. | Using UML: Software Engineering with Objects and Components | Addison Wesley, 2000, ISBN 0-201-64860-1 |
Back to the table of contents.
Available from week 4, submit in week 8, marked scripts returned in week 10.
The individual assignment is now available.
There is a file of questions and answers about the individual assignment.
As students work the individual assignment, they discover errors in the base documents E02 and E03, and send me change requests to correct them. I publish the change requests in the Change Request document. In writing your answers to the individual assignmemnt, you may assume that change requests 3 and 4 have been approved, and the stated changes made to the documents. The list of approved changes might increase as more errors are dicovered, so keep an eye on this page, and on the Change Request document.
Available from week 10, submit in week 13 (University week 17), marked scripts returned in week 16 (University week 20).
The group assignment is now available.
Please look at the list of groups to find out which group you are in. If you think you are not in any group, please email me for instructions.
Back to the table of contents.
The following table lists the lectures. The column headed Lecture gives links to ppt files that contain the lecture material. The column headed Reading gives references to text and sources of information on the World Wide Web. The column headed Glossary lists technical terms appropriate to the lecture. Some of the terms will be used in the lecture, but probably not all of them. You might need to consult the texts and other sources of information to find out about them.
| Wk | Date | Lecture | Reading | Glossary | |
|---|---|---|---|---|---|
| 1 | Mon 4 Oct | Processes and documents | The development process described in the lecture is in API for a Supermarket Controller: Development Process | activity, analysis, author, design, document, entry criteria, exit criteria, implementation, inspection, inspector, method, moderator, process model, specification, test planning, testing, validation, verification, waterfall model. | |
| 1 | Wed 6 Oct | Analysis |
API for a Supermarket Controller: Analysis Document
UML information is to be found at the UML Resource Centre. There is a PDF file that contains the complete specification of UML 1.4. Visit the Use Case Zone for information about use cases. For a critique of use cases see this paper. |
actor, aggregation, class diagram, constraint, event, initialisation, object diagram, statechart, system boundary, transition, use case, use case diagram. | |
| 2 | Mon 11 Oct | Specification | API for a Supermarket Controller: Specification Document | functional interface, initialisation, invariant, postcondition, precondition, pseudocode, sets, specification, validation. | |
| 2 | Wed 13 Oct | Design | API for a Supermarket Controller: Design Document | abstract state, abstract operation, abstraction function, concrete state, concrete operation, design, invariant, usage hierarchy, verification. | |
| 3 | Mon 18 Oct | Problem Frames: Problems and Contexts. | Jackson's Problem Frames, Chapters 1 and 2. Here is a review of Jackson's book, and here is another. There is an online description of the Patient Monitoring Problem discussed in the lecture. |
abstraction, analysis, annotated context diagram, application domain, connection domain, context, context diagram, designed domain, domain, given domain, interface, interface phenomena, machine domain, phenomenon (phenomena), problem, problem boundary, problem context, problem frame, shared phenomena, solution, subproblem. | |
| 3 | Wed 20 Oct | Problem Frames: Problems and Subproblems. | Jackson's Problem Frames, Chapter 3. | domain properties, indicative description, optative description, partition, problem diagram, problem frame, projection, requirement, requirement constraint, requirement phenomena, requirement reference, role, simple problem, specification, specification phenomena, subproblem. | |
| 4 | Mon 25 Oct | Problem Frames: Problem Classes and Frames. | Jackson's Problem Frames, Chapter 4. | biddable domain, causal domain, causal phenomena, commanded behaviour problem, domain characteristics, entity, event, frame concern, frame diagram, individual, information problem, lexical domain, problem class, relation, required behaviour problem, role, simple workpieces problem, state, symbolic phenomena, transformation problem, truth, value. | |
| 4 | Wed 27 Oct | Problem Frames: Frame Concerns. | Jackson's Problem Frames, Chapter 5. | completeness concern, identities concern, informal domain, initialisation concern, misfit, overrun concern, partial description, reliability concern, sensible command, state machine diagram, state transition diagram, total description, traversal, viable command. | |
| 6 | Mon 8 Nov | Quality and Risk (1). (Risk Management) | Ould's Managing Software Quality and Business Risk, Chapters 1, 2, and 3. The Automated Warehouse System is discussed in the lecture. | binary risk, cardinal aim, cause-effect tree, contingency plan, contractual transfer, danger slope, estimating uncertainty, event uncertainty, impact, information-buying activity, insurance, opportunity, opportunity management, pre-emptive risk reduction measure, probability, process model, reactive risk reduction measure, resource plan, risk and quality plan, risk-influencing activity, risk management, risk register, sliding risk. | |
| 6 | Wed 10 Nov | Quality and Risk (2). (Process Models) | Ould's Managing Software Quality and Business Risk, Chapter 4. | acceptance test, architecture layer, build test specification, component specification, component test, delivered system, DSDM process model, evolutionary delivery process model, implementation layer, increment, incremental delivery process model, kernel, operational review, product, prototype, requirement expression, spiral model, system design, sysem specifcation, tested system, user layer, V process model, VP process model, waterfall model, work breakdown structure. | |
| 7 | Mon 15 Nov | Quality and Risk (3). (Quality Management) |
Ould's Managing Software Quality and Business Risk, Chapter 5. | developer-driven quality attributes, efficiency, functional quality attributes, maintainability, non-functional quality attributes, portability, quality achievement, quality control, quality factoring, quality manual, quality preservation, reliability, usability, user-driven quality attributes. | |
| 7 | Thu 17 Nov | Quality and Risk (4). (Methods) | Ould's Managing Software Quality and Business Risk, Chapters 6 and 7. | analysis approach, behavioural equivalence, CMM, completeness, computational model, correctness potential, heuristics, inspection, internal consistency, formality (of notation), notation, relevance (of notation), strength (of analysis approach), strength (of heuristics), structured walkthrough, syntax (of notation), V&V, V&V potential (of a method), validation, verification, verification opportunity. |
Back to the table of contents.
The self-assessment questions are oganised by subject as follows:
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
"When a piece of text has been selected on the screen, the user can correctly predict the effect on the document of pressing the delete key."
Comment on the completeness and measurability of this attribute.
For a named word processor with which you are familiar, suggest some functional quality attributes that are related to this usability attribute.
Back to the index of self-assessment questions or to the table of contents.
Back to the index of self-assessment questions or to the table of contents.
Each question is marked out of 30.

A machine is required to act as a branch controller for a supermarket. Each branch will have its own controller, linked to a central computer.
Authorised staff can use a standard screen and keyboard connected to the store controller to display and edit the descriptions and prices of the bar coded items offered for sale on the shelves. The controller records the prices, sales and stock levels of the bar-coded items.
There might be as many as twenty-four checkout stations in a store, and each checkout station is connected to the store controller. Each checkout station has a till in which the cash is kept, a barcode scanner, a scale for weighing vegetables and other loose goods, a display that shows the description and price of the item just scanned or weighed, and a printer for printing the items and prices that the customer has bought. There is a keyboard for keying in the codes of items that will not scan properly, and for entering the amount tendered by the customer. The controller is notified as each item is scanned or weighed or keyed, and of the amount tendered. The controller must print a receipt for each customer detailing the items purchased, their prices, the total to be paid, the amount tendered, and the change to be given. The controller also unlocks the till when the operator enters the amount tendered. The till has a spring lock that locks it each time the lid is closed.
The controller transmits a daily order to the warehouse. The way in which this order depends on the day's sales is complex, and will not be described here, though it is well-known to the supermarket's managers. The format of the order document is already defined.
Authorised staff can display stock levels for all the items, and edit them on receipt of a delivery from the warehouse.

The connectors in the diagram are annotated as follows:
Back to the table of contents.