Information Systems Development

I shall be giving 12 lectures on the ISD class COM3403 in the first semester of the academic year 2004-5.

Contents

This Web page contains:

Some useful books

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 FramesAddison Wesley, 2001, ISBN 0-201-59627-X
Ould, M. A. Managing Software Quality and Business RiskWiley, 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.

Assignments

Individual assignment

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.

Group assignment

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.

Lectures

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.

Self-assessment questions

The self-assessment questions are oganised by subject as follows:

Analysis document

  1. Study the statechart for the supermarket checkout in the analysis document, and describe its operation in words.
  2. In the API for a Supermarket Controller, a new checkout function is to be supported. A new key marked "Recall" is provided, and pressing this key causes details of the most recently scanned item to be displayed on the checkout screen. List the changes to be made to the analysis document to support this new function. Use the format of change request 0 in the Change requests document and create a change request for this change.
  3. Look at change request number 1, and complete the section Documents affected.
  4. A new operation, to be called LineList, is needed for the warehouse manager. It will display on a printer in the warehouse a complete list of all lines in the store, showing for each line the line number, the description, the price, and the current stock level. Specify the changes that must be made to the analysis document to support this new function.
  5. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Specification document

  1. Specify the changes that must be made to the specification document to support the LineList operation described in the Analysis document section.
  2. Suggest places in the specification document where mathematical notation could be used to shorten the text and to make it more precise.
  3. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Design document

  1. Specify the changes that must be made to the design document to support the LineList operation described in the Analysis document section.
  2. Devise a small configuration of Java objects that satisfy the design constraints, and decribe the speficiation state that they represent.
  3. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Context diagrams

  1. A computer is required to gather data from weather stations and record it in a database. The data gathered includes barometric pressure, wind speed, wind direction, air temperature, and humidity. Weather researchers can use the database for research. Data in the database can be displayed on a screen. Identify some domains in this problem and describe their shared phenomena.
  2. A word processing machine is required to allow users to create and edit texts, and to print them on an attached printer. The texts will be stored in the machine. Identify some domains in this problem and describe their shared phenomena.
  3. An estate agent keeps details of properties for sale in surrounding towns and villages, and details of clients, both buyers and sellers. Clients are allowed to conduct anonymous searches of the properties. The estate agent's staff can record details of new clients and properties, organise and record visits to properties, record offers made, accepted, and rejected, and record sales completed and commission earned. Each month a management report containing business statistics is produced. Identify some domains in this problem and describe their shared phenomena.
  4. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Problems and subproblems

  1. Explain the difference between optative and indicative domain descriptions. How does it happen that a single description is read as optative by one reader and indicative by another.
  2. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Problem classes and frames

  1. List Jackson's five basic problem frames, and describe briefly the characteristics of each frame.
  2. Explain the difference between a causal domain and a biddable domain. Illustrate your answer with an example of a commanded behaviour problem.
  3. Classify each of the following domains as biddable, causal, or lexical:
    1. The operators of a radiotherapy machine
    2. A database of properties for sale in an estate agency
    3. A bank customer using a cash issuing terminal
    4. A cash issuing terminal
    5. A transmission network linking a cash issuing terminal to a bank's central computer
    6. The bank's central computer
    7. The bank's database of customers' accounts
    8. A scanner attached to a computer
    9. A printer attached to a computer
  4. The figure shows an analysis of a problem to copy images by scanning and printing under the control of a computer.
    1. For each domain in the diagram, classify it as biddable, causal, or lexical.
    2. Choose a problem frame that fits this problem.
    3. Add a requirement to the diagram, indicating briefly the nature of the requirement. Take care to show any constraining requirement references.
  5. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Risk management

  1. Create a risk register for a one-person project whose cardinal aim is to pass the ISD examination with a mark of at least 70%. Draw the cause-effect tree, and identify any risk reduction measures, classifying each as pre-emptive or reactive.
  2. Read the description of the formal methods project, identify some risks, and suggest how they might be reduced or avoided.
  3. Read the description of the system integration project, identify some risks, and suggest how they might be reduced or avoided.
  4. Read the description of the estate agents' back end project, identify some risks, and suggest how they might be reduced or avoided. The use of a VDM specification is itself a risk reduction measure. What risks is this specification trying to reduce?

Back to the index of self-assessment questions or to the table of contents.

Process models

  1. Devise a process model for passing the ISD examination with a mark of at least 70%.
  2. A certain process model includes a program design activity followed by a program coding activity. When the program coding activity is completed a review is held with the following objectives: Suggest some risks that are being addressed by having these stages in this order in the process. Also suggest how each of the objectives of the review contributes to product quality.
  3. Use the World Wide Web to find out about the Dynamic Systems Development Method (DSDM).
  4. Use the World Wide Web to find out about the Cleanroom development method.
  5. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Quality management

  1. For each of the following quality attributes, classify it as functional or non-functional:
  2. Explain, with examples, the difference between developer-driven quality attributes and user-driven quality attributes.
  3. Why is it important for quality attributes to be measurable? Why is it that in general functional attributes are easier to measure than non-functional attributes?
  4. The following usability attribute was proposed for a word processor:

    "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.

  5. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Quality achievement and control

  1. Explain the meanings of the terms process, method, and notation as applied to software development projects. Illustrate your explanation with examples.
  2. To be continued.

Back to the index of self-assessment questions or to the table of contents.

Sample examination questions

Each question is marked out of 30.

  1. In a patient monitoring system, each patient is monitored by an analog device which measures factors such as pulse, temperature, blood pressure, and skin resistance. The program reads these factors on a periodic basis (specified for each patient) and stores the factors in a database. For each patient, safe ranges for each factor are also specified by medical staff. If a factor falls outside a patient's safe range, or if an analog device fails, the nurses' station is notified. The following diagram, derived from the patient monitoring problem, shows a subproblem that is concerned with the editing of periods and ranges by the medical staff.

    1. In the above diagram, explain why one of the connectors from the elliptical box has an arrowhead while the other does not. (3 marks)
    2. The line label "m" is annotated as follows:
      MS! {EnterPeriod, EnterRange, ...}
      Explain the significance of the various parts of this annotation. (3 marks)
    3. Explain why the label "m" is attached to two lines in the diagram. (2 marks)
    4. Explain why the given subproblem is called a projection rather than a partition of the main problem. (5 marks)
    5. Give a critique of the use of problem diagrams like the one above for communicating with potential users of the system during requirements gathering. (7 marks)
    1. Explain what is meant by a software development process model. (4 marks)
    2. Give a brief account of the waterfall model of software development. (5 marks)
    3. Explain what is meant by a risk reduction measure. (4 marks)
    4. Give a critical appraisal of the waterfall model as a risk reduction measure, identifying the threats that it aims at reducing. (7 marks)
  2. 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.

    1. From this information construct a problem diagram. (7 marks)
    2. Identify a subproblem that fits one of Jackson's five problem frames, say which frame it is, and give the problem diagram for it. (4 marks)
    3. What concerns should you have about the role of the central computer? Explain. (2 marks)
    4. Write a short critical assessment of the contention that there is nothing to be gained from using Problem Fames that could not be obtained from Object-Oriented Analysis. (7 marks)
    1. Explain what is meant by a cardinal aim of a project. (2 marks)
    2. Explain the difference between pre-emptive risk reduction measures and reactive risk reduction measures. (4 marks)
    3. As part of a computer science class, students are expected to work in teams to produce a back end processor for the property market. The back end will provide a number of generic functions for recording the details of clients and of properties, searching for properties according to various criteria, recording offers made, recording sales completed, and producing various managements reports. The back end is intended to support a number of different front ends, each of which will be used by a different firm of estate agents, and will provide the agent's own brand image. The deliverables on which the students will be assessed are a conceptual model of the view of property sales management supported by the back end, a specification of the back end in the formal specification language VDM-SL, a Java implementation of the back end, a test harness for exercising the back end functions, and instructions for installing the system, for operating the test harness, and for writing applications to use the back end. The development process to be used is approximately the waterfall model, and various milestones have been set at which various work products have to be available for review. The development team has been put together more or less at random. The members have some experience of Java, but have little development expertise. They are attending a course of twice-weekly lectures given over the period of the project. For VDM-SL, a consultant is available to give advice, and to review the VDM-SL specification after the first few weeks of the project. Each team has a non-technical project manager. For this project state four cardinal aims, and for one of the cardinal aims construct a cause-effect tree of at least 7 and not more than 10 nodes. (6 marks)
    4. Give a critical account of the V-process model as a quality control mechanism. (8 marks)
  3. A microchip computer is required to control a digital electronic speedometer and odometer in a car. One of the car's rear wheels generates pulses as it rotates. The computer can detect these pulses, and must use them to set the current speed and total number of miles travelled in the two visible counters on the car's fascia. The underlying registers of the counters are shared by the computer and the visible display. Here is the problem diagram for the problem.

    Odometer display problem diagram

    The connectors in the diagram are annotated as follows:

    1. In the above problem diagram, which are the given domains? (3 marks)
    2. In the above problem diagram, explain the significance of the elliptical box marked "Counters agree with travel", and explain why one of the connectors from the elliptical box has an arrowhead while the other does not. (4 marks)
    3. What phenomena are shared between the odometer microchip and the fascia display, and which of these domains controls these phenomena? (3 marks)
    4. Which of Jackson's five basic frames is the best fit for this problem? (2 marks)
    5. Explain what is meant by an initialisation concern and an overrun concern. Illustrate your answer with reference to this problem. (8 marks)
    1. What is meant by quality when it refers to a software product? (4 marks)
    2. Explain the difference between analysis and testing as methods for checking quality attributes of a software product. (4 marks)
      Illustrate your answer with reference to the following requirements:
      1. Changing the language in which messages are displayed on the screen does not require changes to the procedural code. (4 marks)
      2. The system can be initialised on a machine with only 64 megabytes of memory. (4 marks)
      3. When a request is made to withdraw more than the current balance from a savings account, the withdrawal is not made, and a message is sent to the user. (4 marks)
      4. When the system is initialised, a list of valid commands is displayed on the operator's station. (4 marks)
    3. In the V-process model, what is meant by an acceptance test? What is the role of the acceptance test in product quality assurance? (6 marks)
  4. To be continued.

Back to the table of contents.


Last updated on 21 March 2005.