Software engineering products are becoming ever more complex, because software is being used in the solution of more technically difficult problems and because the size of software projects continues to grow. A key question for software engineers is how to cope with this complexity. There is no single answer, and software engineers must attack the problem from a number of perspectives. A technical perspective reveals new paradigms for system development, including two paradigms that show particular promise: object-oriented design and formal methods. A management perspective recognises that good project management is vital to the success of a complex project. The scale of modern projects makes it essential to use automated support, so software engineers must also look at how to manage complexity from an automation perspective. Automated support can come in the form of discrete tools for particular tasks, or a packaged set of tools in a support environment.
The papers in this book address the problem of managing complexity in software engineering from these different perspectives. The papers are grouped into three sections: Paradigms of software development; Project management; and Automated support. The papers are selected from those presented at the 4th European Seminar on Industrial Software Technology organised by the European Workshop on Industrial Computer Systems (EWICS), whose aim is to promote the effective use of industrial computer systems through education, the dissemination of information and the development of guidelines and standards.
- Chapter 1: Paradigms of modular system development
- Chapter 2: The evolution of object-oriented design from concept to method
- Chapter 3: The role of formal methods in managing complexity
- Chapter 4: Putting mathematics to use
- Chapter 5: The theory of organisation: a mathematical treatment of processing structures
- Part 2: Project management
- Chapter 6: The need for a quality culture for software development
- Chapter 7: Quality metrics for software management and engineering
- Chapter 8: Measuring to manage
- Chapter 9: Structuring routine interactions in software engineering
- Part 3: Automated development support
- Chapter 10: Methods and tools
- Chapter 11: Development support environments
- Chapter 12: Structuring for managing complexity
- Chapter 13: A method-driven support environment
- Chapter 14: Automated support for marrying requirements to programs
- Chapter 15: Configuration support for system description, construction and evolution
Richard Mitchell joined the European Workshop on Industrial Computer Systems (EWICS) in 1980. As a member of its Technology Dissemination Committee he helps organise EWICS European Seminars. The papers in this book are selected from those presented at the 4th European Seminar on Industrial Software Technology.
In 1979 he was awarded an MSc in Computer Science and since then he has been active in computer science research and teaching. He has been influential in bringing formal methods into the curriculum, and he has worked on Alvey and ESPRIT projects on formal methods and software design. He gained a PhD in Computer Science in 1988 for work on bringing object-oriented design and formal methods into the framework of literate programming. He has published a number of papers on various aspects of software engineering. He was recently appointed Reader in Software Engineering at Brighton Polytechnic, and is currently working on the role of formal methods in the development of information systems.