软件工程过程与软件工程.ppt

上传人:牧羊曲112 文档编号:6434259 上传时间:2023-10-30 格式:PPT 页数:35 大小:318KB
返回 下载 相关 举报
软件工程过程与软件工程.ppt_第1页
第1页 / 共35页
软件工程过程与软件工程.ppt_第2页
第2页 / 共35页
软件工程过程与软件工程.ppt_第3页
第3页 / 共35页
软件工程过程与软件工程.ppt_第4页
第4页 / 共35页
软件工程过程与软件工程.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《软件工程过程与软件工程.ppt》由会员分享,可在线阅读,更多相关《软件工程过程与软件工程.ppt(35页珍藏版)》请在三一办公上搜索。

1、软件技术基础,自动化系:黄巧莉,南大学计信院自动化系,第十二章 软件工程过程与软件工程管理,12.1 软件工程概述12.2 软件工程过程12.3 软件质量保证12.4 软件项目管理12.5 软件配置管理12.6 软件开发环境与技术基础设施,南大学计信院自动化系,软件生存期的阶段划分,(1)可行性研究与计划(2)需求分析(3)总体设计(4)详细设计(5)实现(6)集成测试(7)确认测试(8)使用和维护,成长期(开发期),孕育期(计划期),成年期(运行期),南大学计信院自动化系,新的国际标准定义的软件生存过程(1995ISO/IEC12207),软件生存周期过程,支持过程,辅助过程,主要过程,获取

2、过程,供应过程,开发过程,运行过程,维护过程,文档编制过程,配置管理过程,质量保证过程,验证过程,确认过程,联合评审过程,审核过程,问题解决过程,管理过程,基础设施过程,改进过程,培训过程,南大学计信院自动化系,把主过程的技术活动叫关键活动域,把支持、辅助过程的活动叫伞形活动域。一个软件产品的开发,除了对主过程建模,还需要把辅助、支持过程插入,才算是真正的过程建模。,南大学计信院自动化系,软件过程与软件质量,由算法过程对程序质量的重要性可以推断为某个项目排定的项目过程,即项目计划,对软件质量的影响的重大。过程模型不当,管理太死模型正确,活动安排不当工期临近,临时加班突击多次返工,临时小决策太多

3、,南大学计信院自动化系,12.3 软件质量保证,12.3.1 软件质量与度量指标度量指标如何量度12.3.2 软件质量保证SQA小组的活动SQA的技术途径,南大学计信院自动化系,软件质量需求,(1)显式的。要与软件和应用程序显式陈述的规范说明中的功能、性能强相符,符合开发标准和准则、指南。(2)隐式的。满足本企业(单位)所有的期望,例如某项功能和性能超出本项目规范说明定义的需求,以占领市场。,南大学计信院自动化系,软件的质量因素,软件的质量因素很多,如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等等(还可以列出十几个)重点:可维护性、可靠性、

4、可理解性和效率,南大学计信院自动化系,软件质量的度量(评价),成功的标准:用户在用 用户可很容易做完要做的事失败的根本原因:开发人员写出的东西达不到 用户要求(人的问题、技术问题),南大学计信院自动化系,12.3.2 软件质量保证,软件质量保证是一种管理活动,SQA活动,贯穿于软件过程始终。开发单位成立SQA小组负责全面质量管理。一类是软件工程师负责质量方面的技术工作:运用技术方法作出度量;进行技术评审,实施测试计划。一类是SQA小组(由项目经理、开发人员、客户、销售人员组成)制定并实施SQA计划,做出记录,分析,报告。,南大学计信院自动化系,1.SAQ小组的活动,(1)为开发项目制定SQA计

5、划在开发项目计划时就要做出SQA计划。对于SQA组的工作以下几方面:各种评审 为多种人员参与的讨论会,以规格说明或各种标准,规范为准评价各项软件工作。各种审计 审计(Audit),以职能人员为主审,审查软件过程产物是否符合标准或规格说明书。报告和记录 所有测试、评审、审计都要详细记录并写出报告,报告和记录均要整理、归档各种测试 测试软件是否满足规格说明的要求。,南大学计信院自动化系,(2)软件评审软件工程提倡不上机运行各种评审。正式技术评审最多可以发现75的瑕疵,软件的过程偏差只能通过评审发现。软件的缺陷是越早发现改正费用越小。正式技术评审,作为项目计划中应列入的活动。(3)软件质量保证计划以

6、上活动均应在项目计划中列出子计划。,南大学计信院自动化系,2.SQA的技术途径,测试是对所做的工作的确认,即工作产品是否符合规范和标准,是事后的认可。验证是证明质量是符合规范和标准的方法,按照规范标准的步骤完成。形式方法的SQA统计方法的SQAISO9000质量标准与SQA,南大学计信院自动化系,12.4 软件项目管理(SPM),项目(project)管理是过程管理的主要体现,它根据项目要达到的目标(软件的功能、性能)作出包含人力、资源、技术过程、质量保证、进度安排的项目计划,并按此计划追踪、报告、协调来完成项目。软件项目管理是对该软件生存周期的所有活动(除交付后的维护活动之外)的全面管理。,

7、南大学计信院自动化系,软件项目管理内容,1.项目获取 定义项目的性质和目标、经费、交付期2.建立与客户的通信 客户关系管理3.定义开发过程 管理模型4.组织管理 人力资源管理5.制定项目计划 过程实例描述6.风险管理 评估所采用的技术和管理带来的风险7.质量管理8.项目调度与追踪 过程实施9.变更管理 软件配置管理,南大学计信院自动化系,12.4.1 风险管理,风险分析是识别本项目中有什么风险,风险管理是如何躲开,监督风险的发生,万一出现风险如何采取措施。1.风险因素,应从下述角度分析:产品大小 开发环境业务相关 组织大小和人员经验客户相关 重用件相关技术相关 过程相关,南大学计信院自动化系,

8、2.风险评估通过标识风险、估计风险概率、估计影响范围测量每个风险的破坏力3.风险管理 是开发一种策略对以上分析出的风险因素进行管理:一为回避(mitigation)不使风险发生第二种办法是监控(monitoring)第三种办法是加强管理和做应急计划(management and contingency planning),南大学计信院自动化系,12.4.2 项目计划,软件项目计划为合理搭配资源、费用、进度提供一个框架。项目计划列出软件开发所做的工作。一般的陈述是“做什么”,特殊的陈述是“做多少”和“多长时间”。项目计划的中心目标是安排进度。,南大学计信院自动化系,项目计划的工作内容,确定项目的

9、工作范围识别资源软件项目评估做出外购决策制定项目计划,南大学计信院自动化系,项目计划的主要内容,参与项目的各种角色通信的范围和资源定义了风险和风险管理技术定义了费用和进度作为评审的依据为所有参与者提供了活动途径勾画了质量保证和变更如何管理,南大学计信院自动化系,12.4.3 项目调度与追踪,1.为软件项目定义任务集2.定义一个任务网络3.安排进度表4.进度跟踪,南大学计信院自动化系,安排进度表,在制定项目进度安排时,主要依据是合同书和项目计划。通常的做法是把复杂的整体项目分解成许多可以准确描述、度量、可独立操作的相对简单的任务,然后安排这些任务的执行顺序,确定每个任务的完成期限、开始时间和结束

10、时间。开始需要考虑的主要问题是:项目可以支配的人力及资源项目的关键路径生存周期各个阶段工作量的划分工程进展如何度量各个阶段任务完成标志如何自然过渡到下一阶段的任务等。,南大学计信院自动化系,进度跟踪,项目追踪实施由项目管理人员负责。他们必须按进度安排表追踪检查每一个任务。如果任务实际完成日期滞后于进度安排,则管理人员可以行使职权范围内的权力采取各种补救措施以减少进度误期所造成的影响。包括对资源重新定向,对任务重新安排,甚至可以修改交付日期以调整已经暴露的问题。,南大学计信院自动化系,1.过程分解2.时限图3.项目追踪,南大学计信院自动化系,软件配置管理是遍及软件生存期的伞形活动,它管理软件配置

11、项以保证更改能正确实现。“协调软件开发使得混乱减小到最小的技术叫做配置管理。配置管理是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产率。”,12.5 软件配置管理(SCM),南大学计信院自动化系,软件工程过程各项活动的产物(程序、文档、数据)经评审或审批后都称之为软件配置项(SCI),第一次交付的软件配置项构成基线(Base line)配置项。,1.软件配置项和基线,南大学计信院自动化系,基线,系统功能说明。系统模型,项目计划,进度安排;软件需求规格说明。图形分析模型、过程、原型、数学规格说明;设计规格说明。数据设计、体系结构设计、界面设计、对象的描述等;验收规格说明;

12、测试规格说明。测试计划、测试用例、测试预期结果、测试记录等;数据库描述。数据模式、记录结构、数据项描述;模块规格说明。模块功能、模块算法、模块接口等描述;运行系统。模块代码、链接模块、数据库、支持及工具程序等;用户文档。安装说明、操作说明、用户手册等;培训计划;维护文档。故障报告、维护要求、更改记录等;项目采用的有关标准和规程。,南大学计信院自动化系,南大学计信院自动化系,2.配置管理的任务,软件配置管理(SCM)的主要任务是每当有了更改,与其相关的软件配置项均应得到正确处理,使新版本软件无内部冲突。标识软件配置项管理配置项的各种版本审计每一个项目产物,保证变更控制每当有了改变则按既定的规程修

13、改并刷新软件版本;向有关人员发出配置状态报告。标识、审计、版本控制、变更控制、报告这五项工作目前已开发出许多自动工具可以自动完成,南大学计信院自动化系,12.6 软件开发环境与技术基础设施,程序(软件)的开发、运行都是在支持软件的基础上作出的。这些支持软件的总和我们称之为软件开发环境(Environment)早期的环境只有最必要的软件工具:语言的编译器、连接器、加载和运行工具、排错(debugging)工具,终端显示和编辑工具。我们称最小环境工具集。,南大学计信院自动化系,1.CASE工具概述,70年代中期,软件工程师迫于软件危机的压力,提出了计算机辅助软件工程(CASE)的设想,开发出一系列

14、工具尽量使软件过程的各项活动自动化、半自动化,即利用软件开发软件。信息工程工具、过程模型和管理工具、项目计划工具、风险分析工具、项目管理工具、需求追踪工具、度量和管理工具、文档工具、系统软件工具、质量保证工具、数据库管理工具、软件配置管理工具、分析和设计工具等等。,南大学计信院自动化系,2.集成的CASE工具,工具日益增多,单点式使用工具很不方便,使用者要逐个将工具调入,使用后其生成的产物需要逐个保管,一个工具要用到另一工具的输出,其格式不对就无法用,消除或修改一个名字,则各工具产物中所有相同的名字都要逐个修改。这就在客观上产生了集成的要求。(1)集成的需求(2)集成环境的结构,南大学计信院自动化系,集成的CASE工具,集成框架的体系结构,南大学计信院自动化系,3.技术基础设施,基础设施是位于操作系统平台上的软件,把应用系统中通用的、常用的抽取出来做成中间件,简化编程,凡是能简化编程负担的设施都叫技术基础设施。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号