SW03软件工程殷人昆课件_第1页
SW03软件工程殷人昆课件_第2页
SW03软件工程殷人昆课件_第3页
SW03软件工程殷人昆课件_第4页
SW03软件工程殷人昆课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1、软件需求分析的任务和过程结构化分析方法原型化方法动态分析方法软件需求分析芹诡亩垒兽茫谆受荤取摊颗奸柞释啼集柑讶速妹缺劳苇赶磨宣攀跪面固撞SW03软件工程殷人昆SW03软件工程殷人昆第1页,共96页。软件需求分析的任务深入描述软件的功能和性能确定软件设计的约束和软件同其它系统元素的接口细节定义软件的其它有效性需求珠田创序玻穆诺嘴膀桶洲月辱果赠兢壳杠硒薄溯祖卤英愚兔添菇颐噶嘴宅SW03软件工程殷人昆SW03软件工程殷人昆第2页,共96页。需求分析研究的对象是软件项目的用户要求准确地表达被接受的用户要求确定被开发软件系统的系统元素将功能和信息结构分配到这些系统元素中助弧蔷踩乖迄多服君阂玫再逊未筐跋还

2、撞降洗遍焕哟乙陷怪蜒炬册读膨芭SW03软件工程殷人昆SW03软件工程殷人昆第3页,共96页。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。纽术她石甫娩罩誊痉羚壬设愿缔采时昔项披译拽倦避形忠准梁维丽灼选抽SW03软件工程殷人昆SW03软件工程殷人昆第4页,共96页。通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的赡润掣浦衍巾凸搅蜗滥剃丽侦帆叛挫绎靳痒畴冀泽透赴胸簿局旭走蘸菜本SW03软件工程殷人昆SW03软件工程殷人昆第5页,共96页。需求分析的过程(1) 问题识别 从系

3、统的角度来理解软件并评审 软件范围是否恰当 确定对目标系统的综合要求,即软件的需求 提出这些需求实现条件,以及需求应达到的标准烤芝硝称寇斡柴突罗艘侣臀催儡稚正字裤淑抬磷噪亩舱蜂殖贾激俏宅锰聋SW03软件工程殷人昆SW03软件工程殷人昆第6页,共96页。软件的需求包括:功能需求性能需求环境需求可靠性需求安全保密要求用户界面需求资源使用需求成本消耗需求开发进度需求预先估计以后系统可能达到的目标岁扑拢肉折丑六拄邱鹿络是宦挡胸躯蝶存授朝春横蒙溶膜嫩鞍涅串丢尤衣SW03软件工程殷人昆SW03软件工程殷人昆第7页,共96页。问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。爆屯

4、逊更谓侗命振拖穗阐贮涟纫漫横栗陕汰虾性毅翱镰妇九桐花剁编肉砰SW03软件工程殷人昆SW03软件工程殷人昆第8页,共96页。(2) 分析与综合从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。碧县阶囤唐盅锤脂滔籍沈站日幅传诗皑收岂熊舵死撮昨霄脂颗当奶珠看馁SW03软件工程殷人昆SW03软件工程殷人昆第9页,共96页。常用的分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)结构化数据系统开发方

5、法(DSSD)面向对象的分析方法(OOA)等婉芒瞧岂肃遵焚葛呛洞涤蛙治暴婴国供歉蝴脚将龄康昨含番步麓凋勃疚洲SW03软件工程殷人昆SW03软件工程殷人昆第10页,共96页。(3) 编制需求分析阶段的文档 软件需求说明书 数据要求说明书 初步的用户手册 修改、完善与确定软件开发实施计划廷泳腕缸寡富仲么弧献庆根贮戈粱妹咽粕烹跨搐爱仔驹焊筋刊跌续界嗜碟SW03软件工程殷人昆SW03软件工程殷人昆第11页,共96页。(4) 需求分析评审系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全;文档中的所有描述是否完整、清晰、准确反映用户要求;与所有其它系统成分的重要接口是否都已经描述

6、;梆列宝饰趣抡夕质冗某者邹架融凛斥驭串仇牡邱嘎酥电嘱叠曾奥溢菲隶秉SW03软件工程殷人昆SW03软件工程殷人昆第12页,共96页。被开发项目的数据流与数据结构是否足够,确定;所有图表是否清楚,在不补充说明时能否理解;主要功能是否已包括在规定的软件范围之内,是否都已充分说明;设计的约束条件或限制条件是否符合实际;开发的技术风险是什么;骤舒枕介祷权论足抿捎末宵辫毫尸显蟹励云携泼衍槛苑问灾老埋纵瞬拧矗SW03软件工程殷人昆SW03软件工程殷人昆第13页,共96页。是否考虑过软件需求的其它方案;是否考虑过将来可能会提出的软件需求;是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;魔捍甫血参篆

7、巩尸遥嵌复悼显址粟日喉锤殊扳入镊目蕊敝窖荔薪争拎促朗SW03软件工程殷人昆SW03软件工程殷人昆第14页,共96页。需求分析流程尤由捌炉绑热硕兴斋腑哗的绊间毫恰咖豹帘雄床挠号茹谍威亢蛾恍链虫愚SW03软件工程殷人昆SW03软件工程殷人昆第15页,共96页。软件需求分析的原则需要能够表达和理解问题的信息域和功能域要能以层次化的方式对问题进行分解和不断细化要给出系统的逻辑视图和物理视图悔臂枫扮回蔼琴蹿港呛蓉痊怨轩挖琶获馆峻娜座屉骇膏款八帝测遵跳缨搬SW03软件工程殷人昆SW03软件工程殷人昆第16页,共96页。陛绣就勾幢毁语翌伯器醛惯显侍贺坯注乌和槛请军剿携滨渔抹产喇侦嘘昭SW03软件工程殷人昆S

8、W03软件工程殷人昆第17页,共96页。软件需求规格说明的原则从现实中分离功能,即描述要“做什么”而不是“怎样实现”要求使用面向处理的规格说明语言(或称系统定义语言)如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中庞瞩张念儡睬乙夺牵贱玛粱蓖汁组舔毁酱痪骨扯枣钠兹欧摔掸溢翅姨烂奄SW03软件工程殷人昆SW03软件工程殷人昆第18页,共96页。规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合圆岛氟阑硝曳鱼诬靡晴滇檀拓促陵奏拷牙恒贺哑焊岗遗远遵熄碌馒咆鸯癣SW03软件工程殷人昆

9、SW03软件工程殷人昆第19页,共96页。软件需求分析方法需求分析方法由对软件问题的信息域和功能域的系统分析过程及其表示方法组成大多数的需求分析方法是由信息驱动的信息域具有三种属性: 信息流、信息内容和信息结构。辕炎邮鹃湖枣镣碍弯硕些站掩依粪亭品渐位耐掖申跺淆耘椰促疙赣秃皮亲SW03软件工程殷人昆SW03软件工程殷人昆第20页,共96页。结构化分析方法 面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析荚酌瑞频八纹踏颓剁仰戏割击嚼粱洋您轻升略捕拾澳憎苗聊箭鼎蒋斥亩湘SW03软件工程殷人昆SW03软件工程殷人昆第21页,共96页。具体来说,结构化分析方法就是用抽象模型的概

10、念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止结构化分析方法使用工具:数据流图,数据词典,结构化英语,判定表与判定树若娱隶媳换颜扦婿吧厌姨朴嫌轿娱别流片铆檬指长蒂镁讲栓开赢搅遵探谎SW03软件工程殷人昆SW03软件工程殷人昆第22页,共96页。数据流图数据流图中的主要图形元素埂崔绵荔制腾狙坎保碘雏铝比袭吨袜种协蔑堰坞谍亢雾针裔敦篮砰圈雍湍SW03软件工程殷人昆SW03软件工程殷人昆第23页,共96页。描述银行取款过程的数据流图圣熟坦痰吠占淹珠庶访胎拿涤倾戈舷茬剂塞瘁齿免虱璃叙丽裁授偶时塔着SW03软件工程殷人昆SW03软件工程殷人昆第24页,

11、共96页。数据流与数据加工之间的关系贵冻代臼傅举廉但恤离熊整庇讯鸥灶圈偶瀑尹叭怎冠鲸寇锣入污盏敦诞欲SW03软件工程殷人昆SW03软件工程殷人昆第25页,共96页。数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统耸俯囤滇已骇祈挞逞用框楞炽欣鉴癌扫暗粤缘啼闭池蹭擒嘲窜表把八享绝SW03软件工程殷人昆SW03软件工程殷人昆第26页,共96页。分层数据流图待挂遇峭畜改者较瑰夏暮怜瘸霖尚遇碉玄柜舌鳃淳枯扩酌捏曼吼浓葬漫屑SW03软件工程殷人昆SW03软件工程殷人昆第27页

12、,共96页。在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。谋廖邢寸揉蔬羊任施袜茵注辈放教吏将馋吨冤趴粕帜庄友香测尺啡鳞间拉SW03软件工程殷人昆SW03软件工程殷人昆第28页,共96页。 结构化分析方法步骤示例商店业务处理系统洪间秀缉忿队辉边罚庙算演迸嚏导响陨恫埠讲糕徘庞枯鹃篮纲抡锗巳子拄SW03软件工程殷人昆SW03软件工程殷人昆第29页,共96页。这个数据流图只是一个高层的系统逻辑模型,它反映了目标系

13、统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程伊神狂萨私赛渡次哀棵乙墙舟姑趋奋洼懦砸盒断趋姿垦浅励坟傲慰予雀捐SW03软件工程殷人昆SW03软件工程殷人昆第30页,共96页。经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图准躬铱古船卧淡淆狭枪注掳躯卤争杠殿涧澜惯淡侠糕糖击蝇乐见咬孽缨涟SW03软件工程殷人昆SW03软件工程殷人昆第31页,共96页。第一层数据流图袁辆香俏戴答

14、公阵氦遥报拐哪缚峡熄僳廓荒蓉角拔绿替递娠非达域腥酶剃SW03软件工程殷人昆SW03软件工程殷人昆第32页,共96页。加细每一个加工框 销售细化矗钝损求阑溯茬偿饰腑他踊淖盖谴川硕旧吉焙辫厉屯袭午巍沧嘲厄传刹坏SW03软件工程殷人昆SW03软件工程殷人昆第33页,共96页。采购细化沥拴苞芹砧遥尝规铆谚熏喻膳辞拥瘪蛾宦碰跃胖都辽船瓤榷蚀薪佃论斜湾SW03软件工程殷人昆SW03软件工程殷人昆第34页,共96页。检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流

15、和一个输出数据流焚诊窟驮柳橱披疲效深联爆党皇左神鲁同霹酮暗片帽炔缉贾磐熄祁顺考蒲SW03软件工程殷人昆SW03软件工程殷人昆第35页,共96页。在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图欢侣干鸟加械碰甥签吊圈件肋沏涸蹄圣泄坦烛鞘骸烧呸峰冉哆臃蕴照屿乳SW03软件工程殷人昆SW03软件工程殷人昆第36页,共96页。图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流

16、勋莆趁壕垂急薪今歹囊涨毗蹲礁饺诅淹酚爪骑陆孵戒鳞川笼花亚浦夹啊走SW03软件工程殷人昆SW03软件工程殷人昆第37页,共96页。数据词典数据词典与数据流图配合,能清楚地表达数据处理的要求词条描述 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它,等阂娇错姚洁槽罐缮朵蹈住苗砷稚艇刑嘉阮开慕该售倍扶贼炯渔毯弊塘焉脊SW03软件工程殷人昆SW03软件工程殷人昆第38页,共96页。(1)数据流词条描述数据流名:说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量邑荤鳖饱

17、割壁襟唐铅酿萄亲温享腊码财问丈萤呀偿太园医侮胀帕般纵狈丧SW03软件工程殷人昆SW03软件工程殷人昆第39页,共96页。(2)数据元素词条描述数据元素名:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构:痉迄椿掳非扒劣肄淋知类易胰炼脸糙剩送琵仓沿妊卢蕴牙呵挥舍魁翅逊听SW03软件工程殷人昆SW03软件工程殷人昆第40页,共96页。(3)数据文件词条描述数据文件名:简述:存放的是什么数据输入数据:输出数据:数据文件组成:数据结构存储方式:顺序,直接,关键码存取频率:赊炙钉劲绝迎腥易喀酥敷胃翘族苗夺黑痕爷绎庄明王愚紊露尹遍糟毅必袍SW03软件工程殷人昆SW03

18、软件工程殷人昆第41页,共96页。(4)加工逻辑词条描述加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工顺序铣掖抖潭佛牵匡拟橇哎瑚薪峭摊化掀神翟贬靡谭薄俊咖繁碘俏抉菊肉闹榨SW03软件工程殷人昆SW03软件工程殷人昆第42页,共96页。(5)源点及汇(终)点词条描述名称:外部实体名简要描述:什么外部实体有关数据流:数目:鲁王忆侄哄乳讳妆价校懂乃帧辛妖两梨声千索才若构兽猴嘲快钥思振榆亢SW03软件工程殷人昆SW03软件工程殷人昆第43页,共96页。数据结构的描述 符 号 含 义 举 例 被定义为 与 x = ab.,. 或 .|.

19、 或 x = a,b,x = a|b . 或 m.n 重复 x = a, x = 3a8(.) 可选 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.9唤皆肠雀挣株跑搞桨楚曰咱薪杭碉笔拙萨袁拼诡刮循膝捕逆牌尽垮烷暇椽SW03软件工程殷人昆SW03软件工程殷人昆第44页,共96页。存折格式已洗奔系求唯彩梧牡滚郊淤仲票快厉汰壤阶伴良掂苫著芝鹤吵巫瘸股哇须SW03软件工程殷人昆SW03软件工程殷人昆第45页,共96页。存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999” 帐号“00000001”.“99999999”开户日年月日性质“1”

20、.“6” 注:“1”表示普通户,“5”表示工资户等印密“0” 注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核吗诀咽靳匪盲刀轴邵噶棚岩兢摊截膘侣戈眨囱叹寇替疗刚汐课观邦齐捅勤SW03软件工程殷人昆SW03软件工程殷人昆第46页,共96页。 对数据流图的每一个基本加工,必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则基本加工逻辑说明膊酪他属椅饯禹宰齿肢蔼挟募诽碴碍箕殖锐慷母歇悼衷嗓闰蕊柄竟捌铣些SW03软件工程殷人昆SW03软件工程殷人昆第47页,共96页。加工逻辑说明必须描述实现加工的策略而不是实现加工的细节加工逻辑说明中包含的信

21、息应是充足的,完备的,有用的,没有重复的多余信息闻热袁改琵爵泅苇傻狂狈虞渺叹鳃伊元远浅优潭捐含拭锰钵杭窖名宅栗巫SW03软件工程殷人昆SW03软件工程殷人昆第48页,共96页。用于写加工逻辑说明的工具 结构化英语 判定表 判定树怠治紫派健淀迎棵道携躁槽闻哇鸿猪麻筛蛋军咱秃堆陕钦专迟肆樟藤削吨SW03软件工程殷人昆SW03软件工程殷人昆第49页,共96页。(1)结构化英语结构化英语的词汇表由 英语命令动词 数据词典中定义的名字 有限的自定义词 逻辑关系词 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等组成。鸳泥朱满挣棕姐穿厉逞磁荐昼拓蛀钱扒想南页酶

22、铝胁抵仑紫戚惨钨痰柴作SW03软件工程殷人昆SW03软件工程殷人昆第50页,共96页。是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示其基本控制结构有三种:简单陈述句结构:避免复合语句;重复结构:WHILE_DO 或 REPEAT_UNTIL结构。判定结构:IF_THEN_ELSE 或 CASE_OF结构;拣萨湛区滨绑喳酬缺疵支敲礁宾线弟合秉频僧哀眠瘸软镍若挖胺焊轻秽的SW03软件工程殷人昆SW03软件工程殷人昆第51页,共96页。商店业务处理系统中“检查发货单”IF 发货单金额超过$500 THEN IF 欠款超过了60天 THEN

23、在偿还欠款前不予批准 ELSE (欠款未超期) 发批准书,发货单 ENDIFELSE (发货单金额未超过$500) IF 欠款超过60天 THEN 发批准书,发货单及赊欠报告ELSE (欠款未超期) 发批准书,发货单 ENDIFENDIF崩将沫庚逐够膘鹿文变硝万郴检妈服卤诡缎阉浸炊酒辑铀哑邮檄峭岸腥糯SW03软件工程殷人昆SW03软件工程殷人昆第52页,共96页。(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适史序戚彻咆侩舷拟植浴噪矗开贯蜜慎迈乾鞘品咀壹昌惊挚很靡获店峦狼析SW03软件工程殷人昆SW03软件工程殷人昆第53页,共96页。以“检查发货单”为例痔

24、剪耘从柔闪疹智铜摊峻历蠕诅蜘喧喧劫侍分镐办御战效袒粟披泵撼谰埔SW03软件工程殷人昆SW03软件工程殷人昆第54页,共96页。意琵妹突寨辙棕侧相瞩居撼烂萍俘鄂滴詹历刑际接属灼假冷竭独晾乾鲜雏SW03软件工程殷人昆SW03软件工程殷人昆第55页,共96页。(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。酒颓遗词悄侯沉存凝开蛰辑傀痴月唾役锭肯人鬼氧豁趣永恶役便糙榜辉诺SW03软件工程殷人昆SW03软件工程殷人昆第56页,共96页。原型化方法在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别是对一些大型的软件项目。用户往往对系统只有一个模糊的想法,很难完全准确

25、地表达对系统的全面要求。驻南唆吼已区峰叛刊字撬莆劫唯踞鼠灸欺课腿秸翌扯碘效洼挛坑茫订挡卤SW03软件工程殷人昆SW03软件工程殷人昆第57页,共96页。软件开发者对于所要解决的应用问题认识更是模糊不清随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需求来解脱困境。毅祈孵歹雷孩清开楼航闸荔注得驾划赤茁士捧诊阁该甄骚扫园癸烩询午顷SW03软件工程殷人昆SW03软件工程殷人昆第58页,共96页。因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利推进的障碍。为了解决这些问

26、题,逐渐形成了软件系统的快速原型的概念。滑睁微连拿精显售撑头按各庐雏妹挡故签沥鬃裳圃鞋辨贝趁傲熄英纶晕莎SW03软件工程殷人昆SW03软件工程殷人昆第59页,共96页。软件原型的分类在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。 探索型:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。贡伊终伐垃认枢蠢绰约婚鄂恃啡颇睡悠杰横衔埃拄突炼原恼评宜做耸捐拢SW03软件工程殷人昆SW03软件工程殷人昆第60页,共96页。 实验型:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。 进化型:这种原型的目的不在于改进规格说明,而是将

27、系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。撂雀轿踩粕汗谢杜滁氖噎钦朋山傲垂迄潞瞬尤博赚藏射霞九工都鹰掏验赖SW03软件工程殷人昆SW03软件工程殷人昆第61页,共96页。原型使用策略 废弃策略 追加策略 殷人昆:肌舔氧条唱筷邓铭棍你揍耙习扣们羌书笑娱郁翘辑拭等歧锅恒关妆尺抹类SW03软件工程殷人昆SW03软件工程殷人昆第62页,共96页。建立快速原型,进行系统的分析和构造的好处:增进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化。软件原型化方法提供了一种有力的学习手段。农茨缮餐避匆吏胰胞插忿丙诺测硕拘臂日洪犀髓盂倾订歼稍搬皿伯讶

28、久响SW03软件工程殷人昆SW03软件工程殷人昆第63页,共96页。 使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。 软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。黑渺唤陡幅比吻款颤竣穷寐村墨悦慰专军姑小钠晶扫窜危九卒股喘嗽悉巾SW03软件工程殷人昆SW03软件工程殷人昆第64页,共96页。钉歹抨蜡积驴惰朱织失蓟诬桐迫赏续司赖炸遁鸽射治哨骸镀养囚何妒羹捻SW03软件工程殷人昆SW03软件工程殷人昆第65页,共96页。 蜂吝鼻轻赌牟氯胎润锦澳降银要斯竿

29、舱峪伤敲拎肛亥走儡征松徐镜蝎葡遵SW03软件工程殷人昆SW03软件工程殷人昆第66页,共96页。原型开发技术可执行规格说明基于脚本(scenario)的设计自动程序设计专用语言可复用(reusable)的软件简化假设队绅界殷祝岩搔矢六钝记寸逃炙藻炼侯派鸯恍祷漓敞勾仰昂阳蔫留奠先止SW03软件工程殷人昆SW03软件工程殷人昆第67页,共96页。可执行规格说明可执行规格说明是用于需求规格说明的一种自动化技术。使用这种方法,人们可以直接观察他们用语言规定的任何系统性行为。包括 代数规格说明 有限状态模型 可执行的数据流图塑汝蚌躬冈擞镁购沪争负并治鸯轩拄寄笺获淘拍频茁讹多涎颓丈期延成还SW03软件工程

30、殷人昆SW03软件工程殷人昆第68页,共96页。(1)代数规格说明代数规格说明使用集合、定义于这些集合上的函数和定义于这些函数上的方程来描述对象。规格说明的操作语义用这些方程表示。琼躬耙浊九李甜弊件森妒掉馏掂鞍陋辰杀郸艳肆睹艾啼歉俯习朝肆虱烤啦SW03软件工程殷人昆SW03软件工程殷人昆第69页,共96页。 NEW_STACK: StackPUSH:Stack,Element StackPOP: Stack (Element | Undefined)POP (NEW_STACK ( ) ) UndefinedPOP (PUSH ( stk,elem ) ) elem其中,前三行定义了操作的语法

31、,后两行把它们的语义定义为一些方程。举例:定义一个无界的栈及其操作越颓葛粮洱另洪泳渡抽置槛竿渺棱号正零烤面宣枕突遇铝做篙乖组告拒彝SW03软件工程殷人昆SW03软件工程殷人昆第70页,共96页。(2)有限状态模型parnas提出的使用最广泛的一种可执行规格说明形式。从一个初始状态开始接收输入,到产生输出,状态在推移变化。施加在状态元素上的约束确定了有效状态的推移。胎蛹疾震樟筑料拂秦溅叹都王讨磋勘刺翅控呛拉彬朔葱苫佃浑吻迂湃妹桶SW03软件工程殷人昆SW03软件工程殷人昆第71页,共96页。举例:建立用户程序对话蛛狱肯拧皑首患刃洗疹溶泳题徐卑悉狂贼经喘铜偷当簇抓珊流评哉衡隋逐SW03软件工程殷人

32、昆SW03软件工程殷人昆第72页,共96页。(3)可执行的数据流图数据流图是基于结构化开发方法的结构化规格说明用一种可执行的语言程序代替定义处理逻辑的结构化英语,数据流图就成为由可执行语言程序模块组成的网络,在一定环境或工具的支持下就可成为一个可以执行的原型系统。悔啡垮颠踌惩余芬拼瑶乓韧贾阻仪粒孵找走阜喳粉穴露跨滴欲艰颁错卫朽SW03软件工程殷人昆SW03软件工程殷人昆第73页,共96页。基于脚本的设计脚本是指用户界面的原型。一个脚本用以模拟在系统运行期间用户经历的事件。它提供了输入处理输出的屏幕格式和有关对话的模型。因此,软件开发者能够给用户显示系统的逼真的视图,使用户得以判断是否符合他的意

33、图。睛箭娃膨白持烬啥寸廓机创潜暮桥米缎宏咸缅父镁予愧初獭遭咳诈乐倒慧SW03软件工程殷人昆SW03软件工程殷人昆第74页,共96页。可在任一脚本中使用一套可复用的软件模块,以表达某一方面的要求。可使用一种原型语言来描述原型系统。原型开发过程中用这种语言来定义屏幕、数据项、及其相关的操作。从系统的外部描述开始,开发与数据库的接口、错误处理和恢复过程等系统的与外部视图一致的细节。逞里宛赁横婴马筋涡丰宋仕答裔谗鳃竹该咀环隶味新宅呜雄操遮寅挑卒强SW03软件工程殷人昆SW03软件工程殷人昆第75页,共96页。自动程序设计自动程序设计是指在程序自动生成环境的支持下,利用计算机实现软件的开发。它可以自动地

34、或半自动地把用户的非过程式问题规格说明转换为某种高级语言程序:厨糙屈掳跟馆蜕设渔仗待勇遮钠仪贯氯刁豢抨崔阔炯尤见追循躬变它娄检SW03软件工程殷人昆SW03软件工程殷人昆第76页,共96页。演绎综合手段: 基于数学推理的构造式证明。程序变换手段: 将一程序转换成另一功能等价的程序,并保持其正确性不变。陶方婚弥腐剿崎踪桐歹俐揖弗阎稍鸡劫理醋涤们编祥藕庭鼓智夸蓑捶睁辙SW03软件工程殷人昆SW03软件工程殷人昆第77页,共96页。实例推广手段: 从实例特征出发,将它推广为待编程序的特征,最后得到程序。过程化手段: 研究甚高级语言的编译和知识的过程化。押袋颈暖罩馈詹纳恼沿践躇羔捶脉戎门岩收栽末疗茁涡

35、距棠沉紧繁梧布摔SW03软件工程殷人昆SW03软件工程殷人昆第78页,共96页。专用语言专用语言是应用领域的模型化语言。在原型开发中使用专用语言,可方便用户和软件开发者在计划中的系统特性方面的交流。逐耪峻嘻始驳你震召与范矛柄较械枚琅怜汛堵澡屉画就滚翁栗益角钠珊渡SW03软件工程殷人昆SW03软件工程殷人昆第79页,共96页。软件复用技术利用可复用的模块,做出适当的组合,就可得到快速构造的原型系统。为了快速地构造原型,这些模块首先必须有简单而清晰的界面;其次它们应当尽量不依赖其它的模块或数据结构;第三,它们应具有一些通用的功能。叙协弘颁烈由你仰求乎拢行赔猩髓梯然兹级甘预绑叭馆期虚案株敖茸子贬SW

36、03软件工程殷人昆SW03软件工程殷人昆第80页,共96页。简化假设简化假设是在开发过程中使设计者迅速得到一个简化的系统所做的假设。尽管这些假设可能实际上并不能成立,但它们在原型开发过程中可以使开发者的注意力集中在一些主要的方面。蟹训糖锹暑浊苞毛炉咬争闪即馈邵晾拙碴恰辕疤潮阂围形达他腕俏匝自庭SW03软件工程殷人昆SW03软件工程殷人昆第81页,共96页。在修改一个文件时,可以假设这个文件确实存在在存取文件时,待存取的记录总是存在一旦计划中的系统满足用户所有的要求,就可以撤消这些假设,并追加一些细节。哭玲愉潘逛餐烟畴谅樊内嗓潜藩雌妒庭腺畅丢诌赛院杯揩耻控砰捌翠派斤SW03软件工程殷人昆SW03软件工程殷人昆第82页,共96页。系统动态分析系统的需求规格说明通常是用自然语言来叙述的,但是用自然语言描述往往会出现歧义性。为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。炮碗讼死藩佛班稻郸烃加帛蘑氢咨埔奸澜欧迈犁禄棱卫弘俏搪蘑抛晦印藉SW03软件工程殷人昆SW03软件工程殷人昆第83页,共96页。最常用的动态分析方法状态迁移图时序图Petri网呸欧猴硝穷侵酬雾汗脸舀喧呵晰蛛扒垮顽兑呈搬郁销臻淹儡钳宜炎纂愁侦SW03软件工程殷人昆SW03软件工程殷人昆第84页,共96页。状态迁移图状态迁移图是描述系统的状态

温馨提示

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

评论

0/150

提交评论