2%-第02章系统工程_第1页
2%-第02章系统工程_第2页
2%-第02章系统工程_第3页
2%-第02章系统工程_第4页
2%-第02章系统工程_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

软件工程第2章系统工程1复旦大学计算机科学与工程系软件工程课程什么是系统系统(ISO):一组或一系列相关的元素[人、产品(硬件和软件)及过程(设备、装备、材料和规程)],其行为满足运转需要并且为产品生存周期的维持提供支撑软件密集系统(Software-IntensiveSystem)Software+Hardware+HumanActivities计算机软件只是其中的一环仅仅软件这一部分也是由密集交互的多种软件组成的——多种应用软件、操作系统、中间件等…2复旦大学计算机科学与工程系软件工程课程系统的例子国美电器的销售系统在若干城市的若干门店、具有合作关系的家电企业一套行之有效的销售模式:处理上游和下游的关系计算机系统:校园一卡通硬件设备:服务器、刷卡器、一卡通网络、IC卡软件系统:结算软件、银行接口、查询系统…规程/人员:设计与一卡通相关办理、消费、挂失、充值、结算等制度和流程,设置相应的岗位和职责系统分析和规划:合理规划各软硬件部件、规程、人员的目标、需求,使各部分相互配合形成完整的3复旦大学计算机科学与工程系软件工程课程系统工程系统工程:关注目标系统各种相关要素的分析、设计,并将其组织成有机的系统有机:像生命体一样,各个部分密切配合、有序演化,达到系统的总体目标系统工程与软件工程系统工程更加广泛,软件工程源于系统工程任何软件的开发都处于一个更大的系统之中,因此软件开发必须先从了解软件所处的系统全局视图4复旦大学计算机科学与工程系软件工程课程内容摘要基于计算机的系统系统工程的任务可行性分析5复旦大学计算机科学与工程系软件工程课程内容摘要基于计算机的系统系统工程的任务可行性分析6复旦大学计算机科学与工程系软件工程课程

所谓基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的组合对于用户而言有意义的是可以达到预期目标的系统(完整的软硬件解决方案)而不是单一软件组成基于计算机系统的元素主要有:软件、硬件、人员、数据库(及其它系统软件)、文档和规程(Procedure)基于计算机的系统7复旦大学计算机科学与工程系软件工程课程系统元素软件—指计算机程序、数据结构和相关的工作产品,以实现所需要的逻辑方法、规程或控制硬件—指提供计算能力的电子设备、支持数据流的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等)人员—指硬件和软件的用户和操作者8复旦大学计算机科学与工程系软件工程课程数据库—指通过软件访问并持久存储的大型的有组织的信息集合文档—指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、硬复制手册、联机帮助文件、Web站点)规程(procedures)—指定义每个系统元素的特定使用或系统所处的过程性语境的步骤9复旦大学计算机科学与工程系软件工程课程计算机软件与系统计算机软件一般位于整个系统的核心位置不同的计算机信息系统具有不同的特点一般应用软件系统只要求标准硬件(PC、服务器等)配置,因此往往只需要关注软件本身嵌入式软件系统中存在复杂的软硬件交互:例如工业控制系统需要直接控制多种硬件设备、手机终端软件需要考虑手机的配置情况等…随着软硬件技术的发展,软硬件的边界不断变化不断增强的硬件指令支持USBKey、加密狗等硬件解决了许多软件很难解决的问题10复旦大学计算机科学与工程系软件工程课程系统的层次结构任何系统都处在一个更大的系统之中,形成系统的层次结构校园一卡通系统包括基础网络、结算系统、银行接口系统、消费终端等子系统一卡通系统处于整个学校系统(教务、财务、学工…)之中学校系统属于整个高等教育系统乃至社会系统的一环……我们在某个项目中关注的具体系统总是有确定的边界,例如对于结算系统项目而言:已知:消费终端可以将基本消费信息通过一卡通网络发送过来、银行接口系统支持银行系统的联机圈存操作…当前系统任务:根据消费及圈存信息记录更新各学生账户信息…11复旦大学计算机科学与工程系软件工程课程基于计算机的系统结构对于基于计算机的系统而言基于计算机的系统可以成为一个更大的基于计算机系统中的一个元素,称其为那个更大系统的宏元素基于计算机的系统可呈现一个层次结构工厂自动化系统12复旦大学计算机科学与工程系软件工程课程为什么强调系统工程被动选择:现实的信息系统往往是一个复杂的系统工程,其中的软件需要与系统中其它部件合理分配责任、密切配合,从而达到系统的总体目标主动选择:只作自己擅长的事情选择合适的硬件解决方案选择基础软件解决方案,或者第三方软件部件和软件服务,不用自己13复旦大学计算机科学与工程系软件工程课程例:一卡通结算系统中的安全性要求从硬件方面,整个校园消费网络采用专线联接,不与校园网连通,同时要求敏感操作员使用USBKey进行身份认证从应用软件方面,进行日志记录,并与USBKey认证接口进行集成从制度方面:建立机房及核心服务器的日常安全管理制度,设置专人负责可疑交易信息的监控…14复旦大学计算机科学与工程系软件工程课程软件项目的客户方基础设施业务现状、人员现状遗留数据、遗留系统以及重用的可能是否处于一个规划中的更大系统之中,与其他系统的关系如何15复旦大学计算机科学与工程系软件工程课程软件项目的第三方基础设施基础软硬件系统服务器、OS、DB、AS等可用软件构件特殊硬件设备:USBKey、加密狗等可能的项目合作伙伴软件外包构件外包16复旦大学计算机科学与工程系软件工程课程内容摘要基于计算机的系统系统工程的任务可行性分析17复旦大学计算机科学与工程系软件工程课程计算机系统工程计算机系统工程是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口18复旦大学计算机科学与工程系软件工程课程计算机系统工程的任务识别用户的要求(了解问题)

标识系统的功能和性能范围,确定系统的功能、性能、约束和接口19复旦大学计算机科学与工程系软件工程课程系统建模和模拟(提出完整的解决方案)通常可考虑建立如下模型:硬件系统模型:描述基于计算机系统中的硬件(包括计算机、受系统控制的其它硬件设备等)配置、通信协议、拓扑结构、以及确保基于计算机系统的安全性、可靠性、性能等要求的措施。软件系统模型:描述各软件子系统的功能、性能等要求,它们在硬件系统中的部署情况,以及软件子系统之间的交互。人机接口模型:描述人如何与基于计算机的系统进行交互,包括用户环境、用户的活动、人机交互的语法和语义等。数据模型:描述基于计算机的系统使用了哪些数据库管理系统,如果使用多个数据库管理系统,还应描述它们之间的数据转换方式,必要时可给出主要的数据结构。20复旦大学计算机科学与工程系软件工程课程系统模型通常可用图形描述,并加以相应的文字说明。必要时,在系统建模后可构造原型,进行系统模拟,以分析所建的模型能否满足整个基于计算机的系统的要求。21复旦大学计算机科学与工程系软件工程课程成本估算及进度安排(给出实施计划)对将开发的基于计算机的系统进行成本估算,并作出进度安排。可行性分析(系统及实施方案的现实可行性)从经济、技术、法律等方面分析所给出的解决方案是否可行,通常只有当解决方案可行并有一定的经济效益和/或社会效益时才开始真正的基于计算机的系统的开发。生成系统规格说明22复旦大学计算机科学与工程系软件工程课程内容摘要基于计算机的系统系统工程的任务可行性分析23复旦大学计算机科学与工程系软件工程课程可行性分析开发一个基于计算机的系统(以及其他系统)通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成24复旦大学计算机科学与工程系软件工程课程经济可行性分析经济可行性主要进行成本效益分析,从经济角度,确定系统是否值得开发。基于计算机的系统的成本主要包括:购置硬件、软件(如数据库管理系统、第三方开发的构件等)和设备(如传感器等)的费用系统的开发费用系统安装、运行和维护费用人员培训费用25复旦大学计算机科学与工程系软件工程课程效益经济效益包括使用基于计算机的系统后可增加的收入和可节省的运行费用(如操作人员数、工作时间、消耗的物资等)。在进行成本效益分析时通常只统计五年内的经济效益。社会效益指使用基于计算机的系统后对社会产生的影响(如提高了办事效益,使用户满意等),通常社会效益只能定性地估计。经济效益通常可用货币的时间价值、投资回收期和纯收入来度量。26复旦大学计算机科学与工程系软件工程课程货币的时间价值(以利率计算的机会成本)设:当前金额为P,年利率为i,n年后的金额为F,则计算时,累计经济效益应折合成当前金额例如,一个基于计算机的系统使用后,每年产生的经济效益为10万,如果年利率为5%,那么,五年内该系统的累计经济效益是43.2948万,而不是50万。27复旦大学计算机科学与工程系软件工程课程投资回收期:累计的经济效益正好等于投资数(成本)所需的时间纯收入:累计经济效益–投资数当纯收入大于零时,该工程值得投资开发当纯收入小于零时,该工程不值得投资(除非它有明显的社会效益)当纯收入等于零时,通常也不值得投资显然,纯收入越大越好28复旦大学计算机科学与工程系软件工程课程技术可行性分析技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。29复旦大学计算机科学与工程系软件工程课程风险分析:分析在给定的约束条件下设计和实现系统的风险。采用不成熟的技术可能造成技术风险人员流动可能给项目带来风险成本和人员估算不合理造成的预算风险风险分析的目的是找出风险,评价风险的大小,并有效地控制和缓解风险。30复旦大学计算机科学与工程系软件工程课程资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资源和相应的工作环境。例如,有一支开发过类似项目的开发和管理的团队,或者开发人员比较熟悉系统所处的领域,并有足够的人员保证,所需的硬件和支撑软件能通过合法的手段获取,那么从技术角度看,可以认为具备设计和实现系统的条件。31复旦大学计算机科学与工程系软件工程课程技术分析:分析当前的科学技术是否支持系统开发的各项活动。在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程,从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。技术可行性分析时通常需进行系统建模,必要时可建造原型和进行系统模拟32复旦大学计算机科学与工程系软件工程课程法律可行性分析研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题中华人民共和国著作权法计算机软件保护条例与计算机软件的使用场合相关的其他法律例如:开发一套网络监控系统对员工在个人电脑上的所有行为进行监控?33复旦大学计算机科学与工程系软件工程课程方案的选择和折衷一个基于计算机的系统可以有多个可行的实现方案,每个方案对成本、时间、人员、技术、设备都有不同的要求,不同方案开发出来的系统在功能、性能方面也会有所不同。因此要在多个可行的实现方案中作出选择。方案评估的依据是待开发系统的功能、性能、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。如,为达到高的精度就可能导致长的执行时间,为达到高可靠性就会导致高的成本等等。因此,在必要时应进行折衷。34复旦大学计算机科学与工程系软件工程课程可行性分析的结论可以立即开始进行需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行35复旦大学计算机科学与工程系软件工程课程演讲完毕,谢谢观看!内容总结软件工程。在若干城市的若干门店、具有合作关系的家电企业。一套行之有效的销售模式:处理上游和下游的关系。所谓基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的组合。对于用户而言有意义的是可以达到预期目标的系统(完整的软硬件解决方案)而不

温馨提示

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

评论

0/150

提交评论