软件工程第二讲ppt课件_第1页
软件工程第二讲ppt课件_第2页
软件工程第二讲ppt课件_第3页
软件工程第二讲ppt课件_第4页
软件工程第二讲ppt课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,第二讲基于计算机的系统工程软件过程,上讲内容复习什么是软件工程?什么是软件生命周期?常用的两种软件工程方法是什么?整个软件过程中确切的成本分布取决于什么?优良软件的属性有哪些?你认为一个软件工程师应肩负的职业和道德责任是什么?,.,软件工程广义的定义为:软件工程是一门工程学科,涉及软件生产的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。软件工程狭义的定义是:“运用系统的、规范的、可定量的方法来开发、运行和维护软件”。软件生命周期是指从软件需求分析到软件退役的整个过程。结构化分析方法(DeMarco,1978)和JSD方法(Jackson,1983)在20世纪70年代首次开发出来,这些方法旨在识别系统中基本的功能模块,而面向功能的方法现在仍被广泛应用。面向对象的方法是Booch(1994)和Rumbaugh等(1991)等人在20世纪80年代至90年代提出的。现在,这些方法已经被集成为一种方法统一建模语言(UML)(Fowler和Scott,1997;Booch等,1999;Rumbaugh等,1999a,1999b)。由于整个软件过程中确切的成本分布取决于所采用的过程和开发的软件类型。,.,优良软件的属性,.,软件工程师应肩负的职业和道德责任,1.机密:工程人员必须严格保守雇主或客户的机密,而不管是否签署了保密协议。2.工作能力:工程人员应该实事求是地表述自己地工作能力,不应有意接受超出自己工作能力的工作。3.知识产权:工程人员应当知晓控制专利权、著作权等知识产权使用的地方法律,必须谨慎行事,确保雇主和客户的知识产权受到保护。4.计算机滥用:软件工程人员不应运用自己的技能滥用他人的计算机。遵守ACM/IEEE-CS联合制定以规范软件工程行业的软件工程职业道德和职业行为准则,.,第二讲基于计算机的系统工程软件过程,学习目的系统总体特性系统及其环境系统工程过程:系统需求定义、系统设计、系统建模、子系统开发、系统集成、系统安装、系统进化、系统退役组织、人员和计算机系统:组织过程遗留系统功能、非功能需求和领域需求用户需求系统需求:结构化语言描述、接口描述软件需求文档,.,一、基于计算机的系统工程,(一)概述1.系统的定义系统工程是描述、设计、实现、有效性验证、实施和维护等一系列活动。由于软件工程问题都是来自于系统工程的总体决策,因此对软件工程师而言,就需要了解系统工程知识。系统的定义有许多种,一个最实用的定义是:一个系统是一组相互关联、能一起工作从而达到某个目标的相关组件的集合。从生活实际中选取一些系统的例子,并用上述定义进行解释。,.,基于计算机的系统工程概述,2.系统特性系统特性(emergentproperty)(Checkland,1981)不能归于任何一个专门的组件部分,只有从系统整体上看时这些特性才浮现出来。这源于:系统组件的特性和行为是紧密关联的,很难简单地分开。一个共享地的子系统在特别的系统中表现出来的行为依赖与其他子系统之间的关系。系统中组件之间的复杂关系意味着系统不只是它的各部分之间的简单组合,它还产生一些系统的总体特性。列举系统特性的一些例子。,.,基于计算机的系统工程系统总体特性,系统总体特性是系统整体上的属性。系统特性有两种类型:1.功能特性当系统的所有部分一起工作以达到一些目标的时候表现出来。举例说明:自行车作为运输工具的功能2.非功能特性表现为在特定的操作环境系统的表现行为。如,可靠性、安全性、保密性等。系统的可靠性具有一定的复杂性,表现在对其影响的因素有:硬件可靠性软件可靠性操作员可靠性等等,.,基于计算机的系统工程系统及其环境,(三)系统及其环境系统都是在一定地环境中存在的。这个环境影响系统的功能和性能。环境分为:物理环境和组织环境。有时,环境可能被作为一个独自的系统,更一般的情况是,环境包括一系列相互作用的其他系统。,一座办公大楼的环境系统,.,基于计算机的系统工程系统及其环境,系统工程师需要了解系统环境的两个理由:1.在许多情况下,系统的目的就是要改变环境。因此,正确的系统功能只能通过环境效果来评估。2.一个系统的功能要受到环境变化的影响,这种影响可能很难估计。组织环境包括政治、经济、社会和环境等因素决定的政策和流程。从影响系统设计的系统环境中得出人和组织的因素包括:过程变更工作变化机构的变化,.,基于计算机的系统工程系统建模,作为系统需求和设计活动的一部分,系统必须被建模成一系列组件和组件间的关系。通常,这些是以图的形式描述在系统体系结构模型中,以便给读者一个系统组织的总体概念。,.,网上购书电子商务系统数据流程图(第一层),.,基于计算机的系统工程系统建模,在一个系统中每个功能组件又可以分为以下几类:传感器组件:该组件收集来自系统环境的信息。执行机构组件:引起一些系统环境的改变。计算组件:给定输入,执行计算并产生输出。通信组件:该组件的功能是实现其他系统组件之间的彼此通信。调度组件:其功能是要协调其他组件间的操作。界面组件:将一个组件中的表示转换成另一个组件中的标示。,.,基于计算机的系统工程系统工程过程,系统工程过程和软件开发过程之间有重要的区别:学科间的互相渗透:系统工程包含许多其他的工程学科。在系统开发期间的返工余地在缩小:一旦某些系统工程的决策做出,再对决策进行改变将是非常昂贵的,重做系统设计来解决这些问题是不可能。而软件具有很强的灵活性,可以根据需求的变更做出相应的修改。,.,基于计算机的系统工程系统工程过程,1.系统需求定义发现系统整体的需求。需求定义阶段通常侧重导出三种类型的需求:(1)抽象的功能需求:系统必须提供的基本功能被定义在这个层次。(2)系统特性:非功能的系统的总体特性。(3)系统一定不要有的性质:有时说明系统一定不要有什么与说明系统一定要有什么同样重要。需求定义阶段的重要任务之一是建立系统要达到的一些总的目标。建立系统需求的一个主要的困难是遇到“极复杂的问题”(RittelandWebber,1973),通常为此专门建立一个复杂的系统去帮助解决。“极复杂的问题”,是指该问题具有非常多的关联体,并且无法给出问题的确切描述。,.,基于计算机的系统工程系统工程过程,2.系统设计将不同的组件整合成一个能提供所需功能的系统。它包含以下活动:,.,基于计算机的系统工程系统工程过程,(1)分割需求:分析需求,进一步将其归结到相关的集合。(2)识别子系统:将独立地或联合地满足需求的子系统识别出来。(3)为子系统分配需求:将需求分配到子系统上。(4)描述子系统功能:描述清楚每个子系统的功能。子系统之间的关系需在此阶段识别出来。(5)定义子系统接口:定义每个子系统提供的和需要的接口。系统的设计方案可能有多个,它们是包括硬件因素、软件因素和人的因素的多种组合的选择。,.,基于计算机的系统工程系统工程过程,3.子系统开发实现在系统设计期间识别出来的那些子系统。若这个子系统本身又是一个大系统,则可能进入另一个系统工程过程。若子系统是一个软件系统,那么包括需求、设计和实现等这样的软件过程就启动了。子系统开发的形式:整合商业现成产品(COTS)子系统,构成一个完整的满足需要的子系统。自主开发子系统。不同的子系统通常是并行开发的。当出现了问题,而且问题超出了子系统的范围的时候,一个系统修改的请求就一定要发生。但通常修改的是软件而不是硬件。,.,基于计算机的系统工程系统工程过程,4.系统整合将一个个独立开发的子系统整合为一个完整的大系统。整合的方式:大爆炸方式:同时将所有的子系统整合在一起。增量式:整合过程被分为多个子过程,每个整合子过程只能整合一部分子系统。增量方式是最合适的方式的理由:不同子系统的开发时间是无法准确预计的,“同时”不大可能。可以减少错误定位的成本。,.,基于计算机的系统工程系统工程过程,5.系统安装系统进入实际的工作环境。安装阶段可能出现的问题有:系统被安装的环境与系统开发者假定的环境不同。系统的用户不能善意地对待新引入的系统。一个新的系统可能必须与一个已存在的系统并存,直到机构满意新的系统的工作为止。可能有物理的安装问题。6.系统操作进入运行阶段。运行一个系统可能包括组织操作人员培训并且改变正常的工作过程以适应新的系统。当系统运行到有问题的地方时,它的功能可能就不符合真正的操作需要。结果时系统的使用模式就不再如系统设计者所预期的那样。,.,基于计算机的系统工程系统工程过程,7.系统进化大型和复杂的系统都会有一个非常长的生存期。在整个生存期内,必须改进原先系统需求中的错误进而满足出现的新需求。8.系统退役是指在它的有效生存期结束之后从系统服务中退出。系统工程活动应该预计到系统退役一级由其带来的废料丢弃问题。软件没有物理上的退役问题,然而,一些软件的功能对系统退役过程有所帮助。例如,软件能识别出未损坏的组件,并留作他用。数据的保留。,.,基于计算机的系统工程系统获得,系统的购买方式有几种情况:系统整体购买购买其中一部分,然后整合出新的系统为其特别地设计和开发对于一个机构来说,系统获得的过程包括选择最好的购买方式和最佳的供货商。在做出获得决策之前,一些相关的系统描述和体系结构设计必须完成,主要因为:购买或签约定制一个系统,必须完成对系统高层的需求描述。购买一个现成的系统总是比重新设计和制造新系统要便宜。,.,本章小结,本章主要介绍了系统的基本概念、系统工程过程和基于计算机的系统工程的组成。系统是由相互作用和相互依赖的若干组成部分结合成的、具有待定功能的有机整体。系统工程过程包括系统需求定义系统设计子系统开发系统整合系统安装系统操作系统进化系统退役计算机系统工程主要由硬件工程,软件工程,人机工程,数据库工程组成。,.,练习,1.请描述系统的定义,并列举出身边现实生活中的三个系统。2.系统工程的过程有哪些,请列举并描述。3.列举基于计算机的系统工程组成,并简要介绍。,.,参考文献,1程成等译,IanSomerville著,软件工程8hedition(英),机械工业出版社,2009年1月出版。2张海藩著,软件工程导论第4版,清华大学出版社,2007年出版3李代平等编著,软件工程(第2版),清华大学出版社,2008年1月出版。4杨文龙等编著,软件工程第2版,电子工业出版社,2006年出版。5周苏著

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论