Table of ContentsPart 1 OverviewChapter 1: IntroductionChapter 2: Socio-technical systemsChapter 3: Critical systemsChapter 4: Software processesChapter 5: Project managementPart 2 RequirementsChapter 6: Software requirementChapter 7: Requirement engineering processesChapter 8: System modesChapter 9: Critical systems specificationChapter 10: Formal specificationPart 3 DesignChapter 11: Architectural DesignChapter 12: Distributed System ArchitecturesChapter 13: Application ArchitecturesChapter 14: Object-oriented DesignChapter 15: Real-Time Software DesignChapter 16: User Interface DesignPart 4 Critical SystemsChapter 17: Rapid Software DevelopmentChapter 18: Software ReuseChapter 19: Component-based Software EngineeringChapter 20: Critical Systems DevelopmentChapter 21: Software EvolutionPart 5 Verification and ValidationChapter 22: Verification and ValidationChapter 23: Software TestingChapter 24: Critical Systems ValidationPart 6 Managing PeopleChapter 25: Managing PeopleChapter 26: Software Cost EstimationChapter 27: Quality ManagementChapter 28: Process ImprovementChapter 29: Configuration Management