基于项目的软件工程
2002-10
高等教育出版社
斯蒂尔勒
382
620000
本书着重讲述面向对象的软件开发:支持概念化、分析、设计和实现一个面向对象的项目。不依附于某种语言,必要的代码段用Java完成。UML的子集被使用;当需要时符号被解释,以支持学生的学习。两个运行的实例研究是视频游戏和图书馆检索系统,演示软件项目的开发。二者都有可交付使用的实例,向读者提供工作中将要建立的例子。 书中包括指导学生一学期课程项目的开发,包括如何制作说明和样本。较大的软件工程环境通过现实软件开发成功案例展示,还有一些项目管理真实事务的材料。本书适合于教授软件工程课程和/或者一个基于项目的课程,以软件项目分析、设计和测试为主要目的。 内容:⒈ 软件工程简介 ⒉ 面向对象范例概述 ⒊ 面向对象的分析 ⒋ 产品设计 ⒌ 类定义 ⒍ 案例研究:Game2D的方法设计 ⒎ 实现 ⒏ 测试 ⒐ 项目管理 ⒑ 设计模式 ⒒ 软件开发的不佳事件 ⒓ 完成并演示项目CLASS
作者Evelyn Stiller、Cathie LeBlanc均执教于美国Plymouth州立学院,多年从事软件工程等课程的教学工作。
PrefaceCHAPTER I lntrodudion to Software Engineering 1.1 Key Concepts 1.2 Why Engineer Softwre? 1.3 Elements of a Softwre Development hadigm 1.3.1 Project Conceptualization 1.3.2 Project Representation 1.3.3 Project Implementaion 1.4 A Brief History of Soforare Engheering Techniques 1.4.1 Structured Programming 1.4.2 Functional Decomposition 1.4.3 Structured Analysis and Design 1.4.4 Data-Centered Paradigm 1.4.5 Object-Oriented Paradigm 1.5 The Costs of Not Engineering Software 1.6 Why Software Engineering Is Not Universal 1.7 The Role of the Project 1.8 Working in Teams 1.9 Creating the Project Team 1.10 CLASS PROJECT: Functional Requirements 1.10.1 Project Overview 1.10.2 Game Elements 1.10.3 The Game Sequence of Events 1.10.4 Moving and Landing on Planets 1.10.5 Minning the Game 1.10.6 Project Thoe Frame 1.11 Questions for ReviewCHAPTER 2 Object-Oriented Paradigm overview 2.1 Key Concepts 2.2 Getting Acquainted with the Class Project 2.2.1 Guidelines for Creating Informal Scenarios 2.2.2 Sample Informal Scenario: User Makes a Move 2.3 Object-Oriented Conceptualization 2.3.1 Application-Specilic Relationships 2.3.2 Inheritance 2.3.3 Aggregation/Composition 2.3.4 Other Categorizations of Relationships 2.4 The Softwar Life Cycle 2.4.1 The Softwar Development Process 2.5 Object-Oriented Modeling 2.5.1 Role of Model Building 2.5.2 Creating Quality Modules 2.5.3 Modeling Notation 2.5.4 Use of Models in Software Engheering 2.6 Qualiies of a Good Object-Oriented System 2.7 Wodrig in Teams 2.7.1 The Chief Propeer Team 2.7.2 Holding Effective Team Meetings 2.8 Questions for ReviewCHAPTER 3 Object-Odented AnaIysis 3.1 Key Concepts 3.2 Introduction to Requirements Analysis 3.3 The Importance of Requirements Analysis 3.4 Requirements Specilication 3.5 CASE STUDY: Library Management System Specification 3.6 Evaluating the Requirements SpecificatiOn 3.7 Refining the Requirements Specincation 3.7.1 Prototyping as a Refinement Tool 3.8 Verifying the Requirements Specincation 3.9 Propagating Requirements throughout Development 3.10 The Process of Requirements Analysis 3.10.1 ldentifying Classes of UCCD 3.10.2 CASE STUDY: Identifying Classes for LMS 3.10.3 Identifyng Use Cases 3.10.4 CASE STUDY : Identifying Use Cases in LMS 3.10.5 Scenario Development 3.10.6 CASE STUDY: Sample Scenarios in LMS 3.10.7 Modeling the System with UML 3.10.8 Class Diagrams 3.10.9 CASE STUDY: Class Diagrams for LMS 3.10.10 Use Case Diagrams 3.10.11 CASE STUDY: Use Case Diagrams for LMS 3.10.12 Requirements Analysis Summary 3.10.13 Evolving the System 3.11 Analyzing the CLASS PROJECT 3.12 Working in Teams 3.13 Questions for ReviewCHAPTER 4 Produd DesignCHAPTER 5 CIass DesignCHAPTER 6 CASE STUOY: Game2D with Method DesignCHAPTER 7 lmpIementotionCHAPTER 8 TestingCHAPTER 9 Projecd ManagementCHAPTER 10 Design PatternsCHAPTER 11 Software Development Horror StoriesCHAPTER 12 Completing and Presenting the PROJECTReferencesIndex