[高等教育]软件工程课件.ppt_第1页
[高等教育]软件工程课件.ppt_第2页
[高等教育]软件工程课件.ppt_第3页
[高等教育]软件工程课件.ppt_第4页
[高等教育]软件工程课件.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1,第2章 可行性研究,2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析 2.7 小结,2,所谓基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。 组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程(Procedure),基于计算机的系统,3,系统元素,软件指计算机程序、数据结构和相关的工作产品,以实现所需要的逻辑方法、规程或控制 硬件指提供计算能力的电子设备、支持数据流的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等) 人员指硬件和软件的用户和操作者,4,数据库 指通过软件访问并持久存储的大型的有组织的信息集合。 文档 指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、硬复制手册、联机帮助文件、Web站点)。 规程(procedures) 指定义每个系统元素的特定使用或系统所处的过程性语境的步骤。,5,系统的层次结构,基于计算机的系统可呈现一个层次结构。,工厂自动化 系统,6,计算机系统工程,计算机系统工程是一个问题求解的活动 目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。,7,系统工程的任务,识别用户的要求 标识系统的功能和性能范围,确定系统的功能、性能、约束和接口。 系统建模和模拟 硬件系统模型:硬件配置、通信协议、拓扑结构、以及确保基于计算机系统的安全性、可靠性、性能等要求的措施。 软件系统模型:软件子系统的功能、性能等要求,在硬件系统中的部署,子系统之间的交互。,8,系统建模和模拟 人机接口模型:用户环境、用户的活动、人机交互的语法和语义等。 数据模型:哪些数据库管理系统、数据转换方式、主要的数据结构。 成本估算及进度安排 对将开发的基于计算机的系统进行成本估算,并作出进度安排。 可行性分析 分析所给出的解决方案是否可行。 生成系统规格说明,9,可行性研究,目的:确定问题是否有可行的方案(资源、时间),是否有经济效益。 从以下方面进行分析: 技术可行性 经济可行性 法律可行性 操作可行性,10,经济可行性分析,经济可行性主要进行成本/效益分析,从经济角度,确定系统是否值得开发。 基于计算机的系统的成本主要包括: 购置硬件、软件(如数据库管理系统、第三方开发的构件等)和设备(如传感器等)的费用 系统的开发费用 系统安装、运行和维护费用 人员培训费用,11,效益 经济效益包括使用基于计算机的系统后可增加的收入和可节省的运行费用(如操作人员数、工作时间、消耗的物资等)。 社会效益指使用基于计算机的系统后对社会产生的影响(如提高了办事效益,使用户满意等),通常社会效益只能定性地估计。 经济效益通常可用货币的时间价值、投资回收期和纯收入来度量。,12,货币的时间价值 设:当前金额为P,年利率为i,n年后的金额为F,则 计算时,累计经济效益应折合成当前金额 例如,一个基于计算机的系统使用后,每年产生的经济效益为10万,如果年利率为5%,那么,五年内该系统的累计经济效益是432948万,而不是50万。,13,投资回收期:累计的经济效益正好等于投资数(成本)所需的时间。 纯收入:累计经济效益 投资数 当纯收入大于零时,该工程值得投资开发 当纯收入小于零时,该工程不值得投资(除非它有明显的社会效益) 当纯收入等于零时,通常也不值得投资 显然,纯收入越大越好。,14,成本估计,软件开发成本:人力消耗(乘以平均工资则得到开发费用) 估算技术 1. 代码行技术 根据经验和历史数据估计实现一个功能需要的源程序行数 每行代码的平均成本主要取决于软件的复杂程度和工资水平,15,估算技术,2. 任务分解技术 工程分解为若干个相对独立的任务 按阶段划分 按子系统划分 分别估计每个单独的开发任务的成本 每个任务的成本 = 耗费人力(人月)*人月平均工资 累加 得到工程的总成本,16,估算技术,17,技术可行性分析,技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。 技术可行性分析通常包括风险分析、资源分析和技术分析。,18,风险分析:分析在给定的约束条件下设计和实现系统的风险。 采用不成熟的技术可能造成技术风险 人员流动可能给项目带来风险 成本和人员估算不合理造成的预算风险 风险分析的目的是找出风险,评价风险的大小,并有效地控制和缓解风险。,资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资源和相应的工作环境。 例如,有一支开发过类似项目的开发和管理的团队,或者开发人员比较熟悉系统所处的领域,并有足够的人员保证,所需的硬件和支撑软件能通过合法的手段获取,那么从技术角度看,可以认为具备设计和实现系统的条件。,20,技术分析:分析当前的科学技术是否支持系统开发的各项活动。 在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程,从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。 技术可行性分析时通常需进行系统建模,必要时可建造原型和进行系统模拟。,21,法律可行性分析,研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。 1990年我国颁布了中华人民共和国著作权法,其中将计算机软件作为著作权法的保护对象。1991年国务院颁布了计算机软件保护条例。这两个法律文件是法律可行性分析的主要依据。,22,操作可行性分析,技术可行性主要根据用户的操作水平、操作习惯、教育背景、生理特征等,分析系统的操作方式在该用户群体中是否可行。,23,方案的选择和折衷,一个基于计算机的系统可以有多个可行的实现方案,要从中作出选择。 方案评估的依据是待开发系统的功能、性能、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。 由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。在必要时应进行折衷。 如,为达到高的精度就可能导致长的执行时间,为达到高可靠性就会导致高的成本等等。,24,可行性分析的结论,可以立即开始进行 需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行 需要对开发目标进行某些修改之后才能开始进行 因为某种原因(如,技术不成熟、经济上不合算等)不能进行,25,2.3 系统流程图,概括地描绘物理系统的传统工具。 用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。 表达的是数据在系统各部件之间流动的情况(物理数据流图),而不是对数据进行加工处理的控制过程(程序流程图)。,26,库存清单系统的系统流程图,27,2.4 数据流图,数据流图(DFD)是系统逻辑功能的图形表示,描绘信息流和数据从输入移动到输出的变换过程。 不涉及具体的物理部件,只描绘数据在软件中流动和被处理的逻辑过程。 是描绘“做什么”而不考虑“怎样做”。 是分析员与用户之间极好的通信工具,28,2.4.1 DFD符号,29,源或宿,存在于软件系统之外的人员、组织或外设等,表示软件系统输入数据的来源和输出数据的去向,因此也称为源点和终点 例如,对一个考务处理系统而言 考生向系统提供报名单(输入数据流),所以考生是考试系统(软件)的一个源 考务处理系统要将考试成绩的统计分析表(输出数据流)传递给考试中心,所以考试中心是该系统的一个宿 源或宿用相同的图形符号表示 当数据流从该符号流出时表示是源 当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿,30,加工和文件,加工:描述输入数据流到输出数据流的变换 每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流 可以有多个输入数据流和多个输出数据流 文件:保存数据信息的外部单元 每个文件用一个定义明确的名字标识 由加工进行读写 DFD中称为文件,用文件系统、数据库系统等实现,31,数据流,每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识 如:运动会管理系统中,报名单(数据流)由队名、姓名、性别、参赛项目等数据组成 描述一个加工的多个数据流之间的关系 星号():表示数据流之间存在“与”关系(同时存在输入/输出) 加号():表示数据流之间存在“或”关系(至少存在一个输入/输出) 异或():表示数据流之间存在“异或”(互斥)关系(必须存在且仅存在一个输入/输出),32,多个数据流之间的关系,33,示例:图书订购子系统DFD,34,功能建模环境图,环境图 环境图(context diagram)也称为顶层数据流图(或0层数据流图),它仅包括一个数据处理过程,也就是要开发的目标系统。 环境图的作用是确定系统在其环境中的位置,通过确定系统的输入和输出与外部实体的关系确定其边界。,35,典型的环境图,36,对数据流图进行分层,根据“自顶向下,逐层分解,逐步细化”的思想分层绘制数据流图 顶层DFD仅包含一个加工,它代表被开发系统。描述了软件系统与外界(源或宿)之间的数据流 功能级DFD表示系统核心功能 精化DFD表示各个功能的细化,37,分层的数据流图,38,定货系统数据流图的建立,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,39,顶层数据流图,确定外部项:仓库管理员、采购员,40,功能级数据流图1,确定加工:将父图中某加工分解而成的子加工 根据功能分解来确定加工:将一个复杂的功能分解成若干个较小的功能,较多应用于高层DFD中的分解 根据业务处理流程确定加工:分析父图中待分解加工的业务处理流程,业务流程中的每一步都可能是一个子加工 特别要注意在业务流程中数据流发生变化或数据流的值发生变化的地方,应该存在一个加工,例如:,41,功能级数据流图2,确定数据流 在父图中某加工分解而成的子图中,父图中相应加工的输入/输出数据流都是且仅是子图边界上的输入/输出数据流 分解后的子加工之间应增添相应的新数据流表示加工过程中的中间数据 如果某些中间数据需要保存以备后用,那么可以成为流向文件的数据流 同一个源或加工可以有多个数据流流向一个加工,如果它们不是一起到达和一起加工的,那么可以将它们分成若干个数据流,例如:,客户,银行卡数据,密码,帐户信息,42,功能级数据流图3,确定文件 如果父图中该加工存在读写文件的数据流,则相应的文件和数据流都应画在子图中 在分解子图中,如果需要保存某些中间数据以备后用,则可以将这些数据组成一个新的文件 新文件(首次出现的文件)至少应有一个加工为其写入记录,同时至少存在另一个加工来读该文件的记录 注意:从父图中继承下来的文件在子图中可能只对其进行读,或只进行写,43,功能级数据流图4,确定源和宿 功能层图和其它子图中通常不必画出源和宿 有时为了提高可读性,可以将顶层图中的源和宿画在功能层图中 最终得到功能级DFD 根据功能分解方法识别出两个加工:处理事务、产生报表 数据流 继承顶层图中的输入数据流和输出数据流 定义二个加工之间的数据流:处理事务所产生的结果“定货信息”应作为文件保存以便产生报表的加工引用,44,定货系统的功能级数据流图,45,定货系统加工1子图,3个子加工:接收事务、更新库存清单、处理事务 在加工1的分解中没有新的文件产生,46,自动化边界批量方式更新库存清单,47,自动化边界联机方式更新库存清单,48,构造分层DFD的注意事项,命名适当(数据流/数据存储) 是名词或名词短语,画数据流而不是控制流,一般不画物质流(人民币、书)。 名字应代表整个数据流(或数据存储)的内容,而不是只反映某一部分。 不要使用空洞的、含义不清的名字(如“数据”、“信息”、“输入”之类)。 如果命名有困难,往往是因为分解不当,应考虑重新分解。,49,构造分层DFD的注意事项,数据流的分解 避免一个加工有过多数据流 每个加工至少有一个输入数据流和一个输出数据流。 父图与子图的平衡:保证数据流图的一致性,50,父图与子图的平衡,51,父图与子图的平衡,52,为处理命名 通常先为数据流命名,然后再为与之相关联的处理命名。 名字应该反映整个处理的功能,而不是它的一部分功能。 名字最好是“及物动词+宾语”结构。应该尽量避免使用“加工”、“处理”等。 某层内部加工个数应保持7+/-2个,编号要一致 如果某个处理不是单一的功能,则可能需要再分解。,构造分层DFD的注意事项,53,招生系统案例,招生系统需求描述 学校首先公布招生条件,考生根据自己的条件报名,之后系统进行资格审查,并给出资格审查信息; 对于资格审查合格的考生可以参加答卷,系统根据学校提供的试题及答案进行自动判卷,并给出分数及答题信息,供考生查询; 最后系统根据学校的录取分数线进行录取,并将录取信息发送给考生。,54,招生系统的分层DFD,招生系统的环境图(顶层DFD),55,招生系统的分层DFD,招生系统的分层数据流图,56,2.5 数据字典,数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。 数据字典成为把3种分析模型黏合在一起的“黏合剂”,是分析模型的“核心”。,57,2.5 数据字典,词条描述 对于在数据流图中每一个被命名的图形元素均加以定义; 其内容包括图形元素的名字,图形元素的别名或编号,图形元素类别(如加工、数据流、数据文件、数据元素、数据源点或数据汇点等)、描述、定义、位置等。,58,2.5 数据字典,数据流词条 数据流是数据结构在系统内传播的路径,数据流词条应包括以下几项内容。 数据流名:要求与数据流图中该图形元素的名字一致。 简述:简要介绍它产生的原因和结果。 组成:数据流的数据结构。 来源:数据流来自哪个加工或作为哪个数据源的外部实体。 去向:数据流流向哪个加工或作为哪个数据汇点的外部实体。 流通量:单位时间数据的流通量。 峰值:流通量的极限值。,59,2.5 数据字典,数据元素词条 数据流图中的每个数据结构都是由数据元素构成的,数据元素是数据处理中最小的、不可再分的单位,它直接反映事物的某一特征。 类型:数据元素分为数字型与文字型。数字型又分为离散值和连续值,文字的类型用编码类型和长度区分。 取值范围:离散值的取值或是枚举的(如3,17,21),或是介于上下界的一组数(如2100);连续值一般是有取值范围的实数集(如0.0100.0)。对于文字型,文字的取值需加以定义。 相关的数据元素及数据结构。,60,2.5 数据字典,数据存储文件词条 数据存储文件是数据保存的地方。一个数据存储文件词条应有以下几项内容。 文件名:要求与数据流图中该图形元素的名字一致。 简述:简要介绍存放的是什么数据。 组成:文件的数据结构。 输入:从哪些加工获取数据。 输出:由哪些加工使用数据。 存取方式:分为顺序、直接、关键码等不同存取方式。 存取频率:单位时间的存取次数。,61,2.5 数据字典,加工词条 加工可以使用诸如判定表、判定树、结构化语言等形式表达,主要描述如下。 加工名:要求与数据流图中该图形元素的名字一致。 编号:用以反映该加工的层次和父子关系。 简述:加工逻辑及功能简述。 输入:加工的输入数据流。 输出:加工的输出数据流。 加工逻辑:简述加工程序和加工顺序。,62,2.5 数据字典,数据源点及数据汇点词条 对于一个数据处理系统来说,数据源点和数据汇点应比较少。 名称:要求与数据流图中该外部实体的名字一致。 简述:简要描述是什么外部实体。 有关数据流:该实体与系统交互时涉及哪些数据流。 数目:该实体

温馨提示

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

评论

0/150

提交评论