《软件过程与质量》由会员分享,可在线阅读,更多相关《软件过程与质量(195页珍藏版)》请在金锄头文库上搜索。
1、Software Process, Management, and Quality,李 宣 东南京大学计算机科学与技术系,Outline,Software ProcessSoftware Quality AssuranceSoftware Configuration ManagementSoftware Project Management Concepts,Software 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 Process,Software engineering layers,A quality focus,process,methods,tools,Software Process,Software engineering is a layered technology:Any engineering approach (including software engineering) must rest on an organizational commitment to quality.任何工程方法(包括软件工程)必须以有组织的质量保证为基础。,Softwar
4、e Process,Software 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 Process,Process layer of software engineeringThe foundation for Software engineering is the process layer. Software engineering process is the glue that holds the techn
6、ology layers together and enables rational and timely development of computer software.软件工程过程是将技术层结合在一起的凝聚力,使得软件能够被合理地和及时地开发出来。,Software Process,Process layer of software engineering Process defines a framework for a set of key process areas (KPAs) that must be established for effective delivery of
7、software 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, milesto
8、nes are established, quality is ensured, and change is properly managed. 关键过程区域构成了软件项目管理控制的基础,并且确定了上下各区域之间的关系,规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。,Software Process,Methods layer of software engineering Software engineering methods provide the technical how-tos for building softw
9、are. 软件工程方法提供了为开发软件在技术上需要“如何做”。 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 an
10、d include modeling activities and other descriptive techniques. 软件工程方法依赖于一组原则,这些原则控制了每一个技术区域,且包含建模活动和其他描述技术。,Software Process,Tool later of software engineeringSoftware engineering tools provide automated or semi-automated support for the process and methods. 软件工程工具对过程和方法提供了自动的或半自动的支持。 When tools ar
11、e 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)。,Software Process,Tool later of softwar
12、e engineeringCASE combines software, hardware, and software engineering database (a repository containing important information about analysis, design, program construction, and testing) to create a software engineering environment.CASE集成了软件、硬件和一个软件工程数据库(包含了关于分析、设计、编程和测试的重要信息),从而形成了一个软件工程环境。,Softwar
13、e Process,A generic view of software engineeringThe work associated with software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity: The definition phase focuses on what. The development phase focuses on how. The support (maintenanc
14、e) phase focuses on change.,Software Process,A generic view of software engineeringThe phases and related steps described in generic view of software engineering are complemented by a number of umbrella activity (保护性活动): Software project tracking and control Formal technical reviews Software quality
15、 assurance Software configuration management Document preparation and production Reusability management Measurement Risk management,Software Process,过程:为实现一个给定目标而进行的一系列运作步骤。 过程具有一系列的性质:时间性、并发性、嵌套性和度量性等。 软件过程:开发和维护软件及其相关产品所设及的一系列活动。过程是框架的集合;框架是任务的集合;任务是把输入转换为输出的活动。,Software Process,A software process
16、 can be characterized as follows: A common process framework is established by defineing a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. A number of task sets - each a collection of software engineering work tasks, project
17、milestones, work products, and quality assurance points - enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team. Umbrella activities - such as software quality assurance, software configuration management, and measurement - overlay the process model. Umbrella activities are independent of any one framework activity and occur throughout the process.,