《SE03计算机系统工程.ppt》由会员分享,可在线阅读,更多相关《SE03计算机系统工程.ppt(56页珍藏版)》请在三一办公上搜索。
1、软件工程,哈尔滨工程大学,Software Engineering,第三章 基于计算机的系统工程,基于计算机系统工程的概念计算机系统工程可行性研究系统模型与模拟系统规格说明与评审,基于计算机的系统元素,计算机系统工程的任务是,组织并指导系统工程师定义全系统各层次中的所有基于计算机系统的要素。,基于计算机的系统元素,软件计算机程序、数据结构、相关文档。硬件电子计算设备(如CPU、存储器)和外部机电设备(如传感器、马达等)。人硬件和软件的用户。数据库一个大型的有组织的信息集合。文档手册、表格和其它用以描述系统使用和操作的信息。过程定义每一种系统元素的特定使用步骤,或系统驻留的过程性环境。系统的层次
2、结构基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个元素,并称为那个更大系统的宏元素。,基于计算机的系统元素,3.1 计算机系统工程,计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能,并把它们分配到各个单独的系统元素中去。系统工程师的任务与用户合作确认用户的目标和约束导出功能、性能、接口、设计约束和信息结构的表示将它们分配到每一个系统元素中通过硬件工程、软件工程、人机工程和数据库工程等子项目予以实现。,硬件和硬件工程,基于计算机的系统需要计算机硬件的支撑计算机系统工程师根据系统需求为硬件系统指派任务,产生硬件需求。硬件工程师根据硬件需求设计、制造或选择硬部件或设备,如
3、主机、通用或专用外部设备、网络与通信设备等。为了建造一个高质量的、用户满意的硬件系统,硬件工程师必须认真考虑硬件系统功能和性能,硬件之间的接口、硬件的标准化、硬件成本和维修服务等因素。硬件工程师按照质量保证计划和要求生产硬件产品并实现硬件系统。产品通过一定的销售渠道出售,相应的服务机构负责产品维修、升级和扩充。,硬件和硬件工程,硬件和硬件工程,软件和软件工程,为实现要求的功能和性能,必须制作或获取一系列软件部件。软件元素分为两类应用软件:用来实现信息处理的功能系统软件:完成使应用软件能与其它系统元素交互的控制功能,软件和软件工程,人机工程,人机工程是应用从心理学和方法论导出的知识来确定和设计高
4、质量人机界面HCI的多学科活动。人机工程过程包括以下步骤:活动分析。分析人机交互过程,评价人机交互过程中人的活动,根据“活动”设计计算机的“任务”。动作定义和设计。根据人机交互活动,定义人机界面每一个动作的精确内容。人机对话语言设计。用户环境设计。原型设计。,数据库工程,在某些以信息处理为核心的基于计算机的系统中,信息的存取常常是系统工作的枢纽。数据库系统是基于计算机系统的重要组成部分,它将有关的硬件、软件、数据和数据库管理人员组合起来为用户提供信息服务。开发一个数据库系统是一项复杂、庞大的软件工程项目,人们也常称之为数据库工程。,数据库工程的任务,(1)可行性论证 调查用户的信息需求和对信息
5、处理的要求,进行可行性论证,提出成本预算和工作计划等(2)论证、选择和购置支持数据库系统的硬件、软件和网络环境,特别是数据库管理系统(DBMS)(3)数据库设计与实现。软件工程师和数据库管理员根据用户对数据库系统的要求进行需求分析和数据分析,产生需求说明和数据说明。以需求说明和数据说明为基础进行概念设计产生依赖用户的数据库概念模型;以概念模型为基础进行逻辑设计,产生依赖于DBMS的逻辑模型;以逻辑模型为基础进行物理设计产生一个完整的、可实现的数据库。,数据库工程的任务,(4)数据库的数据按照系统确定的范围和用户的需要收集、整理、储存起来的。数量大、类型多(含数字、文字、图形、图象、声音等)、关
6、系复杂(数据之间有一对一、一对多,多对多的对应关系)、需要及时补充、修改和更新等特点。数据的存储应有利于数据的查询、修改并尽量减少数据的冗余。(5)数据库管理人员 数据库工程的重要组成部分,负责管理数据库资源,收集和确定用户需求,参与数据库系统的论证、设计与实现,参与数据的收集、整理、分类和储存,负责数据库的管理和维护,并为用户提供培训和有关资料等等。,3.2 可行性研究,问题定义阶段需要解决的问题是“该系统项目要解决的问题是什么”;可行性分析是要决定“做还是不做”;需求分析是要决定“目标系统必须做什么,不做什么”。,问题定义,问题定义,确定系统开发项目必须完成的目标。其关键问题是:“要解决什
7、么问题?”,含义,主要内容,问题的背景、总体要求与目标、类型范围、用户对系统的要求、开发的条件、项目成本与进度约束、环境要求等,问题定义报告应包括内容,项目名称,使用方法,对问题的概括定义,项目的目标,项目的规模,教师教学网络测评系统,问题提出某校在校生近9000人,每学期在期末都要进行一次对教师的教学质量测评,要求所有学生都要参加。以前测评的方式都是手工操作,由教务处发出书面问卷调查表,每个同学填写完成后交回到教务处。然后教务处再使用手工的方法对问卷进行统计汇总,最后得出学生对每一位教师的总体评价。这种方法一方面浪费了大量的财力、人力,另一方面统计繁琐且容易出错。考虑到现在学校校园网已经建成
8、,为节省开支,提高效率,学校决定开发一套基于校园网的教师教学网络测评系统,教师教学网络测评系统,问题分析系统分析人员经过与学校教务部门及各相关单位进行充分的调查后,了解了该项目的一些背景资料与基本要求。教师测评分两大部分,一是师德测评;二是教学质量测评。师德测评有4项指标,教学质量测评有14项指标。系统要实现的目标是:所有学生在指定时间内在指定机房的计算机上完成对任课教师的测评打分,测评过程全部采用选择的方法,不需要输入任何信息 所有的测评数据保存在学校中心服务器上,有较为严格的安全措施系统能对所有的数据进行统计汇总,得出每一位教师的测评结果,并能进行排序、输出。系统开发的大体费用在1.2万元
9、左右,开发周期大约6个人月。,教师教学网络测评系统,问题定义报告根据以上分析,形成如下的问题定义报告:,案例文档之一系统定义报告用户单位:XX学校教务处 负责人:XXX开发单位:XX学校软件系 分析员:XXX项目名称:基于校园网的教学质量测评系统问题概述:教师教学质量测评每学期必须进行一次,原有的手工方法存在资源浪费、效率极低、结果不准确等问题。(其它的相关说明)项目目标:开发一个效率高且相对通用的教师教学网络测评系统。项目规模:开发成本大约1.2万元,开发周期约6个人月。可行性研究:建议进行一周,费用不超过500元。,可行性研究,柳传志曾说:“没钱赚的事我们不干;有钱赚但投不起钱的事不干;有
10、钱赚也投得起钱但没有可靠的人选,这样的事也不干。”可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究的目的不是解决问题,而是确定问题是否值得解决。,可行性研究的任务,GB8566-88计算机软件开发规范中指出:可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”,可行性研究的任务,可行性研究的任务,2.经济可行性,4.社会因素的考虑,分析成本收益与短期效益长远利益这两个方面。要作出投资的估算和系统投入运行后可能获得的经济效益或可节约的费用估算。,分析利用现有的技术能
11、否实现,能否解决系统中的技术难题,所开发的系统能否达到所要求的功能和性能,系统对技术人员的要求,现有的技术人员能否胜任,开发所需要的软件与硬件能否如期得到等,1.技术可行性,主要考虑的是市场、政策与法律方面的问题,3.法律可行性,5.开发方案的选择,技术可行性分析,在进行技术可行性分析时,一个重要的内容是对现有系统绘制系统流程图。系统流程图中所用的符号与程序设计语言中的程序流程图所用的符号类似。但系统流程图与程序流程图不同:系统流程图表达的是信息在系统中各个部件之间的流动情况;而程序流程图表达的是程序对信息进行加工处理的控制过程。,经济可行性分析,经济可行性分析,1.成本分析,2.效益分析,办
12、公成本,人员成本,资源成本,最难准确核算,如果从经济可行性的角度分析得出纯收入小于或等于零的结论,则这个项目是不能投资的,经济可行性分析,典型环境下各个开发阶段需要使用的人力的百分比,40,20,25,10,5,0,10,20,30,40,50,60,70,80,90,100,可行性研究,需求分析,设计,编码,综合测试,短期效益VS长远效益,短期利益容易把握,风险较低。国内公司经常出现一窝蜂现象。长远利益难以把握,风险较大。能为了长远利益不惜短期亏损的人,要么是雄心勃勃的将帅之才,要么是“纸上谈兵”、“眼高手底”的那一类庸人。,社会因素的考虑,社会环境至少包括市场和政策:市场因素市场分未成熟的
13、市场、成熟的市场和将要消亡的市场。涉足未成熟的市场要冒很大的风险,要尽可能准确地估计潜在的市场有多大?自己能占多少份额?多长时间能实现?挤进成熟的市场,虽然风险不高,但油水也不多。将要消亡的市场就别进去了。法律政策因素是否存在地方保护政策,使竞争不公平。政策是否会干预企业的正当行为。有无版权纠纷。,可行性研究的过程,确定系统的规模和目标,分析现有系统,设计新系统的高层模型,评审系统模型,导出和评价 供选择的方案,执定行动方案,草拟开发计划,书写文档提交审查,分析员,是否符合系统目标,用户或客户,可行性研究的工具系统流程图,可行性分析时需分析现有系统和设计新系统,常用系统流程图来描述。系统流程图
14、的基本作用:以黑箱方式描述系统各部件(如人工处理、程序、数据库、图表等),它描述了信息在系统各部件之间的流动情况,它不对信息在系统中的加工进行描述。,系统流程图的基本符号,符 号,名称,含 义,系统流程图的基本符号,联机存储,人工输入,在脱机情况下人工输入数据,如填写表格,人工操作,通信链路,系统流程图的基本符号,显示器或终端机,系统流程图实例项目申报管理系统,成本效益分析,成本/效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本/效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期
15、、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。,方案选择,系统分析任务完成后,系统工程师开始研究问题求解方案。将一个大的复杂系统分解为若干个子系统;精确地定义子系统的界面、功能和性能;给出各子系统之间的关系。系统分解和实现的方案不是唯一的。每种方案对成本、时间、人员、技术、设备等都有一定的要求。不同方案开发出来的系统在系统功能、性能方面会有很大差异。,方案选择:成本,各个方案的成本研究成本、设计成本、设备成本、程序编码成本、测试和评审成本、系统运行和维护成本、系统退役成本、在开发系统所用总成本不变的情况下,由于系统开发各阶段所用成本分配方案的不同会对系统的
16、功能和性能产生相当大的影响。,方案选择:过程,功能、性能、成本技术、设备、风险 对开发人员的要求,方案选择:折衷,折衷是系统工程的重要、重复概念。折衷过程也是系统论证和选择、确定系统开发方案的过程。图形显示系统的画面清晰度、显示响应时间和成本之间的关系见右图。,可行性分析的阶段性成果,可行性研究报告项目开发计划书,3.3 系统模型与模拟,系统工程师将基于计算机的系统功能和性能分解,定义若干个子系统及其界面之后,开始建立系统模型,为需求分析和设计阶段的工作奠定基础。输入处理输出(IPO)结构是系统建模的基础,它将基于计算机的系统转换成一个信息变换模型。系统通过硬件、软件对现实世界的对象、事件和过
17、程进行管理和控制。系统建立之前人们很难理解和预测系统的性能、效率和行为。,系统模型:结构图,系统工程师用结构模板开发系统模型。它由用户界面处理、输入、处理和控制、输出、维护和自测试五部分组成。结构模板能帮助分析人员按照系统工程和软件工程的建模技术自顶向下、由粗到细地建立基于计算机系统的系统模型。,结构模板,系统总体结构关系图(ACD),系统总体结构关系图(ACD)位于系统模型图的最顶层。定义系统的组成,定义各子系统引用和生成的信息,建立了系统与系统运行环境之间的信息界面。通过界面对系统进行测试和维护,完成系统与外部实体间各种数据和控制信息的通信。ACD的有向边表示系统的信息流和控制流、圆角方框
18、表示系统或子系统,方框表示外部实体,即系统信息的生产者和消费者。,系统结构规格说明,系统结构字典定义系统结构图中的每个信息项。信息项的类型、信息源和流向目标可以从结构流图中提取。信息项的通信路径表示信息的迁移方式。结构流图的有向边仅仅描述系统的数据流和控制流,而没有描述该数据流或控制流与其他因素的关系。结构互连图和对应的规格说明描述系统信息的传送方式,如电的方式、光的方式或机械方式等等。,模型,模型是现实系统的描述,是现实系统的抽象和简化模型必须反映现实系统的本质和实际模型必须由现实系统的有关元素组成模型必须反映这些元素之间的关系模型应尽可能简单、易修改模型应指明系统的约束条件用户必须参与和确
19、认模型开发,模型的分类,物理模型与数学模型物理模型由物理元素构成,称形象模型。数学模型由数学符号、逻辑符号、数字、图表、图形等组成,称抽象模型。随着计算机图形学、图象学及多媒体技术的发展与应用,在基于计算机的系统上不仅可以处理抽象模型,而且还可以模拟和展示形象模型。,模型的分类,静态模型和动态模型静态模型与时间参数无关动态模型依赖于时间参数 确定模型和随机模型确定模型参数不含随机变量,确定模型的一组输入量经模型处理得到一组唯一确定的输出结果线性规划模型、动态规划模型等是确定模型。随机模型 参数包括随机变量,随机模型的输入变量,经模型处理后得到的输出结果是随机的排队模型、计算机中断处理模型等是随
20、机模型,系统模拟,借助于计算机系统描述某个实际系统或抽象系统中某个行为的特征称模拟。如用计算机系统模拟另一个计算机系统,模拟飞行器仪器舱的环境,模拟企业经济管理系统等等。系统模拟的目的:借助计算机系统模拟开发系统的某些特征,提前实验时间、增加实验的机会、降低实验的成本。随着计算机技术、仿真技术的发展及应用,系统模拟广泛地应用、并取得了显著的社会和经济效益。,计算机系统模拟,能够反映系统配置的动态特性,提供系统真实的结果,有利于评审。能够综合与系统有关的全部因素,能够再现系统运行的结果。能够突出与系统有关的重要因素,忽略次要的因素容易实现、理解、操作和修改。,主要步骤分析问题、确定模拟的目标建立
21、模型运行模型并分析模拟结果修改模型(如有必要)撰写模拟文档,系统建模与模拟,3.4 系统规格说明及评审,系统规格说明:描述基于计算机系统的功能、性能和支配系统开发的各种约束条件,是硬件工程、软件工程、数据库工程和人机工程的基础,指明了各子系统在整个系统中的地位和作用,并描述了系统输入/输出数据和控制信息。,系统规格说明目录,引言 A.文档的范围和目的 B.概述 1.目标 2.约束功能和数据描述 A.系统结构 1.结构关系图 2.结构关系图描述子系统描述 A.子系统N的结构图规格说明 1.结构流图 2.系统模型说明,3.性能问题 4.设计约束条件 5.分配系统部件 B.结构字典 C.结构连结图和
22、说明系统建模和模拟结果 A.用于模拟的系统模型 B.模拟结果 C.特殊性能项目问题 A.开发成本 B.进度附录,系统规格说明评审,系统规格说明评审评价系统规格说明书中的定义是否正确客户和开发人员共同判断系统规格说明是否正确描述了项目的范围是否准确地定义了系统的功能、性能和界面开发人员和用户对系统目标是否有共同的认识系统规格说明评审过程管理评审:商业需求、经济及社会效益、风险、开发资源是否具备、成本、其他方案技术评审:复杂性与成本、风险进度一致、采用技术、借口、功能定义详细情况、有无性能、可维护、可靠性问题,管理评审需要回答的问题,系统是否有一个稳定的商业需求,系统开发是否有意义?系统开发是否有
23、市场价值或社会效益?系统开发是否还有其他选择方案?系统各个部分的开发风险是什么?系统开发所需资源是否已经具备?成本和进度计划是否恰当等等。,技术评审需要回答的问题,系统功能复杂性是否与开发风险、成本和进度评估保持一致?系统采用的术语、系统与子系统功能定义是否足够详细?系统与环境的接口以及各子系统之间的接口定义是否详细?系统规格说明是否指明系统性能、可靠性和可维护性方面的问题?系统规格说明是否为后续的硬件工程、软件工程打下坚实的基础?,本章小结,本章介绍基于计算机系统的项目分析和可行性论证。基于计算机系统涉及硬件工程、软件工程、人机工程和数据库工程,统称计算机系统工程。项目的可行性论证涉及经济可行性和技术可行性。在可行性论证的基础上根据资源和用户要求确定项目目标、施工原则,选择适宜的方法和工具,设计系统模型。为系统建立模型,用计算机系统进行模拟,验证正确性。撰写系统规格说明,通过评审的系统规格说明是系统分析阶段的成果,也是软件需求分析的依据。,