版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Chapter7RequirementsModeling:FlowandBehaviorSoftwareEngineering:APractitioner’sApproach,7/e
byRogerS.Pressman1Chapter7RequirementsModelin2RequirementsModelingStrategiesOneviewofrequirementsmodeling,calledstructuredanalysis,considersdataandtheprocessesthattransformthedataasseparateentities.Dataobjectsaremodeledinawaythatdefinestheirattributesandrelationships.Processesthatmanipulatedataobjectsaremodeledinamannerthatshowshowtheytransformdataasdataobjectsflowthroughthesystem.Asecondapproachtoanalysismodeled,calledobject-orientedanalysis,
focusesonthedefinitionofclassestheycollaboratewithoneanothertoeffectcustomerrequirements.2RequirementsModelingStrateg3Flow-OrientedModelingRepresentshowdataobjectsaretransformedattheymovethroughthesystemdataflowdiagram(DFD)isthediagrammaticformthatisusedConsideredbymanytobean“oldschool”approach,butcontinuestoprovideaviewofthesystemthatisunique—itshouldbeusedtosupplementotheranalysismodelelements3Flow-OrientedModeling4FlowModelingNotationexternalentityprocessdataflowdatastore4FlowModelingNotationexterna5ExternalEntityAproducerorconsumerofdataExamples:aperson,adevice,asensorDatamustalwaysoriginatesomewhereandmustalwaysbesenttosomething5ExternalEntityAproduceror6ProcessAdatatransformer(changesinputtooutput)Examples:computetaxes,formatreport,displaygraph
Datamustalwaysbeprocessedinsomewaytoachievesystemfunction6ProcessAdatatransformer(ch7DataFlowDataflowsthroughasystem,putetriangleareabaseheightarea7DataFlowDataflowsthrougha8DataStoresData
isstoredforlateruse.look-upsensordatasensor#reportrequiredsensor#,type,location,agesensordatasensornumbertype,location,age8DataStoresDataisstoredfor9DataFlowDiagramming:GuidelinesalliconsmustbelabeledwithmeaningfulnamestheDFDevolvesthroughanumberoflevelsalwaysbeginwiththelevel0donotrepresentprocedurallogicsourcedestination1A2B3Ccefdbabde1F9DataFlowDiagramming:Guidel10ConstructingaDFD—Ireviewuserscenariosand/orthedatamodeltoisolatedataobjectsanduseagrammaticalparsetodetermine“operations”determineexternalentities(producersandconsumersofdata)createalevel0DFD10ConstructingaDFD—Ireviewu11Level0DFDExampleuserprocessingrequestvideosourceNTSCvideosignaldigitalvideoprocessorrequestedvideosignalmonitorConstructingaDFD—I11Level0DFDExampleuserproce12ConstructingaDFD—IItodeterminenextleveltransformsEachsub-DFDprovidesamoredetaileddescription“balance”theflowtomaintaindataflowcontinuityeachProcessisrefineduntilitdoesjustonethingmostsystemsrequirebetween3and7levelsforanadequateflowmodelasingledataflowitem(arrow)maybeexpandedaslevelsincrease12ConstructingaDFD—IItodete13TheDataFlowHierarchyPabxyp1p2p3p45abcdefglevel0level113TheDataFlowHierarchyPabxy教材管理系统的顶层DFD学生教材购销管理系统书库保管员购书单领书单缺书单进书通知ConstructingDFD—Example教材管理系统可分为:销售子系统和采购子系统销售子系统:由教师或学生提交购书单,经教材科发行人员审核是有效购书单后,开发票、登记并返给学生领书单,学生凭领书单领书。采购子系统:若是脱销教材,则登记缺书信息,并发缺书单给书库采购人员;一旦新书入库后,即发进书通知告知系统。教材管理系统的顶层DFD学生教材购销管理系统书库保管15学生书库保管员第一层DFD图—教材管理系统购书单领书单1销售2采购进书通知F2:缺书登记表F1:教材存量表缺书单进书通知ConstructingDFD—Example15学生书库第一层DFD图—教材管理系统购书单领书单16ConstructingDFD—Example1.1审查有效性1.2开发票有效购书单1.3开领书单发票1.4登记缺书1.5补售教材F2:缺书登记表学生学生无效书单领书单领书单F3:各班学生用书表F4:售书登记表补售书单暂缺书单采购子系统第二层DFD图—销售子系统F1:教材存量表进书通知16ConstructingDFD—Example1.117ConstructingDFD—Example2.3修改教材库存和待购量2.1按书号汇总缺书F2:缺书登记表销售子系统书库保管员F1:教材存量表进书通知第二层DFD图—采购子系统2.2按出版社统计缺书F5:待购教材表F6:教材一览表进书通知17ConstructingDFD—Example2.318MapsintoDFDs:ALookAheadanalysismodeldesignmodel18MapsintoDFDs:ALookAheada19ProcessSpecification(PSPEC)PSPECnarrativepseudocode(PDL)equationstablesdiagramsand/orchartsbubble19ProcessSpecification(PSPEC20ProcessSpecification(PSPEC)20ProcessSpecification(PSPEC21ControlSpecification(CSPEC)Represents“events”andtheprocessesthatmanageevents.An“event”isaBooleancondition.TheCSPECcanbe:statediagram(sequentialspec)structuredlanguagedecisiontable/treeactivationtablescombinatorialspec21ControlSpecification(CSPEC22ControlSpecification-StructuredLanguage一种介于自然语言和形式化语言之间的语言。结构化语言的词汇表由英语命令动词数据词典中定义的名字语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。基本控制结构有三种:简单陈述句结构;重复结构:while_do
或
repeat_until结构;判定结构:if_then_else
或case_of结构。22ControlSpecification-Struc23StructuredLanguage-Example“检查发货单”的过程描述if发货单金额超过$500thenif欠款超过60天then
在偿还欠款前不予批准
else(欠款未超期)发批准书,发货单
else(发货单金额未超过$500)
if欠款超过60天then
发批准书,发货单及赊欠报告
else(欠款未超期)发批准书,发货单23StructuredLanguage-Exampl24判定表的构造方法:1)列出与一个具体过程有关的全部操作。2)列出该过程执行期间的所有条件或作出的判定3)找出每个可能的组合,将各组特定的条件与特定操作相结合,并消去那些不可能发生的条件组合。4)指出在什么样的一组条件下将采取什么样的操作。
如果算法中包含多重嵌套的条件选择时,用判定表能清晰地表达条件组合与动作之间的对应关系.ControlSpecification-DecisionTable24判定表的构造方法:如果算法中包含多重嵌套的条件选25ControlSpecification-DecisionTree判定树与判定表的逻辑处理相似,但比判定表的语义表达上更直观。判定树中,每个枝节点(子树的根)对应于一个判定条件,而叶节点则对应于系统的一个可能的动作。判定树中,从根到叶的每条路径上所有枝节点对应于一种条件组合取值下的特定动作。25ControlSpecification-Decis26DecisionTable/Tree-Examples26DecisionTable/Tree-Exampl27BehavioralModeling&StateRepresentationThebehavioralmodelindicateshowsoftwarewillrespondtoexternaleventsorstimuli.Inthebehavioralmodeling,twodifferentcharacterizationsofstatesmustbeconsidered:thestateofeachclassasthesystemperformsitsfunctionthestateofthesystemasobservedfromtheoutsideasthesystemperformsitsfunctionThestateofaclasstakesonbothpassiveandactivecharacteristics.Apassivestate
isthecurrentstatusofallofanobject’sattributes.Theactivestateofanobjectindicatesthecurrentstatusoftheobjectasitundergoesacontinuingtransformation.27BehavioralModeling&State28TheStatesofaSystemstate—asetofobservablecircumstancesthatcharacterizesthebehaviorofasystematagiventimestatetransition—themovementfromonestatetoanotherevent—anoccurrencethatcausesthesystemtoexhibitsomepredictableformofbehavioraction—processthatoccursasaconsequenceofmakingatransition28TheStatesofaSystemstate—29StateDiagramExample-Elevator29StateDiagramExample-Elev30BehavioralModeling&SequenceDiagrammakealistofthedifferentstatesofasystem(Howdoesthesystembehave?)indicatehowthesystemmakesatransitionfromonestatetoanother(Howdoesthesystemchangestate?)drawasequencediagram30BehavioralModeling&Sequen31TheInteractionModelComposedoffourelements:
use-casessequencediagramsstatediagramsauserinterfaceprototypeEachoftheseisanimportantUMLnotation31TheInteractionModelCompose2022/12/332
时序图时序图用于描述对象与对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。时序图有两个轴水平轴表示不同的类/对象,垂直轴表示时间。时序图中的类/对象用一个带有垂直虚线的矩形框表示,并标有对象名/类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示,消息从上到下,表明其发送的先后顺序。消息是对象间的一次通信,传达了要执行动作的信息,它能触发事件。消息可以是信号、操作、调用等,对象接收到消息时,立即开始执行指定活动,即对象被激活了。“激活”用对象生命线上的一个细长矩形框来表示。消息可以带序号(也可省略),还可带有条件表达式,表示该消息是否被发送。2022/12/132时序图2022/12/333时序图实例:如图描述了某公司管理系统的脚本“打印工资单”。首先,“PrintCilent”发送消息print(PayCheck,String)给PrintService,该对象发送消息给PayCheckPrinterImage以创建工资单,创建工资单的打印图象时,需要取得雇员的姓名,ID,工资数等,然后才建立打印图象,最后发送print(Image)消息给Printer,打印工资单的图象。激活生命线消息对象/类2022/12/133时序图实例:如图描述了某公司管理系统的34SequenceDiagram34SequenceDiagram35StateDiagram35StateDiagram36ActivityDiagram36ActivityDiagram2022年12月3日37Flow-OrientedModeling-Example
商店业务处理系统2022年12月1日37Flow-OrientedMode2022年12月3日38第一层数据流图2022年12月1日38第一层数据流图2022年12月3日39第二层DFD——销售2022年12月1日39第二层DFD——销售2022年12月3日40第二层DFD——采购2022年12月1日40第二层DFD——采购41Chapter7RequirementsModeling:FlowandBehaviorSoftwareEngineering:APractitioner’sApproach,7/e
byRogerS.Pressman1Chapter7RequirementsModelin42RequirementsModelingStrategiesOneviewofrequirementsmodeling,calledstructuredanalysis,considersdataandtheprocessesthattransformthedataasseparateentities.Dataobjectsaremodeledinawaythatdefinestheirattributesandrelationships.Processesthatmanipulatedataobjectsaremodeledinamannerthatshowshowtheytransformdataasdataobjectsflowthroughthesystem.Asecondapproachtoanalysismodeled,calledobject-orientedanalysis,
focusesonthedefinitionofclassestheycollaboratewithoneanothertoeffectcustomerrequirements.2RequirementsModelingStrateg43Flow-OrientedModelingRepresentshowdataobjectsaretransformedattheymovethroughthesystemdataflowdiagram(DFD)isthediagrammaticformthatisusedConsideredbymanytobean“oldschool”approach,butcontinuestoprovideaviewofthesystemthatisunique—itshouldbeusedtosupplementotheranalysismodelelements3Flow-OrientedModeling44FlowModelingNotationexternalentityprocessdataflowdatastore4FlowModelingNotationexterna45ExternalEntityAproducerorconsumerofdataExamples:aperson,adevice,asensorDatamustalwaysoriginatesomewhereandmustalwaysbesenttosomething5ExternalEntityAproduceror46ProcessAdatatransformer(changesinputtooutput)Examples:computetaxes,formatreport,displaygraph
Datamustalwaysbeprocessedinsomewaytoachievesystemfunction6ProcessAdatatransformer(ch47DataFlowDataflowsthroughasystem,putetriangleareabaseheightarea7DataFlowDataflowsthrougha48DataStoresData
isstoredforlateruse.look-upsensordatasensor#reportrequiredsensor#,type,location,agesensordatasensornumbertype,location,age8DataStoresDataisstoredfor49DataFlowDiagramming:GuidelinesalliconsmustbelabeledwithmeaningfulnamestheDFDevolvesthroughanumberoflevelsalwaysbeginwiththelevel0donotrepresentprocedurallogicsourcedestination1A2B3Ccefdbabde1F9DataFlowDiagramming:Guidel50ConstructingaDFD—Ireviewuserscenariosand/orthedatamodeltoisolatedataobjectsanduseagrammaticalparsetodetermine“operations”determineexternalentities(producersandconsumersofdata)createalevel0DFD10ConstructingaDFD—Ireviewu51Level0DFDExampleuserprocessingrequestvideosourceNTSCvideosignaldigitalvideoprocessorrequestedvideosignalmonitorConstructingaDFD—I11Level0DFDExampleuserproce52ConstructingaDFD—IItodeterminenextleveltransformsEachsub-DFDprovidesamoredetaileddescription“balance”theflowtomaintaindataflowcontinuityeachProcessisrefineduntilitdoesjustonethingmostsystemsrequirebetween3and7levelsforanadequateflowmodelasingledataflowitem(arrow)maybeexpandedaslevelsincrease12ConstructingaDFD—IItodete53TheDataFlowHierarchyPabxyp1p2p3p45abcdefglevel0level113TheDataFlowHierarchyPabxy教材管理系统的顶层DFD学生教材购销管理系统书库保管员购书单领书单缺书单进书通知ConstructingDFD—Example教材管理系统可分为:销售子系统和采购子系统销售子系统:由教师或学生提交购书单,经教材科发行人员审核是有效购书单后,开发票、登记并返给学生领书单,学生凭领书单领书。采购子系统:若是脱销教材,则登记缺书信息,并发缺书单给书库采购人员;一旦新书入库后,即发进书通知告知系统。教材管理系统的顶层DFD学生教材购销管理系统书库保管55学生书库保管员第一层DFD图—教材管理系统购书单领书单1销售2采购进书通知F2:缺书登记表F1:教材存量表缺书单进书通知ConstructingDFD—Example15学生书库第一层DFD图—教材管理系统购书单领书单56ConstructingDFD—Example1.1审查有效性1.2开发票有效购书单1.3开领书单发票1.4登记缺书1.5补售教材F2:缺书登记表学生学生无效书单领书单领书单F3:各班学生用书表F4:售书登记表补售书单暂缺书单采购子系统第二层DFD图—销售子系统F1:教材存量表进书通知16ConstructingDFD—Example1.157ConstructingDFD—Example2.3修改教材库存和待购量2.1按书号汇总缺书F2:缺书登记表销售子系统书库保管员F1:教材存量表进书通知第二层DFD图—采购子系统2.2按出版社统计缺书F5:待购教材表F6:教材一览表进书通知17ConstructingDFD—Example2.358MapsintoDFDs:ALookAheadanalysismodeldesignmodel18MapsintoDFDs:ALookAheada59ProcessSpecification(PSPEC)PSPECnarrativepseudocode(PDL)equationstablesdiagramsand/orchartsbubble19ProcessSpecification(PSPEC60ProcessSpecification(PSPEC)20ProcessSpecification(PSPEC61ControlSpecification(CSPEC)Represents“events”andtheprocessesthatmanageevents.An“event”isaBooleancondition.TheCSPECcanbe:statediagram(sequentialspec)structuredlanguagedecisiontable/treeactivationtablescombinatorialspec21ControlSpecification(CSPEC62ControlSpecification-StructuredLanguage一种介于自然语言和形式化语言之间的语言。结构化语言的词汇表由英语命令动词数据词典中定义的名字语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示。基本控制结构有三种:简单陈述句结构;重复结构:while_do
或
repeat_until结构;判定结构:if_then_else
或case_of结构。22ControlSpecification-Struc63StructuredLanguage-Example“检查发货单”的过程描述if发货单金额超过$500thenif欠款超过60天then
在偿还欠款前不予批准
else(欠款未超期)发批准书,发货单
else(发货单金额未超过$500)
if欠款超过60天then
发批准书,发货单及赊欠报告
else(欠款未超期)发批准书,发货单23StructuredLanguage-Exampl64判定表的构造方法:1)列出与一个具体过程有关的全部操作。2)列出该过程执行期间的所有条件或作出的判定3)找出每个可能的组合,将各组特定的条件与特定操作相结合,并消去那些不可能发生的条件组合。4)指出在什么样的一组条件下将采取什么样的操作。
如果算法中包含多重嵌套的条件选择时,用判定表能清晰地表达条件组合与动作之间的对应关系.ControlSpecification-DecisionTable24判定表的构造方法:如果算法中包含多重嵌套的条件选65ControlSpecification-DecisionTree判定树与判定表的逻辑处理相似,但比判定表的语义表达上更直观。判定树中,每个枝节点(子树的根)对应于一个判定条件,而叶节点则对应于系统的一个可能的动作。判定树中,从根到叶的每条路径上所有枝节点对应于一种条件组合取值下的特定动作。25ControlSpecification-Decis66DecisionTable/Tree-Examples26DecisionTable/Tree-Exampl67BehavioralModeling&StateRepresentationThebehavioralmodelindicateshowsoftwarewillrespondtoexternaleventsorstimuli.Inthebehavioralmodeling,twodifferentcharacterizationsofstatesmustbeconsidered:thestateofeachclassasthesystemperformsitsfunctionthestateofthesystemasobservedfromtheoutsideasthesystemperformsitsfunctionThestateofaclasstakesonbothpassiveandactivecharacteristics.Apassivestate
isthecurrentstatusofallofanobject’sattributes.Theactivestateofanobjectindicatesthecurrentstatusoftheobjectasitundergoesacontinuingtransformation.27BehavioralModeling&State68TheStatesofaSystemstate—asetofobservablecircumstancesthatcharacterizesthebehaviorofasystematagiventimestatetransition—themovementfromonestatetoanotherevent—anoccurrencethatcausesthesystemtoexhibitsomepredicta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 举办竞走比赛行业营销策略方案
- 太阳能收集器产业运行及前景预测报告
- 单比基尼式泳装市场发展预测和趋势分析
- 宝石市场发展预测和趋势分析
- 影碟播放机产业深度调研及未来发展现状趋势
- 通信网络套管预埋施工方案
- 弹簧用皮套产业运行及前景预测报告
- 伺服电机用电子控制器市场需求与消费特点分析
- 伽倻琴朝鲜弦琴产业深度调研及未来发展现状趋势
- 健身房及游泳池清洁服务方案
- 2.2 直线的方程(分层练习)(解析版)
- 《保密法》培训课件
- 北京市2024-2025学年高三上学期第二次普通高中学业水平合格性考试英语试卷 含解析
- 古建新生 课件 2024-2025学年人美版(2024)初中美术七年级上册
- 项目终止欠款合同模板
- 江苏省南通市如皋市2024-2025学年九年级上学期10月期中物理o化学试题
- 正常流产护理查房模板
- 人教版(2024新版)七年级上册英语期中模拟检测试卷(含答案)
- 2024年高等教育法学类自考-00226知识产权法考试近5年真题附答案
- 吉林市2024-2025学年度高三第一次模拟测试 (一模)化学试卷(含答案 )
- 金匮要略2022-2023-2学期学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论