1、Software Process, Management, and Quality李 宣 东南京大学计算机科学与技术系Outline Software Process Software Quality Assurance Software Configuration Management Software Project Management ConceptsSoftware Process The software process has been the focus of considerable attention over the last decade. 软件过程是近十年来人们关注的
2、焦点。 A software process is a framework for the tasks that are required to build high-quality software.软件过程是为开发高质量软件所需要完成的任务的框架。 More important, software engineering is performed by creative, knowledgeable people who should work within a defined and mature software process. 软件工程是有创造力、有知识的人在定义好的、成熟的软件过
3、程框架中进行的。Software ProcessSoftware engineering layersA quality focusprocessmethodstoolsSoftware ProcessSoftware engineering is a layered technology: Any engineering approach (including software engineering) must rest on an organizational commitment to quality.任何工程方法(包括软件工程)必须以有组织的质量保证为基础。Software Proc
4、essSoftware engineering is a layered technology: Total quality management and similar philosophies foster a continuous process improvement culture, and it is this culture that ultimately leads to the development of increasingly more mature approaches to software engineering. 全面的质量管理和类似的理念刺激了不断的过程改进,
5、正是这种改进导致了更加成熟的软件工程方法的不断出现。 The bedrock that supports software engineering is a focus on quality.支持软件工程的根基就在于对质量的关注。 Software ProcessProcess layer of software engineering The foundation for Software engineering is the process layer. Software engineering process is the glue that holds the technology l
6、ayers together and enables rational and timely development of computer software.软件工程过程是将技术层结合在一起的凝聚力,使得软件能够被合理地和及时地开发出来。Software ProcessProcess layer of software engineering Process defines a framework for a set of key process areas (KPAs) that must be established for effective delivery of software
7、engineering technology. 过程定义了一组关键过程区域的框架,这对于软件工程技术的有效应用是必须的。 The key process areas form the basis for management control of software projects and establish the context in which technical methods are applied, work products (models, documents, data, reports, forms, etc.) are produced, milestones are e
8、stablished, quality is ensured, and change is properly managed. 关键过程区域构成了软件项目管理控制的基础,并且确定了上下各区域之间的关系,规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。Software ProcessMethods layer of software engineering Software engineering methods provide the technical how-tos for building software. 软件工程方法
9、 提供了为开发软件在技术上需要 “如何做 ”。 Methods encompass a broad array of tasks that include requirements analysis, design, program construction, testing, and maintenance. 方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。 Software engineering methods rely on a set of basic principles that govern each area of the technology and includ
10、e modeling activities and other descriptive techniques. 软件工程方法依赖于一组原则,这些原则控制了每一个技术区域,且包含建模活动和其他描述技术。Software ProcessTool later of software engineering Software engineering tools provide automated or semi-automated support for the process and methods. 软件工程工具 对过程和方法提供了自动的或半自动的支持。 When tools are integrated so that information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE), is established.当这些工具被集成起来使得一个工具产生的信息可以被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程( CASE)。