Course Plan
CS4211 Software Engineering
Fall 2004
Dines Bjørner, Visiting Professor, 1 July 2004 -- 30 June 2005
Department of Computer Science, School of Computing
National University of Singapore
3 Science Drive 2, Singapore 117543,
Republic of Singapore
E-Mail: bjorner''ad''comp.nus.edu.sg
18 October 2004
Welcome to Course CS4211
We are going to have a good time together
This document is the main document of
student information for CS4211.
This page will be regularly updated
-
See this document: Example for Your `Oct.12 Week'
and `Nov.2' Reports:
PS
PDF
-
This page updated 11 October.
-
This page updated 27 September.
-
Course is on Tuesdays, 11:00-14:00, LT33.
-
Exam: 23 November 2004 Morning.
-
Course on Tuesday 24 August 2004 has now been
rescheduled:
-
Wednesday September 15, 4:00-6:00 pm, LT34 -
Was eventually cancelled !
-
Course on Tuesday 9 November 2004 has now been rescheduled:
-
Wednesday October 20, 4:00-6:00 pm, LT34
-
Wednesday October 27, 4:00-6:00 pm, LT34
Yes, into two ``catch-up'' lectures !
- The course aims to introduce the student to a number of software
engineering topics:
- Software development as consisting of:
-
Domain engineering
,
-
requirements engineering
, and
-
software design
.
- Software development as resulting in documents:
-
Informative
,
-
descriptive
(prescriptive, specificational), and
-
analytic
.
- Software development as proceeding in:
-
Phases
- as for
- (1)
Domain engineering
,
- (2)
requirements engineering
, and
- (3)
software design
;
-
stages
- as for
- (A) acquisition (not really covered),
- (B) analysis (not really covered),
- (C)
modelling
,
- (D) validation & verification (not really covered),
or as for
- (a)
domain requirements,
- (b)
interface requirements,
and
- (c)
machine requirements,
or, within, for example
domain modelling as for
- (i)
intrinsics,
- (ii)
support technologies,
- (iii)
management & organisation,
- (iv)
rules & regulations,
and
- (v)
human behaviour;
etcetera; and
-
steps
(of refinement, transformation, or posit (and prove)).
- Software development as relying on precise identification
and narration of:
-
Entities
,
-
functions
,
-
events
, and
-
behaviours
.
- Software as consisting -- in addition to
- ``executable code'',
- installation,
- maintenance,
- user, and
- disposal manuals, also of
- all development documents
- informative,
- descriptive/prescriptive/specificational, and
- analytical (hence of all tests, proofs and model-checks),
of all phases, stages and steps of development
- Etcetera.
- The course is an under-graduate course.
- Hence it shies away from
using formal, discrete mathematics.
- Instead it focuses on making sure
that the course participants are able themselves
to
structure major software developments
(phases, stages, designs);
- to express themselves with competence:
Describing, prescribing
and specifying
domain properties
and
requirements expectations,
in
clear, precise (English) language, setting up precise
definitions;
- to follow and use clear
methodological principles, techniques
and tools;
- In other words: The course has, as a main objective that of
making sure that
the course participant henceforth will look at
software development as a highly professional, highly intellectual
discipline.
- Vol.3,
Software Engineering
, Publisher: Springer-Verlag
Domains, Requirements, Software Design
, Around March 2005
Dines Bjørner
- Students can download relevant chapters from the net - and print
at own expense.
- Pls. click Postscript (&, later, PDF) Files,
Fall 2004 NUS Course CS4211
for detailed listing of chapter-by-chapter lecture notes and lecture slides.
- But see also later: As part of each lecture description we give URLs
to postscript versions of chapters and the slides shown during lectures.
- These slides are, however, reduced to fit 8 to one page.
- Thus, You are not to read all of vol. 3.
- You are only to read those pages or sections that have been
highlighted in Sect. 3 below.
- For an overview of the, so far 3 volume, book,
please click this
!
- The three volumes should be out by very early 2005.
- And you are to skip, on those pages and in those sections, of
volume 3,
all the framed material whose top line caption includes:
Formal Version.
So: You are not required to read the `formal version' material
(which mostly consists of ``strange'' formulas !) -- but you may read it !
[3] Lecture Plan
-
Lectures
are
tuned
to
assignments.
- Assignments are tuned to lecture(d) material.
- Assignments will be ``issued'' Aug.17 + 31, Sept. 7 + 14 + 21 +
28, and Oct. 5 + 12 + 19 + 26.
- Assignments will be ``lumped'' into three reports:
Sept. 14, Oct. 5, and Nov. 2. as follows:
-
Issued
Aug.17, Aug. 31, and Sept. 7 are to be
handed in
in week of
Sept. 14,
-
issued
Sept. 14, Sept. 21, and Sept. 28
are to be
handed in
in week of
Oct. 12,
and
-
issued
in October are to be
handed in
Nov. 2
before 4pm !
Lecture Topic:
Chapter 1
Group Assignments:
- During this lecture student groups will be identified
- associated with, ie., ``bound'' to distinct project topics,
- and given a weekly 30-60 minute tutoring slot (See
Sect. 6).
- See also Sect. 7.
Lecture Topics:
Chapter 1
- Phases, Stages and Steps of Development, Section 1.3, Pages 32-45:
Topic 6
Assignment Name:
TripTych Phases
- Please refer to subsection 4.2. That
subsection lists some 12 possible topics.
- Assignments 1-2-3-4 on Page 53 in Vol.3, Chap.1.
Please hand assignment in by: Week of 14.9, 2004
Lecture Topics:
Chapter 2
- Introduction, Sects. 2.1-2.2-2.3:
Topic 11
- Informative Documents, Sect. 2.4:
Topic 12
- Descriptive Documents: Rough Sketches, Sect. 2.5.1:
Topic 13
Assignment Name:
Informative + Rough Sketch Documents
- Assignments 11-12-13-14 on Pages 90-91 in Vol.3, Chap.2.
Please hand assignment in by: Week of 14.9, 2004
Lecture Topics:
Chapter 2
- Descriptive Documents: Terminologies and Narratives, Sect. 2.5.2 - 2.5.3:
Topic 13
- Analytic Documents - a Brief Survey, Sect. 2.6:
Topic 14
Assignment Name:
Narrative and Terminology Documents
- Assignments 15-16 on Pages 91-92 in Vol.3, Chap.2.
Please hand assignment in by: Week of 14.9, 2004
Lecture Topics:
Chapter 5
Assignment Name:
Description Theory
- Assignment 36 on Page 158 in Vol.3, Chap.5.
Please hand assignment in by: Week of 12.10, 2004
Lecture Topics:
Chapter 5
Assignment Name:
Description Theory
- Assignments 37-38-39 on Pages 158-159 in Vol.3, Chap.5.
Please hand assignment in by: Week of 12.10, 2004
Lecture Topics:
Chapter 8
+
Chapter 9
+
Chapter 11
Assignment Name:
Domains: Stake Holders, Intrinsics and Business Processes
- Assignments 66-67 Page 218 in Vol.3, Chap.9.
- Assignment 75-76 Page 328 in Vol.3, Chap.11.
Please hand assignment in by: Week of 12.10, 2004
Lecture Topics:
Chapter 11
Assignment Name:
Further Domain Facets
- Assignments 77-78-79-80 Page 328 in Vol.3, Chap.11
Please hand assignment in by: Week of 12.10, 2004
Lecture Topics:
Chapter 17
+
Chapter 19
Assignment Name:
Domain Requirements
- Identify and narrate, ie.,
systematically describe some Domain Requirements for your topic
domain. Decompose your domain requirements into:
- Projection (half a page),
- determination (half a page),
- instantiation (half a page),
- extension (half a page), and
- fitting (half a page).
- That is:
Assignment 119 Page 445 in Vol.3, Chap.19.
Please hand assignment in by: Tuesday Nov. 2, 2004, at 4 pm at the
very latest !
Lecture Topic:
Chapter 19
Assignment Name:
Interface Requirements
- Identify and narrate, ie.,
systematically describe some Shared Phenomena & Concepts for your topic
domain (
page).
- Identify and narrate, ie.,
systematically describe some Interface Requirements for your topic
domain. Decompose your interface requirements into:
- Shared Data Initialisation (half a page),
- Shared Data Refreshment (half a page),
- Computation Data & Control Interface (half a page),
- Man-Machine Dialogue (half a page),
- Man-Machine Physiological Interface (half a page), and
- Man-Machine Physiological Dialogue (half a page).
- That is:
Assignment 120 Page 445 in Vol.3, Chap.19.
Please hand assignment in by: Tuesday Nov. 2, 2004, at 4 pm at the
very latest !
Lecture Topic:
Chapter 19
Assignment Name:
Machine Requirements
- In detail:
- Identify and narrate some Performance Requirements for your topic
domain (half a page).
- Identify and narrate some Dependability Requirements for your topic
domain (half a page).
- Identify and narrate some Maintenance Requirements for your topic
domain (half page).
- Identify and narrate some Platform Requirements for your topic
domain (half page).
- Identify and narrate some Documentation Requirements for your topic
domain (half apage).
- That is:
Assignment 120 Page 445 in Vol.3, Chap.19.
Please hand assignment in by: Tuesday Nov. 2, 2004, at 4 pm at the
very latest !
Lecture Topics:
Assignment Name:
Software Architecture
- Provide a rough sketch of a software architecture for your
selected topic: the components and connectors.
- That is:
Assignment 142 page 512, Chapter 26, Vol.3.
-
Establish a proper table-of-contents for the set
of all the development documents that you have developed.
Please hand assignment in by: Week of 2.11, 2004
Lecture Topics: Survey
No assignment items.
Lecture Topics: Issues not covered in the course:
Has been re-scheduled to late October (Wednesdays 20 + 27), ie. earlier !
- Morning Examination, 2 Hours, Closed Book
- Class is encouraged to compose themselves into
groups,
, of
students each -- such that
,
where
is class size.
- We suggest group sizes of around 6-8 students each.
- Each group is given an assignment over which they will, as a
group, each week deliver a 1-3 page report.
- The weekly reports partially fill in, ie., contribute to the
final report -- which can thus be expected to be some 10-15 pages
long.
- The weekly and thus the final report is in English, no
mathematics -- unless you insist !
Meaningful drawings are OK, but
be aware that the lecturer, me, Dines Bjørner,
is rather
particular wrt. (with respect to) what constitutes a `meaningful'
drawing.
[4.2] Specific Assignment Topics
- What is
Administrative Forms Processing
?
(NUS, anyone ?)
- What is an
Airport
? (Changi, anyone ?)
- What is
Air Traffic
? (Changi etc.,
anyone ?)
- What is a
Container Harbour
?
(Singapore, anyone ?)
- What is a
Document System
?
- What is
Freight Logistics
?
(Singapore, anyone ?)
- What is a
Financial Service System
?
(Singapore, anyone ?)
- What is a
Hospital
? (NUS
Hospital, anyone ?)
- What is a
Manufacturing Company
?
- What is the
Market
? (in
preparation for an/the
-Market)
- What is a
Metropolitan Area Tourism
Industry
?
(Singapore, anyone ?)
- What is a
Railway System
? (MRT ?)
Section 7 brings more details.
- Weekly assignments relevant to either of the above selections
has already been posted above,
under the lecture plan, and
will be posted in respective chapters' ``Problem/Exercise'' sections.
- Pls. refer to problem assignments -- when answering -- by
lecture number "dot" problem number:
.
- These assignments, and their expected answers, are arranged
(ordered, etc.) so as to eventually
guide the student through to a
meaningful final report, one that is reasonably representative
of a
proper, commercial, large scale, real-life, advanced development.
There will be two forms of examination:
- Written, 2 Hour, ``Closed Book'' Test.
- Report Evaluation.
Each form of examination ``counts'' 50%.
- The written, 2 hour test is a closed book test.
- You will be asked a number of
questions. Each question is designed to test that you have
understood the essence of one of the topics covered in the
lectures.
- The questions will thus cover areas of the lectures not
naturally coverable by the assignment reports.
In the lectures, the lecturer will point out such
typical written examination questions !
- The test questions complement those asked to be solved in the
assignments.
- Each group submits one assignment report each week.
- There will be 12 assignment reports.
- For the final report you are, please, to submit all ``early''
reports (possibly edited, as per your decision) as well as the
answers to the last, posed question (12.1).
- The final report will resemble major parts of a proper, full
scale, real-life, commercial development document, one that can be
read by itself, ie., free-standing.
- All (``early'' and final) report front pages will state:
Course Name:
Course Number:
Weekly Report Serial Number: #i (i=1,...,12), Date:
Assignment Topics:
As stated above, in the frame, after each lecture's "Assignment Name"
Group members:
Name 1, E-mail #1,
Name 2, E-mail #2,
...
Name i, E-mail #i,
- The final report will be all the previous (ie., early) reports + the last
report (formulated 8 Nov., 2004). You are free to update, edit,
revise, that is: Improve earlier reports.
- The lecturer will evaluate each assignment report, for the next
week, only if the group meets up for tutoring in the week of the
`hand in'.
- Please use text processing system with adequate
cross-referencing and indexing facilities. We suggest (that you
learn and/or use) LATEX.
- The lecturer's final assessment will be based on some ``mix'' of
early and final reports. Improvements will thus be notes -- as will
ability to turn in meaningful early reports.
- The lecturer will make the final assessments of both written
tests and group report at course end, and
will post these evaluations by December 4 to respective groups.
[6] Tutoring
- The lecturer, Dines Bjørner, expects to help, individually,
each group, some 30-60 minutes each, each week.
- That is: Dines Bjørner offers this -- by offering a 30
minute slot, weekly, the first six week
Mondays and Wednesdays-Fridays
(11. Aug. -18. Sept.), and a 60
minute slot,
each week, the Mondays and Wednesdays-Fridays of 24. Sept. -
5. Nov., and in the time frames:
- Monday: 8:30-11:30, 13:30-17
- Wednesday: 8:30-11:30, 13:30-17
- Thursday: 8:30-11:30, 13:30-17
- Friday: 8:30-11:30, 13:30-17
- The lecturer expects around 12 groups, and initially will only
``talk'' with a group 30 minutes per week --
to initialise them,
to get them going, to give the group members verbal
examples of what
he expects them to write in the next weekly report.
- At the same time as a group tutoring half or full hour, the
lecturer will assess that week's assignment report by the tutored
group.
- So, if you have a voice recorder, bring one, and you can
preserve what Dines Bjørner says, and write off from that !
- Dines Bjørner will not be available during the following two
periods:
- Monday August 23 afternoon -- Sunday August 29 all
day.1
- Friday September 17 pm to Sunday September 26.2
- Monday November 8 afternoon -- Thursday November 18 all
day.3
[7] More on Course Topics
- What is Administrative Forms Processing ?
Typically enterprises base part of their day-to-day operations
(especially administration) on a small set of forms:
Employment forms: Application, employment offer, offer acceptance
or rejection, work assignment form, form(s) for reporting sick leave,
leave with, or without pay, etc., termination or notification form,
etcetera; procurement forms: Product or service inquiry,
Product or service offers, requisition, receipt form, inspection
(acceptance or rejection) form, payment form, etcetera. Each form
basically contain preformatted fields, to be `filled in', partially or
fully. Each such partially `filled in' form may undergo several `rounds'
of `filling in' and possible, where needed, approvals
(signatures). Etcetera.
- What is an Airport - and what Software Do You Want and
Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the flow of people
(passengers), material (fuel, catering, luggage), aircrafts,
information (passenger, luggage, catering, fuel, servicing, etc.,
information), and control in an airport.
- What is Air Traffic - and what Software Do You Want
and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the movements
(start-up, take-off, flight, preparation for landing, possible
holding (in holding areas), touch down and taxiing) of aircrafts --
under the monitoring and ``control'' by ground, terminal, area and
continental air traffic control towers.
- What is a Container Harbour - and what Software Do You
Want and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with
the flow of ships and cargo, into and out from a container harbour:
Ships arriving at a container harbour, ships
having, possibly, to anchor for container quay place, ships unloading
and loading containers, ships being detained for customs, illegal
cargo, or lack of seaworthyness reasons in a harbour, ships cleaning
their fuel tanks in a harbour, and ships leaving harbour.
- What is a Document System ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with documents: Their creation as originals, at a certain time and
location, their placement with (allocation to) people or file
cabinets, their copying (whereby unique, distinct copies are made,
with no two copies of the same document being the same due to their
necessarily being copied at different times), their editing (whereby
the document which is being edited -- whether an original, or a copy, or
a version -- becomes a version of the document it was ``edited
from''), their movement (ie., transfer from persons or file cabinets
to (other) persons or (other) file cabinets, all necessarily having
different locations -- or their movement because the person with whom
a document is associated is carrying that document ``around''), or
their shredding.
- What is Freight Logistics - and what Software Do You Want
and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with (1) people (senders) inquiring with logistics firms about and actually
sending or receiving freight transports; (2) with logistics firms arranging
such transportation with trucking companies, with freight train
operators, with ship owners, and with air cargo companies -- as well
as logistics firms interacting with trucking and freight train depots,
harbours and airports; with (3) trucks, trains, ships and aircrafts
unloading and loading freight at depots, harbours and airports, etc.
A central concept: That of a way bill (or a bill of
lading) directs
freight from point of origin via intermediate hubs (depots, harbours,
airports), to final destination.
- What is a Financial Service System - and what Software Do
You Want and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with people, customers, using banks, insurance companies, stock brokers and
portfolio managers. Thus also the entities, functions, etc., of these
phenomena need be described. Of special interest is transfers of
securities instruments
between banks, insurance companies, stock brokers, the (assumed one)
stock exchange, and portfolio managers.
- What is a Hospital - and what Software Do You Want and
Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the flow of patients, visitors and health-care workers, of materials
(beds, medicine, etc.), information (patient medical records with
update information on clinical tests, X-rays, ECGs, MR Scans, CT
scans, etc.), and control in a hospital. Thus patient treatments, as a
process, and its interaction with other hospital processes need be
narrated.
- What is a Manufacturing Company - and what Software Do You
Want and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the flow of orders into, and deliveries from a
manufacturing company, as well as the flow of materials (parts),
equipment (trucks, conveyor belts, etc.), information (sales orders,
production orders, etc.), and control among and within the various
departments of a manufacturing enterprise: Marketing, sales and
service, design, production floor (machines [lathes, saws, mills,
planers, etc.] and their in- and out trays, delivery trucks, etc.),
parts and products warehouses, etc.
- What is the Market - and what Software Do You Want
and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with customers inquiring about, ordering, getting delivered,
returning (rejecting), accepting and paying for, merchandise -- with,
from, and to retailers, who again perform similar actions with
wholesalers, who again perform similar actions with producers, and
where distribution companies may be involved in deliveries from
producers to wholesalers to retailers to consumers.
- What is a Metropolitan Area4 Tourism Industry - and what
Software Do You Want and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the inquiry, arrival, flow and departure of people (tourists,
conference-goers, business people) about, to, within and from a
metropolitan area: Between airports and hotels, and between hotels,
restaurants, shops, museums, theatres, parks, historic sights, nature
spots, etc. Inquiry about and reservations of hotel rooms, restaurants
(tables), theatres (tickets), the inquiry and buying of transport
cards, what to buy, planning of shopping ``spree'' (itinerary),
etc. -- all are part of what a visitor to a metropolitan area
undergoes, including possible visits to the dentist, medical doctor,
or hospital emergency room.
- What is a Railway System and what Software Do You Want
and Get ?
Domain descriptions of this topic shall identify and
describe the entities, functions upon, and events & behaviours in
connection with the rail net (lines and stations), time tables, train traffic,
passengers inquiring, buying tickets, canceling (ie., using) tickets,
etc. The lines and stations consists of rail units, have signals, etc.
Thus railway system personnel despatch and reschedule, maintain
(clean, repair, etc.) trains, and personnel are rostered (ie.,
assigned to train duties, etc.), etc.
For respective of the above topics similar prescriptions, respectively
specifications are to be made of requirements and software design.
The curious student may wish to inspect:
for biographical data about the lecturer.
for information about the course text book.
for information about a worldwide railway system domain R&D project
instigated and headed by Dines Bjørner.
for information about formal methods (the
CoLogNET
part headed by Dines Bjørner).
And:
as the main entry to info related to the lecturer.
Course Plan
CS4211 Software Engineering
Fall 2004
This document was generated using the
LaTeX2HTML translator Version 2002 (1.62)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -toc_depth 6 plan
The translation was initiated by on 2004-10-18
Footnotes
- ... day.1
- DB is chairing a Topical Day Session, August 26, at
the IFIP World Computer Congress 2004, at Toulouse, France:
http://www.wcc2004.org/congress/topical_days/top11.htm.
- ... 26.2
- DB is
planning, subject to approval, to visit UNU-IIST, the United
Nations' University's International Institute for Software
Technology at Macau, SAR, near Hong Kong:
http://www.iist.unu.edu.
- ... day.3
- DB is General Chair of the Intl. Conf. on Formal
Engineering Methods, ICFEM'04, Seattle, Washington, USA:
http://research.microsoft.com/conferences/icfem2004.
- ... Area4
- Such cities as Singapore,
Macau, Hong Kong, London, New York, Tokyo, Paris, etc., can be said
to be `Metropolitan Areas'.
2004-10-18