




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用软件工程,主要内容,1.1 软件工程的定义 1.2 软件工程的作用 1.3 软件工程学的范畴 1.4 软件的开发方法 1.5 软件工程的支持过程,1.1 软件工程的定义(1),美国软件工程大师roger s.pressman说:“越早开始写代码的人,就是越迟完成代码的人”。,软件 = 程序 +,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。,数据 +,文档,1.1 软件工程的定义(2),美国人对软件定义的认识过程: (1).20世纪50年代: (2).20世纪60年代: (3).20世纪70年代: (4).1974年: (5).1984年: (6).1991年:,软件就等于程序,软件系统就是程序系统。,软件等于程序加文档。这里的文档,是指软件开发过程中的分析、设计、实现、测试、维护文档,还不包括管理文档。,软件等于程序加文档再加数据。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,还包括软件企业积累的项目工程数据和项目管理数据。,美国人认识到软件需要管理。,美国人认识到软件管理是一个过程管理,或是一个管理过程。,美国出现了软件过程能力成熟度模型cmm 1.0版,人们研究了软件过程管理的具体内容与方法。,1.1 软件工程的定义(3),文档的重要性及其分类: (1).文档在软件工程中特别重要,文档是否规范与齐全,是衡量软件企业是否成熟的重要标志之一。 (2).软件文档分为:开发文档和管理文档。,开发文档主要由项目组书写,用于指导软件开发。,管理文档主要由软件工程管理部门书写,用于指导软件管理和决策。iso9001和cmm/cmmi,对管理文档的书写,都做出了详细规定。,+,1.1 软件工程的定义(4),开发文档的层次关系,目标程序,需求规格说明,详细设计说明书,概要设计说明,源程序,用户需求报告,软件合同或软件任务书,管理文档的时序依赖关系:,立项管理,实现管理,策划管理,设计管理,需求管理,测试管理,发布管理,实施管理,发布管理,维护管理,1.1 软件工程的定义(5),程序的定义: (1).面向过程的程序 (2).面向对象的程序 (3).面向数据的程序 (4).面向构件的程序,= 算法+数据结构,= 对象+消息,= 数据库表+存贮过程 (或触发器或视图),=构件+构架。,1.1 软件工程的定义(6),2. 软件工程的定义: (1).美国软件工程权威roger s.pressman,在2001年对软件工程的定义是:“软件工程是一个过程、一组方法和一系列工具。” (2).美国权威杂志ieee,在1993年对软件工程的定义是: “软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去。” (3).本书作者赵池龙,在2003年对软件工程的定义是: “软件工程是研究软件开发和软件管理的一门工程科学。”,1.1 软件工程的定义(7),3. 软件工程研究的内容: (1).软件开发模型 (2).软件开发方法 (3).软件支持过程(软件case工具) (4).软件管理过程,瀑布模型、增量模型、原型模型、迭代模型等。,面向过程的方法、面向数据的方法、面向对象的方法。最近又出现了面向“业务基础平台”的方法,其实质仍然是面向对象的方法。,rose、北大青鸟系统、power designer、er win。,iso9000、cmm/cmmi、软件企业文化(微软企业文件、敏捷文化现象和ibm企业文化 )。,1.1 软件工程的定义(8),4. 软件工程的基本原理: (1).用分阶段的生命周期计划严格管理软件开发。 (2).坚持进行阶段评审。上一阶段评审不通过,就不能进入下一阶段开发。 (3).实行严格的产品版本控制。 (4).采用现代程序设计技术。 (5).结果应能清楚地审查。对文档要有严格要求。 (6).开发小组的成员要少而精。 (7).不断地改进软件工程实践的经验和技术。 (8).二八定律。,1.2 软件工程的作用(1),高层管理人员,中层项目经理和 软件工程师,软件蓝领工人,软件营销人员,软件售前人员,软件实施和维护人员,1.2 软件工程的作用(2),从软件项目团队来讲 从软件企业本身来讲 从软件发展进程来讲 软件工程的作用越来越大,它的地位也越来越高。以前,软件工程只是作为一门课或一本书。现在,它成为一个计算机专业,一个计算机学位,即软件工程硕士学位和软件工程博士学位。,在规定的时间内,按照规定的成本,完成预期质量目标(软件的功能、性能和接口达到需求报告标准)的软件。,持续地规范软件开发过程和软件管理过程,不断地优化软件组织的个人素质和集体素质,逐渐增强软件企业的市场竞争实力。,克服软件危机,控制软件进度,节约开发成本,提高软件质量。,1.3 软件工程学的范畴,1.4 软件的开发方法 (1),这一节是本书的精华与核心,其内容是: 1.三种开发方法。 2. “五个面向”理论。,面向过程的方法 面向对象的方法 面向数据的方法,面向流程分析 面向数据设计 面向对象实现 面向功能测试 面向过程管理,1.4 软件的开发方法(2),1. 面向过程的方法 特点:程序的执行过程不由用户控制,而由程序员控制。 优点:简单实用。缺点:维护困难。 应用领域:实时跟踪监控系统。例如导弹防御系统。,1.4 软件的开发方法(3),2. 面向对象的方法 在分析、设计、实现中用到“对象、类、继承、消息通信”这四个基本概,就是面向对象的方法。面向对象方法的要点是将客观世界的事物进行分类,先面向类进行设计,后面向对象进行编程。 特点:程序的执行过程不由程序员控制,而由用户控制。 优点:是易于维护。缺点:较难掌握。 应用于领域:网上浏览层和业务层的编程。,1.4 软件的开发方法(4),3. 面向数据的方法 面向数据,实质就是面向元数据。该方法的要点是: (1) 数据位于信息系统的中心。 (2) 只要企业的业务方向和内容不变,企业的元数据就是稳定的,由元数据构成的数据模型也是稳定的。 (3) 对元数据的处理方法是可变的。用不变的元数据支持可变的处理方法,这就是信息系统工程的基本原理。 (4) 企业信息系统的核心是数据模型。 (5) 数据层用面向数据方法,其他层用面向对象方法。 (6) 用户始终参与信息系统的分析、设计、实现与维护。,特点:程序的执行过程,根据数据流动和处理的需要,有时由程序员控制,有时由用户控制。 优点:通俗易懂。缺点:实现窗口界面较困难。 应用于领域:信息系统中数据层上的设计与实现,,1.4 软件的开发方法(5),五个面向理论: (1).面向流程分析 (2).面向数据设计 (3).面向对象实现 (4).面向功能测试 (5).面向过程管理,就是面向流程进行需求分析。,就是面向元数据进行概要设计,主要内容是数据层的数据库设计。,就是面向对象进行详细设计和编程实现,主要内容是浏览层和应用层的设计与实现。,就是面向功能进行单元测试、集成测试、alpha测试和beta测试。(单元测试有时还要用到面向程序路径的白盒测试方法),就是面向过程对软件生命周期各个阶段进行管理和控制,如cmmi/iso9001。,1.5 软件的支持过程,软件工程的支持过程,由支持软件生命周期各个阶段的生产工具所组成,如需求工具、设计工具、测试工具。 软件开发环境,是指能够连续地支持多个开发阶段的case工具,如power designer、rose。,软件的支持过程,软件的支持工具,=,完整的case内容包括三个方面:case方法(快速原型法或迭代方法)、case技术(实体关系建模技术或面向对象建模技术)、case工具(软件开发环境)。case方法需要case技术的支持,case技术需要case工具的实现。,1.6 软件的管理过程,1974年,美国人认识到“软件需要管理”。1984年,美国认识到“软件管理是过程管理”。目前,软件工程中主要存在三类过程管理。 (1).iso9000 (2).cmm/cmmi (3).软件企业文化,iso9001,按20个质量要素来管理。iso9001-2000,按31个“过程域”来管理。,cmm按五个阶段和18个关键过程域来管理。cmmi分为阶段模型和连续模型,按24个过程域来管理,这是管理过程的主流。,微软企业文化、ibm企业文化、敏捷文化现象。,1.5 .1 iso9001体系(1),这20个质量要素是:,管理职责,质量体系,合同评审,设计控制程序,文件资料控制,采购,客户提供产品控制,产品标识和追溯,过程控制,检验和试验,检测设备控制,检验和试验状态,不合格品控制,纠正和预防措施,搬运储存包装防护和交付,质量记录控制,内部质量审核,培训,服务,统计技术,iso9001,将it企业的质量管理和质量保证活动,概括为20个质量要素,规定每个要素的目的和范围,以及每个要素在何时、在何地、由何人、按照什么标准、规范或规程去做,做完后按质量记录的模板书写质量记录。,1.5 .1 iso9001体系(2),iso9001的实施思路:,管理者代表,由公司总裁或总经理任命“管理者代表”,在管理者代表的领导下,成立iso9001 “贯标办公室”,负责贯标的组织与实施工作。,贯标工作人员,在贯标范围内的有关单位,各指定一名兼职或专职的“贯标工作人员”,参加iso9001培训,编制与本单位相关的iso9001文档,并在本单位加以实施,合格后成为为iso9001的“内部评审员”。,iso9000的咨询公司,聘请一家iso9000的咨询公司,负责实施iso9001培训,指导内审员编制iso9001文档,进行内部评审。合格后,再推荐一家iso9000认证机构,进行正式认证。,认证机构派出认证小组,最后,由认证机构派出认证小组,进驻it企业,对相关单位、部门和项目组,实地考察、检查、提问和测试,进行iso9001正式认证,合格后发放证书。,1.5 .1 iso9001体系(3),iso9001的文件体系 : (1).质量手册 (2).程序文件 (3).质量记录,规定质量方针和目标、公司简介、组织机构、质量体系要求等细则。它是iso9001的基本法,是程序文件的指导方针。,规定每个质量要素在何时、在何地、由何人、按照什么标准、规范或规程去做。做完后按照模板格式书写质量记录。每个质量要素对应一个程序文件,所有质量要素的程序文件汇总,就是公司的程序文件。,对每个质量要素,在执行活动中,其质量记录就是程序文件中的模板或指南的运行记录。,1.5.2 微软企业文化模式(1),将软件企业文化当作软件过程管理的一种模式,纳入软件工程研究的范畴,是软件工程发展史上的一件大事。软件是一种智力产品,软件人员的智力本身既是一种有形资产,又是一种无形资产。在软件企业文化的研究方面,微软做得比较突出。 企业文化实质上是一种企业环境,而环境就是一种生产力。微软的用人之道是“人品、智慧、团队精神”三要素,以及“宁缺勿滥”和“不拘一格”的原则。微软的管理者认为,软件开发是一门科学,需要尽可能地加以量化;更是一门艺术,需要有经验的人来控制与把握。,1.5.2 微软企业文化模式(2),团队的六个角色: 产品经理 程序经理 开发者 测试者 用户教育 实施者,每个团队的六个目标: 需求分析与管理 计划与风险管理 设计编程实现 进程质量功能监控 用户熟练操作 实施与维护,整个团队的六个角色至少要三个人才能担任:一人兼任产品经理、测试者和用户教育,一人兼任程序经理和实施者,另一人任开发者。事实上,微软的团队就是由项目经理、开发经理和测试经理这三部分人员所组成的。,1.5.2 微软企业文化模式(3),2团队组成的五条原则 (1).共同的目标:团队就是为了实现上述的六个目标。 (2).产品版本导向:根据市场需求,用产品版本导向来指导团队开发,不同的版本有不同的功能。 (3).零错误导向:在分析、设计、实现中用零错误来要求团队,这是团队努力的方向。 (4).跟踪客户导向:这样才能提供最佳服务和最佳产品。 (5).学习导向:团队内部实行培训学习制度。,1.5.2 微软企业文化模式(4),3项目风险管理 微软开发团队对风险管理采取评估、控制和检查点的管理办法。 4按里程碑管理团队计划进度,风险评估:列出风险源,分优先级排序评估。,风险控制:包括风险标识、风险分析、风险计划、风险跟踪和风险控制,将一个大风险分解为多个小风险来排除。,项目风险管理:先实现项目框架,再实现基本版本,采取分阶段发布新版本策略。为此要建立风险文档、进行加权分析、用trigger设置检查控制点。,选定生存周期开发模型,设置多个里程碑,尽量在上游发现解决问题,这样可提高效率50% 以上,规定设计时间要大于等于实现(编程和测试)时间。,1.5.2 微软企业文化模式(5),5. 团队成功的三原则 6. 团队的开发周期不能超过一年 7. 团队开发人员遵守不成文的三项约定,微软解决方案框架msf建议,为了增强团队成员的成就感和凝聚力,团队的产品开发周期一般不能超过一年。,文档齐全、互相阅读代码、代码中有清楚的注释。,(1).创建活动式文档(living documents)。(2).版本发布管理(versioned release)。 (3).以计划进度、投入资源和产品功能特性为三个角,做一个金三角交易图,找出平衡点,掌握在合适的时候推出合适的产品。,1.5.3 cmm/cmmi(1),1cmm/cmmi的由来 软件能力成熟度模型cmm/cmmi(capability maturity model/ capability maturity model integration ),是由美国卡内基-梅隆大学软件工程研究所(software engineering institute,sei)推出的评估软件能力与成熟度等级的一套标准。 该标准基于众多软件专家的实践经验,侧重于软件开发过程管理能力的提高,是软件生产过程改善的标准和软件企业成熟度等级评估的标准。 由于该标准不涉及具体的软件开发方法和技术,所以它具有广泛性、通用性和持久性。,1.5.3 cmm/cmmi(2),2cmm的作用 企业的产品质量和服务质量,来自于企业内部的过程管理状态和过程改进状态。而过程管理和过程改进是要有模型的,因为模型能够引导企业从杂乱无章的管理状态进入有条不紊的管理状态。 概括地讲,软件企业的过程能力成熟度模型cmm的作用,是软件组织的能力评估和过程改进,它的应用领域具体表现在三个方面。 (1)软件组织:用它来不断改进自身的软件过程管理能力。 (2)评估机构:用它来评估某软件组织当前软件能力成熟度的级别。 (3)客户:用它来评价某承包商 (软件外包商)的软件能力。,1.5.3 cmm/cmmi(3),3cmm的实质 (1).以“过程”为核心抓软件组织的管理,即软件“组织”的过程改进。 (2).以“项目”为手段抓团队开发过程的“活动”,即落实过程改进的措施。 (3).以“活动”记录为基础抓软件过程的“度量”,即“度量”软件组织改进的情况。,这里的“过程”,既包括开发部门的软件开发过程,又包括管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年神经内科多发性硬化症影像学诊断考察试卷答案及解析
- 户外广告承揽安装合同6篇
- 2025年职业技能鉴定线上平台的技术创新与教育可持续发展研究
- 2025年AI教育产品设计师学习分析考核题(含答案与解析)
- 实验动物饲养员抗压考核试卷及答案
- 2025年大模型训练师模型监控流程考核题(含答案与解析)
- 塑料真空成型工异常处理考核试卷及答案
- 建筑幕墙设计师数字化技能考核试卷及答案
- 有机介质电容器装配工三级安全教育(公司级)考核试卷及答案
- 石英玻璃冷加工工设备维护与保养考核试卷及答案
- 2025年乡镇畜牧站动物检疫员招聘考试重点知识点梳理与解析
- 土地合作协议书合同模板
- 2025水利安全员C证考试题库(含答案)
- 合同保证金转让三方协议
- 一级建造师-机电工程管理与实务-案例专题突破教学课件
- 2025人教版(2024)一年级上册数学教学计划 (三篇)
- 无人机原理课件
- 1.1 精微广大-绘画的功能和种类 教学设计-2023-2024学年高中美术人美版(2019)选择性必修1 绘画
- 全校教学质量提升会上校长讲话:把每一节课教好是我们最实在的荣耀
- 体适能教学课件培训
- 市场监督局知识培训课件
评论
0/150
提交评论