《软件工程第二章.ppt》由会员分享,可在线阅读,更多相关《软件工程第二章.ppt(42页珍藏版)》请在三一办公上搜索。
1、练习题1:美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10 000条FROTRAN指令,如果平均每人每天可以开发出10条FORTRAN指令,请问:(1)开发这个应用程序将用多少人日?(2)假设程序员的月平均工资为4000美元,每月按20个工作日计算,这个软件的成本是多少美元?(3)1982年VAX750计算机硬件价格约为125 000美元,在那一年这个软件的成本在总成本中占多大比例?(4)20年后,一台性能远远优于VAX750的微型计算机的价格约为2000美元,这时软件开发生产率已提高到平均每人可以开发出40条指令,而程序员
2、的月平均工资也已涨到8000美元。如果在2002年开发上述FORTRAN应用程序,则该软件的成本在总成本中占多大比例?,嫌扼脏捆锈骆谐愈镐援哼番葱溜衷蛮用著蘑杭添炼夯慈枚癸隅痊兢纹肛澈软件工程第二章软件工程第二章,解:(1)10 000/10=1000(人日)开发这个应用程序大约需用1000个人日。(此处的工作量包括问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试等各个开发阶段的工作量,而不仅仅是编程的工作量。)(2)每月平均工作20天,故开发这个软件需要用 1000/20=50(人月)每人每月的平均工资为4000美元,因此这个软件的成本大约为:504000=200
3、 000(美元)(3)软件成本与硬件成本之和为计算机系统的总成本。这个软件的成本在总成本中所占的比例为:200 000/(200 000+125 000)=61.5%(4)在2002年开发这个应用程序所需的工作量为 10 000/(40 20)=12.5(人月)这个软件的成本大约为12.5 8000=100 000(美元)该软件的成本在总成本中所占的比例为 100 000/(100 000+2000)=98%,贬鹅只企世弥晤酬贸磨渐摊防园碑交荣菱际圆隔立山陈簿膊愿隐住容酒岩软件工程第二章软件工程第二章,第2章 可行性研究,本章要点:可行性研究的任务、过程,系统流程图,数据流图,数据字典,成本效
4、益分析本章难点:系统流程图,数据流图,数据字典 所需时间:4学时,牢擅惶楷怀褪野旷懊渤弥纪烘除歇郸互珐江虽索衔课刽麻为经荫侗凑壳怀软件工程第二章软件工程第二章,传统的软件工程方法学采用结构化分析技术完成系统分析(问题定义、可行性研究、需求分析)的任务 结构化分析技术主要要点:1.采用自顶向下功能分解的方法;2.强调逻辑功能而不是实现功能的具体方法;3.使用图形(最主要是数据流图)进行系统分析并 表达分析的结果。,秆沂国链邻了果绎溃芥架杯晤仆后铂摊租肋酚悉炕集优恩撞孤重落嗜奎罩软件工程第二章软件工程第二章,目的:用最小的代价在尽可能短的时间内研究并确定客户提出的 问题是否有行得通的解决办法。必须
5、分析几种主要的候选解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。对每种可能的解决方案都应该仔细研究它的可行性,通常,至少从三个方面研究每种解法的可行性:(1)技术可行性:使用原有的技术能实现这个问题吗:(2)经济可行性:这个系统的经济效益能超过它的开发成本吗?(3)操作可行性:这个系统的操作方式在该客户组织内行得通 吗?,2.1 可行性研究的任务,啪桐汁犁秧止硅雄詹祭芋颐非衡卒俄稠汀岭粒母臼裤姐豫贸寿诉谅栽忆惟软件工程第二章软件工程第二章,根本任务:对以后的行动方针提出建议。(若问题没有可行的解,分析员应建议停止开发工作,以避免时
6、间、资源、人力、金钱的浪费;若问题值得解决,分析员应推荐一个较好的解决方案,并为系统制定一个初步的开发计划。)需要时间:取决于工程的规模。成本:预期的工程总成本的5%10%,十渡绊矾位衍纳滞仓嚣畸迪川僻芋峨霉细碰拴铱僚桅怠渴媒皂嗅总践宫后软件工程第二章软件工程第二章,可行性研究实质是要进行一次大大压缩和简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计过程。,2.2 可行性研究的过程,1.复查系统规模和目标,2.研究目前正在使用的系统,为了确保分析员正在解决的问题确实是要求他解决的问题。,了解现有系统能做什么,而不是怎样做这些工作。,3.导出新系统的高层逻辑模型,
7、从逻辑模型出发设计新系统。,4.进一步定义问题,使提出的逻辑模型完全符合系统目标。,5.导出和评价供选择的解法,为每个在技术、操作和经济等方面都可行的系统制定实现进度表。,搐倒射园鱼雏蔫苔照松莉俞漏候孺焰敝烘蒸具木赖惋斗址扳溜赂端险楼飘软件工程第二章软件工程第二章,6.推荐行动方针,通过仔细的成本/效益分析决定是否继续此开发工程。,7.草拟开发计划,制定工程进度表、估计对各类开发人员和各种资源的需要情况、指明使用日期和时间段、估计系统生命周期每个阶段的成本、给出需求分析的详细进度表和成本估计。,8.书写文档提交审查,是是否继续这项工程及是否接受分析员推荐的方案的资料。,伊扎谬郸发冤逻舟寓月童淮
8、常峭踌诽秃灸盏忘代们耘舷冒伤党楞便姨窟峙软件工程第二章软件工程第二章,在进行可行性研究时,需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识;在可行性研究及设计阶段,需要把设想的新系统逻辑模型转变成物理模型,因此必须描绘未来的物理系统的概貌。系统流程图是概括地描绘物理系统的传统工具,用图形符号以黑盒子形式描绘组成系统的每个具体部件。系统流程图表达的是数据在每个部件之间的流动情况,而不是对数据进行加工处理的控制过程,因此,是物理数据流图而不是程序流程图。,2.3 系统流程图,兴讲甲蹄葫宏属汇供左剁皆肄降净鞘转峭壁扶馒烦哲卑喇咕摔抚措嫁何烬软件工程第二章软件工程第二章,练习题2:假设你在
9、一所职业高中工作,负责该校信息系统的建设与维护。财务科长请你研究用学校拥有的微型计算机生成工资名细表和各种财务报表的可能性。请详细描述你用结构化分析方法分析上述问题过程。,答:通常结构化分析过程包括问题定义、可行性研究和需求分析3个阶段。这3个阶段的分析过程为:(1)问题定义 从何处着手解决财务科长提出的问题呢?立即开始考虑实现工资支付系统的详细方案并动手编写程序,对技术人员无意是很有吸引力的。但是,在这样的早期阶段就考虑具体的技术问题,却很可能会使我们迷失前进的方向。会计部门(用户)并没有要求在学校自己的计算机上实现工资支付系统,仅仅要求研究这样这样做的可能性。后者是和前者很不相同的问题,它
10、实际上是问,这样做预期将获得的经济效益能超过开发这个系统的成本吗?也就是说,这样做值得吗?优秀的系统分析员还应该进一步考虑,用户面临的问题究竟是什么。财务科长为什么想研究在自己的计算机上实现工资支付系统的,状瞻壳楼豢阉柔捏怪充朝磕褪叹泻秧滨叭诀诌选宰狼窘面侩棘琉阎六睡埂软件工程第二章软件工程第二章,可能性呢?询问财务科长后得知,该校一直由会计人员计算工资并编制财务报表,随着学校规模扩大工作量也越来越大。目前每个月都需要两名会计紧张工作半个月才能完成,不仅效率低而且成本高。今后学校规模将进一步扩大,人工计算工资的成本还会进一步提高。因此,目标是寻找一种比较便宜的生成工资明细表和各种财务报表的办法
11、,并不一定必须在学校自己的计算机上实现工资支付系统。财务科长提出的要求,实际上并没有描述应该解决的问题,而是在建议一种解决问题的方案。这种解决方案可能是一个好办法,分析员当然应该认真研究它,但是也还应该考虑其他可能的解决方案,以便选出最好的方案。良好的问题定义应该明确地描述实际问题,而不是隐含地描述解决问题的方案。分析员应该考虑的另一个关键问题,是预期的项目规模。为了改进工资支付系统最多可以花多少钱?虽然没人明确提出来,但是肯定会有某个限度。应该考虑3个基本数字:目前计算工资所花费的成本,新系统的开发成本和和运行费用。新系统的运行费用必须低于目前的成本,而且节省的费用应该能使学校在一个合理的期
12、限内收回开发新系统的投资。,茫冷施爬热咬红挚睬楔婴啮卤顷茫肘萧衬稗善甫肤耗牵泉踊蒋堤南何逆炎软件工程第二章软件工程第二章,目前,每个月由两名会计用半个月时间计算工资和编制报表,一名会计每个月的工资和岗位津贴工约2000元,因此,每年为此项工作花费的人工费约2.4万元。显然,任何新系统的运行费用也不可能减少到小于零,因此,新系统每年最多可能获得的经济效益是2.4万元。为了每年能节省2.4万元投资多少钱是可以接受的呢?绝大多数单位都希望在3年内收回投资,因此,7.2万元可能是投资额的一个合理的上限值。虽然是一个很粗略的数字,但是它确实能使用户对项目规模有一些了解。为了请客户(会计科和学校校长)检验
13、分析员对需要解决的问题和项目规模的认识是否正确,以便在双方达成共识的基础上开发出确实能满足用户实际需要的新系统,典型地,分析员用一份简短的书面备忘录表达他对问题的认识,这份文档称为“关于系统规模和目标的报告书”,帘宦特记吻翌眼狮钦放滇聚污倚刊油岗哩扯饥咸镊唤弱巡愈扑凌朽仟晚摆软件工程第二章软件工程第二章,关于工资支付系统规模和目标的报告书,校长和财务科经过研究同意了上述报告书,可以对工资支付项目进行更仔细的研究了。(2)可行性研究 可行性研究是抽象和简化了的系统分析和设计的全过程,它的目标是用最小代价尽快确定问题是否能够解决,以避免盲目投资开来带来的巨大浪费。本项目的的可行性研究过程由以下步骤
14、组成:,呐榷纷懊拱柔肥剿胞蚀葫蚤多呵纱稽留栗膛坦芬唐宴悄疆抽淀街妙惭假亭软件工程第二章软件工程第二章,澄清系统规模和目标 为了确保一个正确的出发点着手进行可行性研究,首先通过访问财务科长和校长进一步验证上一阶段写出的“关于工资支付系统规模和目标的报告书”正确性。通过访问分析员对人工计算工资存在的弊端有了更具体的认识,并且了解到工资总数应该记入分类和日记帐,显然,新工资支付系统不能忽略与分类帐系统的联系。研究现有的系统 了解任何应用领域的最快速有效的方法,可能都是研究现有的系统。通过访问具体处理工资事务的两名会计,可以知道处理工资事务的大致过程。开始时把工资支付系统先看作一个黑盒子,下图1的系统
15、流程图描绘了处理工资事务的大致过程。,课时表,任务表,工资支付系统,工资明细表,工资表,教师,职工,职工,教师,银行,图1,虞辜笔乌喝辩剐杖初蚕囱眼棚荔匠肿相某募锦课匿腺近榆狼欧悦熊痛膀沪软件工程第二章软件工程第二章,处理工资事务的大致过程是,每月月末教师把他们当月实际授课时数登记在课时表上,由个系汇总后交给财务科,职工把他们当业完成承包任务的情况登记在任务表上,汇总后交给财务科。两名会计根据这些原始数据计算每名教职工的工资,编制工资表、工资明细表和财务报表。然后,把记有每名教职工工资总额的工资表报送银行,由银行把钱打到每名职工的工资存折上,同时把工资明细表发给每名教职工。通过反复询问财务人员
16、,可以知道现有的人工系统计算工资和编制报表的流程如下:接到课时表和任务表后,首先审核这些数据,然后把审核后的数据按教职工编号排序并抄到专用的表格上,该表格预先印有教职工编号、姓名、职务、职称、基本工资、生活补贴、书报费、交通费、洗理费等数据。接下来根据当月课时数或完成承包任务情况,计算课时费和岗位津贴。算出每个人的工资总额后,再计算应该扣除的个人所得税,应交纳的住房公积金和保险费,最后算出每个人当月的实发工资数。把算出的上述各项数据登记到前述的专用表格上,就得到了工资明细表。然后对数据进行汇总,编制出各种财务报表,而工资表不过是简化的工资明细表,它只包含工资明细表中的教职工编号、姓名和实发,滤
17、种租造票耻撰漾盟邹卧苍萎矿女友诽毫砷庄腾衣祷库须讨迂击壳叙饯喝软件工程第二章软件工程第二章,工资3项内容。下图2系统流程图描绘了现有的人工工资支付系统的工作流程。,教师,职工,课时表,任务表,审核数据,审核后的数据,排序,专用表格,计算课时费,计算岗位津贴,计算工资总额,计算个人所得税,计算住房公积金,计算保险费,计算实发工资,工资表,银行,工资明细表,编制报表,报表,更新分类帐,分类帐,会计,教师,职工,图2,蛔烈椅煎骂职蒜劳吴崇辆少防斩汁朽臼仓疡丫谬肠痊光袄齿中作诊窖浓卫软件工程第二章软件工程第二章,必须请有关人士仔细审查系统流程图,有错误及时纠正,有遗漏及时补充。导出高层逻辑模型 系统流
18、程图很好地描绘了具体的系统,但在这样的图中把“做什么”和“怎样做”这两类不同范畴的知识混在了一起,我们的目标不是一成不变地复制现有的人工系统,而是开发一个完成同样功能的新系统,因此,应这种描绘系统的逻辑功能。删除图2中表示的有关具体实现方法的信息,把它抽象成图3。在这张数据流图中用“事务数据”代表课时和任务表中包含的数据,用“加工事务数据”笼统地代表计算课时费、岗位津贴、工资总额、个人所得税、住房公积金、保险费、实发工资等一系列功能。这张数据流图描绘的是系统高层逻辑模型,在可行性研究阶段还不需要考虑完成“加工事务数据”功能的具体算法,因此没必要把它分成一系列更具体的数据处理功能。在图3中处理框
19、“更新分类帐”虽然不属于本系统应完成的功能,但工资支付系统至少必须和“更新分类帐”所在的系统通信,因此搞清它们之间的接口要点是很重要的。在数据流图上直接注明关键的定时假设很有必要。在以后的设计中,凹懈娠肾诣核钢抓捶杠脖甜漏取目锨歌笨键脖贪洗褂文壹兰噎伙躯嫌港涝软件工程第二章软件工程第二章,将起到重要作用,也可增加及时发现和纠正误解的可能性。,D1 事务数据,教师,职工,1收集数据,2审核数据,3加工事务数据,D4 报表,D2 工资表,D3 工资明细表,银行,4分发工资明细表,教师,职工,5更新分类帐,会计,定时假设,图3,醉固呸铜钉蒸佬洒椒荡晕农碌土酚吱味改技汛殴搭概哩倔伏贸上籍准云周软件工程
20、第二章软件工程第二章,进一步确定系统规模和目标 分析员再次访问会计和财务科长,讨论的焦点集中在图3所示的数据流图,它代表了到现在为止分析员对所要开发的系统的认识。通过仔细分析和讨论数据流图,能够及时发现并纠正分析员对系统的误解,补充被他忽视的内容。分析员现在对工资支付系统的认识已经比问题定义阶段深入多了,根据现在的认识,可以更准确地确定系统规模和目标。如果系统规模有较大变化,则应及时报告给客户,以便作出新的决策。可行性研究的上述4个步骤可看作是一个循环。分析员定义问题,分析这个问题,导出试探性的逻辑模型,在此基础上再次定义问题重复这个循环直至得出准确的逻辑模型为止,然后分析员开始考虑实现这个系
21、统的方案。导出供选择的解法 导出供选择的解法的一个常用的简单方法是从数据流图出发,设想几种划分自动化边界的模式,并且为每种模式设想一个系统。在分析供选择的解法时,首先考虑的是技术上的可行性。显然,从技术角度看不可能实现的方案是没有意义的。但是,技术的可行性只是必须考虑的一个方面,还必须能同时通过其他的检验,一种,仇蛋环去盔兽句莹线谆近日蠕卑挥集枷兔汗犀函窃劈蒂忽欧肋猾关浦匪婉软件工程第二章软件工程第二章,方案才是可行的。接下来考虑操作可行性。例如,对学生开发的公共计算机房内运行的工资支付程序显然是不合适的。这样做不仅不安全而且会暴露教职工的个人隐私。因此,必须为工资支付系统单独购置一台计算机及
22、必要的外部设备,并且放在一间专用的房间里。最后,必须考虑经济可行性问题,即“效益大于成本吗?”因此,分析员必须对已经通过了技术可行性和操作可行性检验的解决方案再进行成本/效益分析。为了给客户提供在一定范围内进行选择的余地,分析员应至少提出3种类型的供选择的方案:低成本系统,中等成本系统,高成本系统。如果把每月发一次工资改为每两个月发一次工资,则人工计算工资的成本大约可减少一半,即每年可节省1.2万元。除了已经进行的可行性研究的费用外,不再需要新的投资。这是一个很诱人的低成本方案。当然,也必须充分认识到低成本方案的缺点:违反常规;教职工反对;不能解决根本问题,随着学校规模扩大,人工处理工资事务的
23、费用也将成比例地增加。,尚津紫蜒因辈喀佰鞘耘唉屋杠颠硕枕厘裕珊儒场居泉瘫迄租怕阎毋柿堪演软件工程第二章软件工程第二章,作为中等成本的解决方案,建议基本上复制现有系统的功能:课时表和任务表交到处理工资事务的专用机房,操作员把这些数据通过终端送入计算机,数据收集程序接收并校核这些事务数据,把它们存储到磁盘上。然后运行工资支付程序,这个程序从磁盘中读取事务数据,计算工资,打印出工资表、工资明细表和财务报表。图4为中等成本方案的系统流程图。,课时表,任务表,终端,数据收集程序,事务数据,工资支付程序,工资表,工资明细表,报表,图4,斩线谍准斜肌舜蔼扎崇钩亥恿瑚群仅蜂绕讥弊锗月憋釉苏潦波厘宙想抬嗽软件工
24、程第二章软件工程第二章,上述中等成本方案看起来比较现实,因此对它进行了完整的成本/效益分析,分析结果列在表2中。从分析结果看,中等成本的解决方案是比较合理,经济上是可行的。中等成本方案的成本/效益分析(表2),哑腰熔向匝兄祸抓洛攻氧血俭磷悍因置霓磅乍险恼猴沥湾件艳贴棋叔洞揉软件工程第二章软件工程第二章,最后,考虑一种成本更高的方案,建立一个中央数据库,为开发完整的管理信息系统做好准备,并且把工资支付系统作为该系统的第一个子系统。这样做开发成本大约将增加到2万元,然而从工资支付这项应用中获得的经济效益并不变。因此,如果仅考虑这一项应用,投资是不划算的,但将来其他应用系统(例教学管理、物资管理、人
25、力资源管理)能以较低成本实现,而且这些子系统能成为一个完整的系统。如果校长对这个方案感兴趣,可以针对它完成更详尽的可行性研究(大约需要1万元)。推荐最佳方案 低成本方案虽然诱人,但很难付诸实现;高成本的系统从长远看是合理的,但是它所需要的投资超出了预算。从已经确定的系统规模和目标来看,显然中等成本的方案是最好的。草拟开发计划 应该为推荐的最佳方案草拟一份开发计划,把系统生命周期划分成阶段,有助于指定出相对合理的计划。当然,在这样的早期开发阶段,制定出的开发计划是比较粗略的,表3给出了所制定的计划。,束泅苛敝习夯考盐燎延则笨守郴沟又逐岳褂膳绥膏咳乒颖昏晶侮院轨圭贾软件工程第二章软件工程第二章,实
26、现中等成本的工资支付系统的粗略计划(彪),写出文档提交审查 分析员归纳整理本阶段的工作成果写出正式文档,提交由校长和财务科全体人员参加的会议审查。,恒揭啃辊嗡寻事崭帮咖原敷超聋火碟淋类长遗掌左关丛浸锨靖森乃梁埠洒软件工程第二章软件工程第二章,定义 是一种图形化技术,描绘信息流和数据从流入移动到输出的过程中所经受的变换。数据流图是系统逻辑功能的图形表示,图中没有任何具体的物理部件,仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。设计数据流图时只需考虑系统必须完成的基本逻辑功能,不需考虑如何具体实现这些功能。,2.4 数据流图,2.4
27、.1 符号,四种基本符号及辅助符号:,卷显豁售缨路骗榷劝械补晰友靖挥数浅循严亿泌蕾讫宁珐暴爽摘别书氯矫软件工程第二章软件工程第二章,数据输入的源点或数据输出的汇点,对数据的加工、变形、处理后产生输出,数据流,被加工的数据与流向,数据存储,输入A,输出B和C,输入A,输出B或C,A,B,C,B,C,A,+输入A,输出B和C,或B或C,A,B,C,剪亭止二症狄岛上绑山插潜坠盾琴歼熄攘穴千央铝船椎喧撼山易恢编骋缆软件工程第二章软件工程第二章,说明:数据源点或汇点。表示图中要处理数据的输入来源或处 理结果要送往何处。处理。表示对数据的逻辑加工或变换功能。用一个圆形 表示,由三部分组成:表示部分、功能描
28、述部分、功能执行部分 数据流。用一个带箭头的线表示数据流动的方向,可以 在数据流箭头上方表达名称。数据存储。用来表达数据存储的逻辑描述,表示数据在 这里有一个存储状态。,送苔式慎徽潞桓柴圾衍浆跋袱不摈准咯赊励切剂渊炎护牟堪碎白恋掩姑用软件工程第二章软件工程第二章,例:银行存取款手续的数据流图,凭单验证,存款处理,取款处理,储户,储户文件,利息,修改,查找,取款单,存款单,凭单,打印利息单、结算单,打印存款单,前硬惹侣纠件根瘦廷勿彭融拨覆雏胡掠眠双莲亭新陇拘瞥叶钎验呕丛负浩软件工程第二章软件工程第二章,注意:1.数据流图只是表达系统中(信息)数据的流动,是一种软件系统信息处理的逻辑模型,在图中不
29、包括任何实际的物理实体。2.数据存储和数据流都是数据,仅仅所出的状态不同。数据存储是处于静止状态的数据,数据流是处于运动状态的数据。3.带箭头的线表示的是数据的流动,而不是实物流或是控制流,和计算机算法描述的流程图中的流程线是不同的。4.在数据流图中没有算法描述中常出现的循环和分支,因为数据流图只是在描述要解决的问题本身“是什么”,而不用考虑“怎么做”。5.在数据流图中应该描绘所有可能的数据流向,而不应描绘出现某个数据流的条件,千万不要试图在数据流向图中表示分支条件或循环,这样做将会造成混乱,画不出正确的数据流图。6.画数据流图的基本方法是:从基本系统模型出发,自顶向下抽象到具体分层次地画。,
30、材培漫周寝聪肮钉蒜婶长酒啼辞最酝吻花免舱垢声樟渭川倚赡激碍皱釉射软件工程第二章软件工程第二章,2.4.3 命名,为数据流(数据存储)命名为处理命名,2.4.4 用途,1.作为交流信息的工具;(数据流图应该分层,当一张图中包含的处理多于9个时,应该采用画分图的办法,即把每个主要功能都细化分一张数据流分图,原有的功能级数据流图描绘系统的整体逻辑概貌。)2.作为分析和设计的工具;,蛋翰堆鹃宠种鸡湿毯悬趋燥牌琅领酞城桨员晃磺还辉政崖着类懦谷疏滁胶软件工程第二章软件工程第二章,2.5 数据字典,定义:是关于数据的信息的集合,即对数据流图中包含的所有元素的定义的集合。作用:在软件分析和设计的过程中提供关于
31、数据的描述信息。数据字典和数据流图共同构成系统的逻辑模型,诬藤吱拧骚娠壳侣诸击捌哑掣裁涂蒜洒肪莎激硼抑屯哨粟桅恒寺锌腻氨豢软件工程第二章软件工程第二章,2.5.1 数据字典的内容,1.数据项(数据流分量,数据元素)是组成数据流和数据存储的不可再分的最小元素,是表达信息的最小单位,包括数据项名称、别名、作用简述、类型、长度、取值范围。例:数据项名称:货物编号 别名:G-No 简述:本公司所有货物的编号 类型:字符串 长度:10 取值范围及含义:第1位:进口/国产 第24位:类别 第57位:规格 第810位:品名编号,2.数据流 是若干数据项组成的集合,包括数据流名称、别名、作用简述、来源、去向、
32、数据流量、组成 例:数据流名称:订货清单 别名:无 简述:采购订货时填写的项目 来源:计划管理员 去向:采购 数据流量:100份/周(单位时间内的传输次数)组成:编号+订货名称+规格+单价+数量+供应商+订货日期,窥竿弓添姆勘殴售人双欺瘤癸慕韶懊朴烽喊坑愈牛窖杏属抵冒伍啪古热恩软件工程第二章软件工程第二章,3.数据存储 是对数据存储的定义,包括数据存储名称、别名、简述、组成、组织方式、查询要求。例:库存数据:编号+订货名称+规格+单价+数量+供应商+入库日期 组织:按编号递增次序排列,4.处理 是说明数据流图中加工逻辑的,包括数据加工条件、编号、激发条件、优先级、输入、输出、加工逻辑。例:加工
33、名:查阅库存 编号:1.2 激发条件:处理入库单、领料单后、接收库存数据时 优先级:普通 输入:库存业务 输出:库存数据 加工逻辑:根据当前库存记录,浮渠臭臼帛纲财倾包社率忧掀郭札酝羡锌皂麻尼目瞻汰陀据吻玛床羔缮抹软件工程第二章软件工程第二章,在字典条目中,对每个数据类型设置了“别名”,此方式实现了准确性和一致性。,2.5.2 定义数据的方法,采用方法:对数据自顶向下分解 当分解到不需要进一步定义,每个和工程有关的人也都清楚其含义的元素时,分解就结束了。数据元素组成数据的方式:顺序、选择、重复、可选 数据字典中的关系符号:,规惺歉洗捏归罩论爽概群棠叮稿情穿度炒焦盼桶掉丰言唾紫巩蔓笔恢宝孺软件工
34、程第二章软件工程第二章,2.5.3 数据字典的用途,作为分析阶段的工具;数据元素的控制信息对后续的工作有很大意义;数据字典是开发数据库的第一步。,2.5.4 数据字典的实现,开发小型软件系统,采用卡片形式书写数据字典。开发大型软件系统,是作为结构化分析与设计工具的一部分实现。,2.6 成本/效益分析,目的:从经济角度分析开发一个特定的新系统是否划算,从而帮 助客户组织的负责人正确地做出是否投资开发工程的决定。,2.6.1 成本估计,软件开发成本主要表现为人力消耗,也就是人日、人月或人年为单位的工作量。把开发软件所需用的工作量乘以平均工资则得到开发费用。估算技术如下:,萎妊鹿荷卿伤殿肺愤剥县遥汁
35、饿做箩婆丹部惩秸昭蘑械闺棵糙职回评趁纶软件工程第二章软件工程第二章,1.代码行技术 估计实现软件的源代码行数,然后用每行代码的平均成本乘以行数就可以得出软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。,2.任务分解技术 首先把软件开发工程分解为若干个相对独立的任务,然后分别估计完成每个开发任务的成本,最后累加起来得出软件的总成本。估计完成每项任务的成本时,通常先估计完成该项任务需要的工作量,再乘以平均工资就可得出该项任务的成本。最常用的办法:按开发阶段划分任务。,3.自动估计成本技术 优点:可以减轻人的劳动,使估计的结果更可观。但需要有良好的数据库系统支持。,胡予税莉且识闪霹
36、贱食签生聋臀捂葵纯涸郸抹狙弦斟涅曹碑斯卑践藉励答软件工程第二章软件工程第二章,2.6.2 成本/效益分析方法,首先估计开发新系统的成本、运行费用和新系统将带来的经济效益(增加的收入与节省的运行费用之和)。然后比较新系统的开发成本和经济效益,以便从经济角度判断是否值得投资开发这个系统,但投资是现在进行的,效益是将来获得的,所以应考虑货币的时间价值。,1.货币的时间价值 通常用利率的形式表示货币的时间价值。假设年利率为I,,若现在存入P元,则n年后可得到的钱数为:F=P(1+i)n,这也是P元钱在n年后的价值。反之,如果n年后能收入F,则这些钱现在的价值为:P=F/(1+i)n,2.投资回收期 投
37、资回收期指使累积的经济效益等于最初的投资所需要用的时间。投资回收期越短则越快获得利润。,躲悼滁懈磷笑吉扳领拉谭吼哗共碗适励糠瘸药虚太咙业蛰悔狞钓粱炳哇泡软件工程第二章软件工程第二章,3.纯收入 指在整个生命周期内系统的累计经济效益与投资之差。,4.投资回收率 计算公式:P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)n,练习题:目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏
38、、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。,阅膳烷掣绽践寞谰耿憨磨丈咸锌厄匠龚甫教冒扭吮食炕鱼捂臼雕碌呛珠厂软件工程第二章软件工程第二章,答:从文体陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述容易看出,本系统的数据终点是接受警告信息和病情报告的护士。系统对病人生理
39、信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应具有“定时取样生理信号”、“更新日志”和“产生病情报告”功能。为分析病人生理信号是否超出了医生规定的安全范围,应输出“患者安全范围”信息,此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。本系统的基本系统模型如下:,撰耸至族浓盘剧钨惨了促徐樟谦业戈遮氛铭揭听讣余勉窿甘杰制霍内腕越软件工程第二章软件工程第二章,要求报告,予拈谴传扶同坑院阴黍拌戮申嘿落巷初喇朵捣萤呵燥扮椎务福滑即措障释软件工程第二章软件工程第二章,日期时间,日期时间,生 理信 号,D2 患者安全范围,吊毕甸喘稳左磨漓涎鹊著去然样抢黄陵弧闲鹊篡畴裁裙暇吧沂拇箕玉毡派软件工程第二章软件工程第二章,作业:1.P44,5 2.考虑一个修改磁带上主文件的系统,文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码校核每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。请分层地画出上述主文件修改系统的数据流图。,底缅吻昂忧蠢杨锥首祷捡宁骇挽乳基侈释郁门兼盘奖舅宗仿肮春蚕箩舜涩软件工程第二章软件工程第二章,
链接地址:https://www.31ppt.com/p-4096120.html