next_inactive up previous


SOFTWARE ENGINEERING
A Series of Text cum Handbooks

Dines Bjørner

October 23, 2006

Abstract:

This is the base home page for a series of three text cum handbooks on Software Engineering .


Contents

Three Volumes

General

Software engineering: the art, craft, discipline, logic, practice and science of developing large scale software products is in increasing need of a trustworthy, believable and professional base. These volumes are devoted to fill this need. The present series of strongly related volumes combine informal, engineeringly sound approaches with the rigour of formal, mathematics based approaches.

References to Springer URLs

Guide

[1] Abstraction and Modelling - xxxix + 711 Pages

Volume 1: Back and Front
Left: One of my wife's Patchwork & Quilts: Multi- coloured Asters

Synopsis, Volume 1

The present volume covers the basic principles and techniques of abstraction and modeling.

First this volume provides a sound, but simple basis of insight into discrete mathematics: Numbers, sets, Cartesians, types, functions, the Lambda-Calculus, algebras and mathematical logic.

Then this volume goes on to teach and train its readers in basic property and model oriented specification principles and techniques.

The model oriented concepts, that are common to such specification languages as B, VDM-SL, and Z, will be propagated here through he use of the RAISE specification language RSL.

Finally this volume will cover basic principles of functional, imperative and parallel specification programming - the latter based on the use of CSP: Hoare's language of Communicating Sequential Processes.

Chapter Overview, Volume 1

[2] Specification of Systems and Languages - xxiv + 779 Pages

Left: One of my wife's Patchwork & Quilts: Green and Pink Harlequin

Synopsis, Volume 2

The present volume covers the basic principles and techniques of specifying systems and languages.

First this volume teaches and trains its readers in advanced principles and techniques: Hierarchical versus compositional, denotational versus computational, and configurational: Abstracting and modeling contexts and states.

Then this volume goes on to teach and train its readers in basic principles and techniques of modeling the semiotics: Pragmatics, semantics and syntax of systems and languages.

An important part covers principles and techniques of modeling spatial and simple temporal phenomena.

A major section of this volume is devoted to such specialised topics as: Modularity (incl. UML's Class Diagrams); Petri Nets; Live Sequence Charts; Statecharts; and Temporal Logics, including the Duration Calculus.

This part epitomises the adage: We ``UML''-lise formal techniques. Thus the reader is brought, on a firm, precise, formal basis, on to the (trustworthy, believable and) professional use of such ideas as are also the mainstay of UML.

Finally this volume presents principles and techniques for developing the basis for sound and efficient interpreter and compiler development of functional, imperative, modular and parallel programming languages.

Volume 2 has Volume 1 as prerequisite text.

Chapter Overview, Volume 2

[3] Domains, Requirements, and Software Design - xxx + 766 Pages

Left: One of my wife's Patchwork & Quilts: Fence Rails

Synopsis, Volume 3

The present volume covers the basic principles and techniques of overall software development: From domains via requirements to software designs.

Thus this volume advocates a novel approach to software engineering based on the adage: Before requirements can be formulated one must understand the application domain.

This volume is therefore structured this way: From (i) the principles and techniques for the development of domain descriptions, via (ii) principles and techniques for the derivation of requirements prescriptions from domain models, to (iii) principles and techniques for the refinement of requirements into software designs: Architectures and component design.

Emphasis in the coverage of domain and requirements engineering is on `what goes into a proper domain description', respectively `requirements prescription', and on `how does one acquire and analyse the domain knowledge', respectively `the requirements expectations, and `how does one validate and verify domain and requirements models'.

The present volume is structured so as to be targetable for two rather different audiences: In one clearly marked structure - focusing only on the informal parts - this volume is targeted at undergraduate students in a second semester course on software engineering, as well as at college lecturers in that field. In another - for the full version of this volume - it is targeted at advanced students, lecturers and researchers.

This is a novel feature for textbooks.

As such Volume 3 - in the first, simple version - has no prerequisite texts. In the full version Volume 3 has Volume 2 as prerequisite text.

Chapter Overview, Volume 3

How to Order ?

Errata

The six Chinese translators of these three SE books have established a (blog) page per volume for errata found by them and others. Please consult these pages:

Course Support

A Guide Book

249 Lecture Topics Covering 5884 Slides

Lecture Guidelines

Assignments: Exercises and Solutions

URLs to Formal Methods &c. Home Pages

You may not have heard of the term "formal method" (we ourselves prefer the term: "formal techniques"). Therefore, please take time to browse below references -- to be checked now and regularly for ``dead links''!


Formal Methods Home Pages


Papers/Reports/Company ''Flyers'' on Formal Methods

...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...

latex2html -split 0 -toc_depth 6 /home/db/thebooks/Software_Engineering/Software_Engineering

About this document ...

SOFTWARE ENGINEERING
A Series of Text cum Handbooks

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

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 Software_Engineering

The translation was initiated by Dines Bjorner on 2006-10-23


next_inactive up previous
Dines Bjorner 2006-10-23