




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学软件学院,软件工程,2020/5/30,大连理工大学软件学院,2,第2章可行性研究,许多问题不可能在预定的系统规模或时间期限内解决目的:使用最小的代价,尽可能在短的时间内,确定问题是否能够解决,2020/5/30,大连理工大学软件学院,3,第2章可行性研究,2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析,2020/5/30,大连理工大学软件学院,4,2.1可行性研究的任务,确定问题是否值得去解分析可能的解法判定系统规模和目标是否能够实现效益是否可观较高层次的系统分析和设计过程,2020/5/30,大连理工大学软件学院,5,2.1可行性研究的任务,问题定义是否正确如有错误加以改正如有约束和限制必须清楚的列出系统逻辑模型主要解法研究可行性。,2020/5/30,大连理工大学软件学院,6,2.1可行性研究的任务,可行性的4个方面技术可行性经济可行性操作可行性法律可行性预期工程总成本的5%10%,2020/5/30,大连理工大学软件学院,7,2.2可行性研究过程,1.复查系统规模和目标改正含糊或不确切的叙述清晰地描述限制和约束解决正确的问题,2020/5/30,大连理工大学软件学院,8,2.2可行性研究过程,2.研究目前正在使用的系统完成现有系统的基本功能解决现有系统的问题绘制高层系统流程图掌握与其他系统的接口,2020/5/30,大连理工大学软件学院,9,2.2可行性研究过程,3.导出新系统的高层逻辑模型现有物理系统现有系统的逻辑模型目标系统逻辑模型新的目标系统高层数据流图初步的数据字典,2020/5/30,大连理工大学软件学院,10,2.2可行性研究过程,4.进一步定义问题分析员和用户以数据流图和数据字典为基础复查问题定义、工程规模和目标重复14步,直至提出的逻辑模型完全符合系统目标,2020/5/30,大连理工大学软件学院,11,2.2可行性研究过程,5.导出和评价供选择的解法从技术角度出发,考虑解决问题的不同方案技术可行性,排除不现实的系统操作可行性,排除用户不能接受的方案经济可行性,排除利润低的方案(成本/效益分析)制定进度表(估算生命周期每个阶段的工作量),2020/5/30,大连理工大学软件学院,12,2.2可行性研究过程,6.推荐行动方针如果值得开发,则选择最好的解法成本/效益分析7.草拟开发计划工程进度表各类开发人员、各种资源需求情况生命周期每个阶段的成本下一个阶段详细进度表和成本估计,2020/5/30,大连理工大学软件学院,13,2.2可行性研究过程,8.书写文档提交审查用户、客户组织负责人、评审组审查见可行性报告格式.doc,2020/5/30,大连理工大学软件学院,14,2.3系统流程图,系统流程图概括描绘物理系统的传统工具用图形符号,以黑盒子形式描述组成系统的每个部件程序、文档、数据库、人工过程数据在各部件之间的流动情况(非处理过程),2020/5/30,大连理工大学软件学院,15,2.3系统流程图,2.3.1符号基本符号,2020/5/30,大连理工大学软件学院,16,2.3系统流程图,系统符号(符号具体化),2020/5/30,大连理工大学软件学院,17,2.3系统流程图,系统符号(符号具体化),2020/5/30,大连理工大学软件学院,18,系统流程图例子,例子,每个符号用黑盒子形式定义了组成系统的一个部件。没有部件内部的具体工作过程箭头确定通过系统的逻辑路径(信息流动路径),2020/5/30,大连理工大学软件学院,19,2.3系统流程图,分层(逐层细化的思想)高层次系统流程图描绘总体概貌分别描绘每个关键功能,2020/5/30,大连理工大学软件学院,20,2.4数据流图,当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。,2020/5/30,大连理工大学软件学院,21,2.4.1符号,数据流图有四种基本符号:数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。,2020/5/30,大连理工大学软件学院,22,附加符号,2020/5/30,大连理工大学软件学院,23,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务。通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。,2.4.2示例,2020/5/30,大连理工大学软件学院,24,2.4.2示例,2020/5/30,大连理工大学软件学院,25,2.4.2示例,一旦把数据流图的四种成分都分离出来以后,就可以着手画数据流图。任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。,定货系统的基本系统模型(突出表明了数据的源点和终点),26/130,结构化分析方法中的抽象与分解,抽象:从作为整体的软件系统开始(第一层),每一抽象层次上只关注于系统的输入输出分解:将系统不断分解为子系统、模块随着分解层次的增加,抽象的级别越来越低,也越接近问题的解(算法和数据结构),2020/5/30,2020/5/30,大连理工大学软件学院,27,把基本系统模型细化,描绘系统的主要功能。在图2.6中给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。,2.4.2示例,2020/5/30,大连理工大学软件学院,28,2.4.2示例,图2.6定货系统的功能级数据流图,2020/5/30,大连理工大学软件学院,29,2.4.2示例,图2.7把处理事务的功能进一步分解后的数据流图,2020/5/30,大连理工大学软件学院,30,注意:当进一步分解将涉及如何具体实现一个功能时,就不应该再分解了。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入/输出数据流必须相同。对处理进行编号的方法。,2.4.2示例,2020/5/30,大连理工大学软件学院,31,数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。命名时应注意的问题:为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。,2.4.3命名,2020/5/30,大连理工大学软件学院,32,为处理命名通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。名字应该反映整个处理的功能,而不是一部分功能。名字最好由一个具体的及物动词,加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。,2.4.3命名,2020/5/30,大连理工大学软件学院,33,工资计算系统的顶层(0层)数据流图,2020/5/30,大连理工大学软件学院,34,工资计算系统第一层数据流图,2020/5/30,大连理工大学软件学院,35,工资计算系统的第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图,2020/5/30,大连理工大学软件学院,36,工资计算系统的第三层数据流图,37,分层数据流图的审查,检查图中是否存在错误或不合理(不理想)的部分一致性:分层DFD中不存在矛盾和冲突完整性:分层DFD本身的完整性,即是否有遗漏的数据流、加工等元素,2020/5/30,大连理工大学软件学院,38,分层数据流图的一致性,父图与子图平衡任何一张DFD子图边界上的输入/输出数据流必须与其父图中对应的加工的输入/输出数据流保持一致数据守恒一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生一个加工的输出数据流不能与该加工的输入数据流同名,2020/5/30,大连理工大学软件学院,39,父图与子图不平衡的实例,加工2的输入数据流有M和N,输出数据流是T而子图(右图)边界上的输入数据流是N,输出数据流是S和T,2020/5/30,大连理工大学软件学院,40,父图与子图平衡的实例,注意:如果父图某加工的一个数据流,对应于子图中几个数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这个数据流,那么它们仍算是平衡的,a:考生通知单;b:统计分析表;b1:分类统计表;b2:难度分析表;c:错误成绩清单;d成绩清单;e合格标准。,2020/5/30,大连理工大学软件学院,41,数据不守恒的实例,由于“正式成绩清单”中缺少“考生通知单”中的姓名、通信地址等数据,这些数据也无法由加工2.3自己产生,因此,加工2.3不满足数据守恒的条件,由此可见:1.数据流的组成对DFD是有影响的2.构建DFD与建立数据字典应交替进行,以便于对分层DFD的校验,42,加工的输出数据流不能与该加工的输入数据流同名,同一个加工的输出数据流和输入数据流即使组成成份相同,仍应对它们取不同的名字,以表示它们是不同数据流例如,“报名单”和“合格报名单”允许一个加工有两个相同的数据流分别流向两个不同的加工,2020/5/30,大连理工大学软件学院,43,分层数据流图的完整性,每个加工至少有一个输入数据流和一个输出数据流在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件分层数据流图中的每个数据流和文件都必须命名(除了流入或流出文件的数据流),并保持与数据字典的一致分层DFD中的每个基本加工(即不再分解子图的加工)都应有一个加工规约,2020/5/30,大连理工大学软件学院,44,其它需注意的问题-1,适当命名:每个数据流、加工、文件、源和宿都应被适应地命名,名字应符合被命名对象的实际含义名字应反映整个对象(如数据流、加工),而不是仅反映它的某一部分避免使用空洞的、含义不清的名字,如数据、信息、处理、统计等如果发现某个数据流或加工难以命名时,往往是DFD分解不当的征兆,此时应考虑重新分解画数据流而不是画控制流判断准则:这条线上是否有数据流过,2020/5/30,大连理工大学软件学院,45,其它需注意的问题-2,避免一个加工有过多的数据流当一个加工存在许多数据流时往往意味着分解不合理解决办法:重新分解1)把需要重新分解的某张图(含有该复杂加工的图)的所有子图连接成一张图2)把连接后的图重新划分成几个部分,使各部分之间的联系最小3)重新定义父图,即第2)步中的每个部分作为父图中的一个加工4)重新建立各子图,即第2)步中的每个部分都是一张子图5)为所有的加工重新命名和编号,2020/5/30,大连理工大学软件学院,46,其它需注意的问题-3,分解尽可能均匀理想目标:任何两个加工的分解层数之差不超过1应尽可能使分解均匀,对于分解不均匀的情况应重新分解先考虑稳定状态,忽略琐碎的枝节先考虑稳定状态下的各种问题,暂时不考虑系统如何启动、如何结束、出错处理以及性能等问题随时准备重画对于一个复杂的软件系统,往往要经过反复多次的重画和修改才能构造出完整、合理、满足用户需求的分层DFD分析阶段遗漏下来的一个错误,到开发后期要化费几百倍代价来纠正这个错误,2020/5/30,大连理工大学软件学院,47,分解的程度,可参照以下几条与分解有关的原则:7加减2分解应自然,概念上合理、清晰只要不影响DFD的易理解性,可适当多分解几个加工,以减少层数一般说来,上层分解得快些(即多分解几个加工),下层分解得慢些(即少分解几个加工)分解要均匀,2020/5/30,大连理工大学软件学院,2020/5/30,大连理工大学软件学院,48,2.4.4用途,交流信息的工具一张数据流图处理少于9个分层分析和设计的工具在数据流图上划分自动化边界每个边界意味着一个不同的物理系统,2020/5/30,大连理工大学软件学院,49,2.4.4用途,2020/5/30,大连理工大学软件学院,50,2.4.4用途,图2.8这种划分自动化边界的方法暗示以批量方式更新库存清单,2020/5/30,大连理工大学软件学院,51,2.4.4用途,图2.9另一种划分自动化边界的方法建议以联机方式更新库存清单,2020/5/30,大连理工大学软件学院,52,2.4.4用途,意味着什么样的系统?,2020/5/30,大连理工大学软件学院,53,2.4.4用途,联机更新库存,批量处理定货,2020/5/30,大连理工大学软件学院,54,2.4数据流图,系统流程图(SystemFlowchart):反应主体框架,无细节处理。数据流图(DataFlowDiagram,DFD):反应数据走向,仅描述数据在系统中如何流动,如何处理和存储,它不考虑时序关系。图中的有向线段表示了数据流。程序流程图(Progranflowchart):描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条件,图中的有向线段表示的是控制流,从一个处理走到下一个处理。人们对解决问题的方法、思路或算法的一种描述。,2020/5/30,大连理工大学软件学院,55,2.4数据流图,程序流程图,2020/5/30,大连理工大学软件学院,56,2.4数据流图,业务流程图(TransactionFlowDiagram,TFD):就是用一些规定的符号及连线来表示某个具体业务处理过程。业务流程图的基本图形符号:圆圈表示业务处理单位;方框表示业务处理内容;报表符号表示输出信息(报表、报告、文件、图形等);不封口的方框表示存储文件;卡片符号表示收集资料;矢量连线表示业务过程联系。,2020/5/30,大连理工大学软件学院,57,2.4数据流图,业务流程图(TransactionFlowDiagram,TFD),2020/5/30,大连理工大学软件学院,58,2.5数据字典,需要有一种系统化的方式,来表示每个数据对象和控制信息的特征。数据字典是为了描述在结构化分析过程中定义的对象的内容,而使用的一种半形式化的工具。数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。简而言之,数据字典是描述数据的信息的集合,是对系统中使用的所有数据元素的定义的集合。,2020/5/30,大连理工大学软件学院,59,2.5数据字典,数据字典的用途是供人查阅不了解的条目的解释。提供分析设计过程中关于数据的描述。数据字典与DFD相辅相成。只有DFD和对应的元素的精确定义放在一起,才能构成系统的规格说明。,2020/5/30,大连理工大学软件学院,60,2.5数据字典,2.5.1数据字典的内容数据流数据流分量(即数据元素)数据存储处理,2020/5/30,大连理工大学软件学院,61,数据字典信息:名字数据、控制项、数据存储或外部实体的主要名称别名第一项中对象的其他名字。使用地点与方式使用数据或控制项的处理的列表,以及使用这些对象的方式(例如作为处理的输入,从处理输出,作为数据存储,作为外部实体)。内容描述描述数据或控制项内容的符号。补充信息关于数据类型、预置值、限制等的其他信息。,2.5数据字典,2020/5/30,大连理工大学软件学院,62,2.5.2定义数据的方法对数据自上而下的分解数据元素组成数据的方式顺序:分量的连接次序选择:两个或多个元素中选取一个重复:可指定重复次数可选:重复0或1次,2.5数据字典,2020/5/30,大连理工大学软件学院,63,虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁起见,建议采用下列符号:意思是等价于(或定义为);意思是和(即,连接两个分量);意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“”号分开供选择的分量;意思是重复(即,重复花括弧内的分量);()意思是可选(即,圆括弧里的分量可有可无)。,2.5数据字典,2020/5/30,大连理工大学软件学院,64,常常使用上限和下限进一步注释表示重复的花括弧。一种注释方法是在开括弧的左边用上角标和下角标分别表明重复的上限和下限;另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的右侧标明重复的上限。例如:A和1A5含义相同。,2.5数据字典,5,1,2020/5/30,大连理工大学软件学院,65,2.5数据字典,描述数据内容的示例:定义长度不超过8个字符的字符串第一个字符是字母随后的字符既可以是字母也可以是数字,标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符|数字字符,2020/5/30,大连理工大学软件学院,66,2.5数据字典,2.5.3数据字典的用途分析阶段的工具避免模块间接口出现问题掌握改变一个数据能产生的影响开发数据库的第一步,2020/5/30,大连理工大学软件学院,67,2.5数据字典,2.5.4数据字典的实现CASE工具人工卡片,2020/5/30,大连理工大学软件学院,68,思考题,一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码核对每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。分层画出上述主文件修改系统的数据流图。,2020/5/30,大连理工大学软件学院,69,思考题答案,源点:文件管理员,提供修改信息终点:文件管理员,接收修改报告,2020/5/30,大连理工大学软件学院,70,思考题答案,处理:接收修改信息、读主文件、校核记录、修改原始记录、产生报表数据流:修改信息、主文件、正确的记录、修改后的主文件、修改报告数据存储:修改信息、主文件、修改后的主文件,2020/5/30,大连理工大学软件学院,71,思考题答案,2020/5/30,大连理工大学软件学院,72,思考题,北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园欺凌之《旁观者的选择》(说课稿)2025-2026学年初三下学期教育主题班会
- 建筑多功能空间设计方案
- 方便面生产项目成本控制与预算管理方案
- 2025年统计岗位考试试题及答案
- 第1节 恋爱心理概述说课稿-2025-2026学年中职心理健康全一册高教版
- 肺功能训练反馈系统行业跨境出海项目商业计划书
- 纯素果园企业制定与实施新质生产力项目商业计划书
- 矿用硬质合金工具创新创业项目商业计划书
- 2025年青少年心理健康的家庭干预
- 2025年气候变化中的生物多样性保护措施
- 2025年中级制图员《理论知识》考试真题(含新版解析)
- 广东省2025年度初级注册安全工程师职业资格考试金属非金属矿山安全复习题及答案
- 惊恐障碍课件
- 十二经络课件
- Starter Unit 3 Welcome 单元测试(含答案)人教版(2024)七年级英语上册
- 玻璃委托代加工合同范本
- 年产9000吨塑料粒子项目报告表
- 音乐传播三试题及答案
- 秦朝服饰设计分享
- 子宫脱垂的中医护理查房
- 2024年12月英语四级真题及答案-第1套
评论
0/150
提交评论