Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde


Te lang geleden voor docent- en roosterinformatie
Contents:When we implement software, what is it we are implementing? When a software house has a contract to deliver a system, what should the contract state about the system? Can a customer prove that the system as delivered does not meet the contractual obligations?

Software Specification is concerned with defining in a precise way the required properties of software, independent of the details or particulars of how it is implemented.

The course will not concentrate on any specification formalisms. Sufficiently unambiguous natural language, and normal mathematical notation, where appropriate, will suffice.

Literature:See CourseLiterature
Course form:This is a hands-on course. The idea is that we will collectively try to produce specifications for non-trivial case studies. For each selected case the students will construct specifications, working in small groups. Then we will collectively look at the results, attempt to poke holes in them, and try to combine the best of each.

The second half of the course will be concerned with a project, extending over several weeks, in which a larger case study is done involving a multi-component system.

Exam form:In-class presentations (50%); final assignment (50%).
Minimum effort to qualify for 2nd chance exam:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
  • What can we specify, and what not?
  • What should we specify, and what not?
  • Who are we specifying for?
  • Formal and informal specifications
  • Functional and non-functional requirements
  • Specification pitfalls
  • Compositionality and refinement
  • Specification of reactive and real-time systems