Software Project Management2017-Lec12-Software Build Management
- 格式:pptx
- 大小:851.75 KB
- 文档页数:43
Demystifying the Capability Maturity ModelBrian ParrishSENG 510Software Project ManagementInstructor: Larry JacowitzMarch 27, 2003With the increasing push by the U.S. government to verify that their subcontractors have achieved certain Capability Maturity Model (CMM) levels, there is an increased need to understand the workings of the CMM. Judy Bamberger states “the CMM is one of the most misunderstood pieces of technical literature in existence.” [Bemberger] This paper will be an attempt to de-fog the CMM language and help the reader achieve a better understanding of it.After several decades of missed deadlines, overrun budgets and sub-par quality products, software developers realized that mismanagement of the software process was their primary shortfall. This realization started the research initiative that led to the CMM. In late 1986, the Software Engineering Institute (SEI) and Mitre Corporation began development of a process maturity framework that would enable software process improvement by developers. This framework was released by SEI in a September 1987 description document. [Humphrey 1] Since the SEI was a government funded organization, they could not evaluate private organizations. This situation led to the development of the software-process assessment and the software-process evaluation. They also developed a maturity questionnaire to appraise software process maturity. [Humphrey 2] After four years of experience with the process maturity framework, the SEI evolved it into the CMM. This evolution was consummated by the release of version 1.0 of the CMM in 1991.Parrish 1Since its inception, the CMM has evolved into the following focus areas:¾SW-CMM - Capability Maturity Model for Software¾P-CMM - People Capability Maturity Model¾SA-CMM - Software Acquisition Capability Maturity Model¾SE-CMM - Systems Engineering Capability Maturity Model¾IPD-CMM - Integrated Product Development Capability Maturity Model For the purposes of this paper, the term “CMM” will refer to the SW-CMM since thiswas the CMM development team’s original intent.Since the CMM focuses on the ideas of mature organizations versus immatureorganizations, it would behoove the reader to have an understanding of what is meant bymature and immature in this context.In a mature organization, there is an organization-wide ability to manage maintenanceand development. Managers can accurately communicate the software process and workactivities to staff because of the planned process. The processes actually model the ways inwhich work is actually done within the organization and are updated when necessary.Roles and responsibilities are clear within the project and across the organization.Schedules and budgets are based on realistic historical performance. Expected results areusually achieved for cost, quality and functionality. Quality is monitored as well as theprocesses that produce it. Generally, the process is consistently followed and there is abuy-in by all of the participants due to an understanding of the benefits of compliance.Immature organizations have ad-hoc software processes that are created on-the-fly bydevelopers and project managers. If there is an organization-wide software process plan, itis not followed or enforced. The organization takes a reactionary approach to development2and maintenance by having the managers more focused on solving crises than on process improvement. Schedules and budgets are routinely exceeded. Product quality and functionality suffer when deadlines are enforced to meet a schedule. Since there is no way to judge product quality or solve problems, product quality is difficult to predict and activities to improve quality are often overlooked when trying to meet a schedule. These activities include testing and reviews.Figure 1 - Maturity FrameworkThe CMM is based on many small steps rather than large world-shattering innovations. The CMM provides a framework for organizing these evolutionary steps in five maturity levels as shown in Figure 1. Each maturity level is comprised of a set of goals that, when3satisfied, result in an increase in process maturity. The arrows in Figure 1 represent the set of ideas that are being implemented at that level. For example, to get from level 1 to level 2, an organization must implement disciplined processes.Level 1: Initial. Level 1 organizations do not have a stable environment for development and maintenance of software. There is usually difficulty making commitments that the staff can meet with an orderly engineering process. This usually results in a series of crises. During such a crisis, planned processes are ignored and the organization reverts to coding and testing. Success depends on having strong project management that can withstand outside influences that are trying to change the process. Despite the chaotic nature of level 1 organizations, they may be able to develop working products, but the chances of doing so on time and under budget are quite slim. This level of organization relies on heroic individuals and that makes this level individually capable instead of organizationally capable.Level 2: Repeatable. At the Repeatable level, policies for managing a software project and procedures to implement those policies are established. The planning and management of a project is based on experience with similar projects. Projects in level 2 organizations have installed basic management controls. Project managers track costs, schedules and functionality and identify problems in meeting commitments when they arise. Software requirements and the products developed to satisfy them are baselined and their integrity is controlled. Project standards are defined and the organization ensures that they are faithfully followed. Processes may differ among projects in a level 2 organization. To achieve level 2, an organization must have policies that help project managers establish4appropriate management processes. Level 2 organizations have disciplined processes because project planning and tracking are stable and earlier processes can be repeated. Because of the repeatable nature of the processes, prior successes can be relived and prior failures can be avoided.Level 3: Defined. At the Defined level, a typical process for developing and maintaining software across the organization is documented, including both software -engineering and management processes, and these processes are integrated into a consistent whole. A group, such as a software-engineering process group, is responsible for an organization’s process activities. [Fowler] An organization-wide training program ensures that the staff and managers have the knowledge and skills that they require. Project teams tailor an organization’s standard software process to develop their own defined process, which takes into account the project’s unique characteristics. A well defined process includes readiness criteria, inputs, standards and procedures for performing the work, verification mechanisms, outputs and completion criteria. An example of a verification mechanism is a peer review. Because the process is well defined, management has good insight into technical progress on all projects. Level 3 organizations are standard and consistent because both software engineering and management activities are stable and repeatable. This process capability is based on a common, organization-wide understanding of the activities, roles and responsibilities in the defined processes.Level 4: Managed. At the Managed level, an organization sets quantitative quality goals for both products and processes and refines processes with well-defined and consistent measurements. Productivity and quality are measured for important process5activities across all projects as part of an organizational measurement program. Software products are predictably of high quality. An organization wide database is used to collect and analyze the data available from a project’s defined processes. These measurements establish the quantitative foundation for evaluating a project’s processes and products. Projects control their products and processes by narrowing the variation in their performance to fall within acceptable quantitative boundaries for the organization. Level 4 organizations are quantifiable and predictable because the process is measured and operates within measurable limits. This level of capability lets an organization predict trends in process and product quality within the quantitative bounds of these limits.Level 5: Optimizing. At the Optimizing level, the entire organization is focused on continuous process improvement. The organization has the means to identify weaknesses and strengthen the process proactively, with the goal of preventing defects. Data on process effectiveness is used to perform cost-benefit analysis on new technologies and propose changes to the process. Project teams analyze defects to determine their causes, evaluate the process to prevent known types of defects from recurring and disseminate lessons learned to other projects. Organized efforts to remove waste result in changing the system by changing the common causes of inefficiency. Reducing waste happens in all of the levels, but it is the predominant theme at level 5. Level 5 organizations are continuously improving because they are continuously striving to improve the range of their process capability, thereby improving the process performance of their projects. Improvement occurs both by incremental advancements and by innovations in technologies6and methods. Technology and process improvements are planned and managed as ordinary business activities.One of the major downfalls of the CMM is how organizations choose to apply it. The CMM was not meant to be a progress marker for organizations, but instead a tool that should be applied and modified to fit their organization. Judy Bamberger, one of the original authors of the CMM, states that “the CMM wasn’t intended to be all things to all people or cover all aspects of software and system development.” [Bemberger] A very important aspect of process development that the CMM leaves out is the people aspect. This includes how to retain people, team dynamics and other important activities.There are countless ways to integrate the CMM into an organizations framework. Two interesting examples of large efforts are the Federal Aviation Administration (FAA) and the U.S. Army Simulation, Training and Instrumentation Command (STRICOM). These are interesting because they both produced successful results but went about the process in different ways.The FAA took several different CMM models including the SW-CMM, the SE-CMM and the SA-CMM and incorporated them into one version called the FAA Integrated Maturity Model (FAA-iCMM). They use this model to “increase the efficiency and effectiveness of FAA processes and process improvement efforts.” [Sheard] This model has been in place since March 1997.U.S. Army STRICOM took a different approach in that they adopted one of the original CMM models, the SA-CMM, and molded to fit that process themselves. They did not7tailor the model to fit their organization; instead, they tailored their organization to fit the model. This model also has been in place since March 1997.The CMM has proved to be an invaluable tool when it is tailored to an organizations needs. However, the organization needs to understand that the CMM may not be the total solution that is needed for their process improvement goals.8References[Humphrey 1] W.S. Humphrey. “Characterizing the Software Process: A Maturity Framework.” IEEE Software. March 1998. pp. 73-79.[Humphrey 2] W.S. Humphrey and W.L. Sweet. ”A Method For Assessing the Software Engineering Capability of Contractors.” Tech. Report CMU/SEI-87-TR-24,ADA235784, Software Engineering Institute, Pittsburgh, 1987.[Fowler] P. Fowler and S. Ritkin. “Software Engineering Process Group Guide.” Tech.Report CMU/SEI-90-TR-24, ADA235784, Software Engineering Institute,Pittsburgh, 1990.[Bemberger] Bemberger, J. (June 1997) Essence of the Capability Maturity Model. IEEE Computer, p. 112-114.[Helrsleb] J. Helrsleb, et. al. “Software Quality and the Capability Maturity Model.”Communication of the ACM. Online. Available:“/SWPI/processframework/cmm/cmm.html.” AccessedMarch 20, 2003.[Card] D. Card. “Sorting Out Six Sigma and the CMM.” Online. Available:/pub/externalpapers/sorting_out_six_sigma.pdf. Accessed:March 20, 2003.[Sheard] S. Sheard and S. Rose. “Two Approaches to CMM Integration.” Online.Available: /pub/externalpapers/9804-1.html.” Accessed:March 20, 2003.9。
计算机科学与技术专业Specialty in Computer Science & Technology一、培养目标Ⅰ.Educational Objectives培养德、智、体全面发展,具有计算机科学与计算机工程领域系统、扎实的理论基础,知识结构合理,具有创新能力和国际竞争力的高素质的科技人才。
本专业的学生在信息的获取、传递、处理及应用等方面具有较宽广的专业知识、掌握现代计算机科学及工程中计算机硬件和计算机系统软件的基本原理、计算机应用技术,并具有较强的工程实践能力,具备设计、开发计算机硬件、计算机系统软件和应用软件的能力。
要求本专业学生具有较强的英语语言能力、良好的人文素质和创新精神,并在计算机科学、嵌入式系统、操作系统、计算机网络、信息安全、软件工程、信息处理及其相关领域中的一个或两个方向具有特色。
毕业生能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的高级研究型及应用型人才。
This program is designed to provide a thorough grounding in the theoretical principles and knowledge of information retrieval, transformation, processing and application. It remains committed to systematic education for high-level researchers and doers, who have the personality of innovation and the desire for international competition.Students shall be equipped with a professional education of principles and technology in the field of computer hardware & software. Moreover, the proficiency in engineering practice and the ability in development of hardware & software are required. Students with good command of English and personality of innovation shall be expert in one or two of the following fields: Computer Science, Embedded Systems, Operating System, Automatic Control, Computer Network, Information Security, Software Engineering, Information Processing and other related fields. Students can be prepared for any professional role they might choose-education, research & design, practice in research institutes, universities, industries, the professions and other community groups.二、培养要求Ⅱ.Major requirements本专业毕业生主要应获得以下几方面的知识和能力:1. 掌握扎实的数学、物理等自然科学和一定社会科学基础理论知识,具有较强的外语应用能力;2. 掌握文献检索、资料查询的基本方法,具有获取信息的能力;3. 较系统地掌握本专业所必需的高级语言、操作系统、计算机硬件、数据库、网络技术等基础理论和研究开发计算机软、硬件的基本技能;4. 掌握必要的相关专业基础知识,包括网络工程、信息安全和软件工程等方面的基本知识;5. 了解计算机科学与技术的发展动态和计算机的有关法规;6. 具有较好的人文社科知识和人文素质,以及较强的协调、组织能力;7. 具有较强的创新精神。
2025年软件资格考试软件过程能力评估师(基础知识、应用技术)合卷(中级)自测试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、软件过程能力评估师在进行软件过程评估时,最常用的评估模型是:A. CMMI(能力成熟度模型集成)B. ISO/IEC 15504(软件过程评估模型)C. SPICE(软件过程改进和环境能力)D. MOF(微软运营框架)2、在进行软件过程评估时,以下哪个因素不是影响软件过程能力的直接因素?A. 人员技能B. 工具和技术C. 组织文化D. 项目管理方法3、在软件过程能力成熟度模型(CMM)中,哪个级别表示组织已建立了标准化的过程并能够进行过程改进?A. CMM Level 1 - 初级B. CMM Level 2 - 可重复C. CMM Level 3 - 定义D. CMM Level 4 - 管理级4、软件过程能力评估师在进行软件过程评估时,以下哪项活动不是必须的?A. 收集过程文档B. 与团队成员进行访谈C. 分析项目历史数据D. 评估软件产品的质量5、题干:在软件工程中,以下哪项不是软件开发生命周期模型?A. 瀑布模型B. 螺旋模型C. 水晶模型D. 代码审查模型6、题干:以下关于软件质量特性的描述中,哪项是错误的?A. 软件质量特性包括功能性、可靠性、易用性、效率、可维护性和可移植性。
B. 功能性是指软件满足用户需求和预期的程度。
C. 可靠性是指软件在特定条件下保持其性能的能力。
D. 软件的可维护性是指软件能够被修改和适应环境变化的能力。
7、在软件过程中,以下哪个阶段通常不涉及详细设计工作?A、需求分析B、概要设计C、详细设计D、编码实现8、在软件过程能力成熟度模型(CMM)中,以下哪个等级代表组织已经建立了稳定的软件过程?A、初始级B、可重复级C、已定义级D、管理级9、在软件过程能力成熟度模型(CMM)中,哪个级别代表了组织已建立有效的软件过程,并已对软件过程进行了定量管理?10、敏捷开发方法中的“故事卡”通常用于什么目的?11、在软件开发生命周期中,以下哪个阶段是需求分析的起点?A. 系统设计B. 系统规划C. 系统实现D. 系统测试12、以下哪个标准是用于评估软件产品的可维护性的?A. ISO/IEC 15504(SPICE)B. ISO/IEC 25010(SQuaRE)C. ISO/IEC 25000(SWE-CMM)D. ISO/IEC 1220713、在软件过程评估中,下列哪项不是过程成熟度模型(CMM)关注的核心要素?A. 项目管理B. 人员管理C. 软件质量管理D. 组织管理14、在软件过程能力评估中,以下哪个指标通常用来衡量软件项目交付的及时性?A. 项目进度偏差B. 完成分解任务的时间C. 完成时间与计划时间之比D. 需求变更频率15、在软件过程能力成熟度模型(CMM)中,以下哪个级别代表了组织已建立了有效的过程管理机制?A. 初始级(Initial)B. 可重复级(Repeatable)C. 定义级(Defined)D. 管理级(Managed)16、软件质量保证(SQA)的主要目的是什么?A. 确保所有软件需求都被满足B. 减少软件缺陷和错误C. 提高软件产品的可靠性D. 以上都是17、以下关于软件质量保证(Software Quality Assurance,简称SQA)的说法中,正确的是()。
S o f t w a r e-P r o j e c t-M a n a g e m e n t-P l a n(共12页)-本页仅作为预览文档封面,使用时请删除本页-Software Project Management PlanFor<Computer Store Management System >RevisionChange logTable of contents1 INTRODUCTION (4)Project Overview (4)Project Deliverables........................................................... . (4)2. PROJECT ORGANIZATION (4)Software Process Model (5)Software life cycle (5)Data flow diagram................................................................ .. (5)Roles And Responsibilities (7)Tools And Techniques (7)3 PROJECT MANAGEMENT PLAY (8)Tasks (8)Task 1----SOW Creation (8)Task2---Create document (9)Task3---coding and testing (10)Assignments (11)Timetable (11)4 ADDITIONAl MATERIALS (12)Reference material (12)Definitions and abbreviations................................................................ (12)1 INTRODUCTIONThis document defines the Software Project Management Plan for the Computer Store Management System(CSMS) product of TeamMission Possible (TMP). This plan is based on IEEE STANDARD, Standard for Software Project Management Plans (ANSI).Project OverviewThe project is to develop a computer store sales management system. The system is intended to enhance the operational efficiency of the supermarket. Through comprehensive information collection and processing, supporting the decision-making to improve the level of the supermarket. Use of this system, you can quickly improve the management level of the supermarket, in order to reduce operating costs, improve efficiency, enhance the ability of supermarket expansion, to provide effective technical support。