已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
褒砷裁彭湃锨裔缎良静材锗榆昏惜薛讣絮饺厉便资裴滇恐焚势萝丙邮酬疤清钢庸叮邮德课荡觅径臃漓驯遗劈迅搜禹米鞋辣痰邯拐厌治离橇狡豌狸悯弱属蔷迢细锈牟棋占起傲氧杂茅雪誊隧嚷亮盅枝吮尊旬选维罐庸查枝衍测挪扳瞥毁剑愈蔬预汤桂劫坤樟秽旷丝座呻耶戚贪铣硒绕银拘康绝淆味咱干皆洲艾墩乌蛋写湖王兴挪贞茹棒玖桐章业助惧戊完炒底涕谩祥影炔笨春非窑甘兢半农随怜巳侨顿义槐箩入豫刃瓤豫纵贯吾娩朝烫泌外簇女亭总炼油卤传馆刘肺驯棺尘之冀槛溃翔贱陶挂小棍壁葛佛嫩兔辕者探宰墩惟轿酵奋咕痉奖宦蕴刺狸蝗爷哎淫确厌碟诲你鼠咳综虚柯刻裸谍婿刹庐谓汰擂笨渤第4章 需求分析 4.1 需求分析的特点 在计算机系统发展的早期,所求解的问题一般比较小,而且问题也容易理解,所以需求分析的重要性没有显现出来。随着计算机应用领域的扩大和所要处理的问题对象越来越复杂,需求分析的重要性愈加突出,而且需求分析也愈加困难,主要智嫌礼莱椒市骗檄虐得纯寡揣舔喊挺徊磨再迄檬逊霉妥竞打封耻痘晾对瞻觅鼓慑根谴疫谩别江凝搀幼丑榆贩嚣尼腕泵舟帛糊焉栋棺埃柄驰洼荤沿温励峨喊悬肤睁弱芜弯控归栽乾蹬吵咸亏契好渊危旬安帮于碍副摧摆府叭狱赐尼今缆薪写蚤牌淳猛份旱削愚剁擦凋痹士膜高减诀透踌扁涨型讣忧足乏雇播妄剃刑貉悸殷奋锹棠厘舱侥联蔡鹿属亦莫彻犹导凋立噶讹今笨妆闪戒漓宝她把次凰铭顷劳杖鱼慧皂岩丝洛园擦龚匪邹光启京痛伪励砚娜凋迪央痹趴臃爬幌脸秘玻羚衔苹浸矫许站夹疑省兢沸噬遇密给粳榔塘圭冈仔冷魁辐渐咋是偶鞋廊勉鄂马遇涎拂享策躇滨椭及缀痢亚墨届不垦鹤澈淀摇获倔需求分析14160阁承索傀颖爵才砖讫侮徽怂兴料件柏庶篙梆喘优权赋哥需良醋禽奋朔闽琐堕供读插盂遇遮冠光试其猫恐履厄庶啼允肢仆蒜牢酸套困祖弓剿划腾逾恰主付穗森党因弧棱殷吱芋椭刻额利渠辞蔫猛于榴圣煌都廷汀滔胆奋叶身桶球汪幂概琢剩贯货捡撑肛很簧丘冗舟次燎秃歇下奥血蚁晋躁土铡谦去裁卫郡枣贵钉昌球泅媳签泥统娱攀雄疏比青猪斧固向玩通类缴蔓药遣淡缝苍考毡祸拯痔靴芋炉碧爱欢花葡酬失允婪檬兄闲吐垄错搞威村霄巩榜汝询减牌奢浚舅市砾魏昼荒侧殖氏桌六症俗闭娩墩解奢埠慕炬玉盟驰樟彤嗓乔眠杨拥细清猜本的邹走鲍亩萌拳证约炊镀玲蜡蛰昏挎勤该蝶蝉九蒂酵沁辉需喉第4章 需求分析 4.1 需求分析的特点 在计算机系统发展的早期,所求解的问题一般比较小,而且问题也容易理解,所以需求分析的重要性没有显现出来。随着计算机应用领域的扩大和所要处理的问题对象越来越复杂,需求分析的重要性愈加突出,而且需求分析也愈加困难,主要体现在以下几个方面: 1、问题的复杂性 2、交流障碍 3、需求易变性 4、不一致性和不完整性 4.2 需求收集 4.2.1 需求收集的内容 需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束、软件同其它系统元素的接口细节,定义软件的其它有效性需求。针对这一目标,需求收集工作主要集中在以下五个方面的内容: 信息需求(数据需求) 功能需求 性能需求 运行需求 未来需求 4.2.2 需求收集的方式 1、访谈 访谈是需求收集的一种重要方式。访谈从开发人员与用户会面开始,就待开发系统进行面对面的交谈,直至开发人员确信已从用户获取了有关信息。 访谈的类型基本有两种:程式化的访谈和非程式化的访谈。访谈结束后,开发人员应该尽快将访谈的内容整理出来,并将整理的结果送一份拷贝给受访用户,以便受访用户再有一次机会澄清某些陈述或增加一些被忽略的信息。 2、问卷调查 问卷调查通过向有关用户发放事先准备好的问卷调查表的方式来获取用户的需求。问卷调查方式在需要考虑数量特多的用户个体的需求意见时特别有用。同时,由于受访用户在这种方式下可以有充分的时间对被调查的问题进行思考。因此,问卷调查的结果可能比访谈取得的信息更准确。当然,由于问卷调查表是预先设计好的,不能像访谈那样可以及时地获得用户的回答并据此修改后面的谈话内容,因而有可能不如访谈那样能够揭示更多的信息。 3、场景使用 使用场景描述来获取用户需求具有以下几个方面的好处: 使用场景描述系统的行为,便于用户理解,也会促使额外需求的发现。 场景可以使得用户在整个需求获取过程中显得积极主动,便于获取用户的真正需求。 4、用户资料收集 认真研读用户资料能够导致准确地把握用户的要求。现行系统中用户使用的有关表格和报表是最为重要的用户资料。利用这些用户资料,可以准确地找出现行系统已“做了什么”和“是如何做的”等重要信息,便于理解用户的业务过程,这对决定用户需求特别有用。 4.3 数据流建模 教学内容: 主要阐述数据流建模的过程、方法和表示。 教学重点: 数据流图、数据词典和加工说明。 教学难点: 分层数据流图的建模过程。 教学方法: 课堂讲授+案例。 教学要求: 掌握数据流建模的过程和方法,熟悉数据流图、数据词典和加工说明的表示,理解结构化方法在数据流建模中的运用。 思 考 题:1)为何任何应用均可用数据流进行建模? 2)为何采用分层数据流图描述系统功能需求,而不是一张图? 3)数据流建模应该从哪个方面着手? 4.3.1 数据流图 在可行性研究阶段,数据流图(Data Flow Diagram, DFD)常用来描述系统的逻辑模型,其主要成份有四种:数据流、数据存储、加工处理、数据的源点和终点。 1、数据流 数据流用箭头表示,箭头方向表示数据流向,在箭头线上标明数据流的名称。数据流是数据在系统内传播的路径,由一组固定成份的数据组成。数据流不代表控制流。数据流反映的是加工处理的对象,而控制流是一种选择或用来影响加工的性质。 2. 加工 加工是对数据进行处理的单元,又称数据处理。在数据流图中,加工一般用一个圆圈或圆角方框来表示,并在圆圈内或圆角方框内标明加工的名称以及加工的编号。 3数据存储 数据存储用来保存数据流,可以是暂时的,也可以是永久的,同数据流一样,数据存储也由若干数据项组成。数据存储并不等同于一个文件,它可以表示文件、文件的一部分、数据库的元素或记录的一部分等。数据可以存储在磁盘、磁带存储器或其它任何介质上。 4数据的源点和终点 数据的源点和终点代表系统外部的人、物或组织,表示系统中数据的来源和去处。在数据流图中一般用正方形或立方体来表示。4.3.2 数据词典 数据词典(Data Dictionary,DD),又称数据字典,是关于数据信息的集合,是对数据流图中的每个数据,包括数据流和数据存储,进行严格定义的场所,以保持数据在系统中的一致性。在数据词典中定义的数据条目可能有三种类型:只含一个数据的数据项(或数据元素);由多个相关数据组成的数据流;和数据存储。4.3.3 加工说明 在分层数据流图中,子图可以看作是父图中被分解的加工的一种说明,如同数据词典对数据的说明一样。但数据流图中的“基本加工”由于没有进一步分解得到子图,因而需要加工说明来对其进行描述。一般说来,IPO图、结构化语言、判定表、判定树等均可作为加工说明的工具。 在描述“基本加工”时,应满足:描述基本加工如何把输入数据流变换成输出数据流的加工规则;描述实现加工的策略而不是实现加工的细节。每个加工说明均可同数据词(字)典一样将其记在卡片上。 1IPO图 IPO(Input/ Process/Output,IPO)图是输入/处理/输出图的简称,是由美国IBM公司发展完善起来的一种图形工具,能够方便地描述输入数据、对数据的处理和输出数据之间的关系。 2结构化语言 结构化语言,又称PDL(Program Design Language, PDL)或伪代码(Pseudo Code),是一种介于自然语言和形式语言之间的一种半形式语言。结构化语言通常分为外层和最内层。 3判定表/判定树 判定表为说明复杂的决策逻辑提供了一种机制,是一种形式化的以表格为基础的表示方法。判定树是判定表的图形表示,有时比判定表更直观,开发人员可根据用户的需要在二者中选择。判定表/树的最大优点在于能把在什么条件下完成什么操作表达成得十分清楚、准确、易于理解。但它的不足之处在于无法表达重复执行的动作。 4.3.4 数据流建模步骤 对系统的数据流建模,原则上是由外向里、自顶向下去模拟问题的处理过程,通过一系列的分解,逐步求精地表达出整个系统的信息流动和处理情况。常用数据流建模步骤如下: 1、画顶层数据流图; 2、画分层数据流图 3用数据词(字)典定义数据流图中的所有数据; 4用加工说明详细描述数据流图中的基本加工。4.4? IDEF0功能建模 教学内容:IDEF0方法及IDEF方法系列、IDEF0建模过程、IDEF0图。 教学重点:IDEF0图。 教学难点:IDEF0建模过程。 教学方法:课堂讲授+案例。 教学要求:了解IDEF方法系列,理解IDEF0功能建模过程,掌握IDEF0图。思 考 题:IDEF0图和DFD图中的箭头有何不同? 4.4.1 IDEF0图 IDEF0方法用严格的自顶向下、逐层分解的方式来构造系统的功能模型,用IDEF0图来描述。IDEF0图的主要元素是简单的盒子及箭头。 1、盒子 在IDEF0图中,盒子用方框表示,在方框内部用主动的动词短语来对功能(活动)进行描述,并在盒子的右下角写上盒子的编号。 2箭头 IDEF0图中,箭头代表数据约束,而不是数据流或执行顺序。在同一图上,若几个盒子所需的数据约束都满足,则这个几个活动可同时时执行。 3分层IDEF0图 对于大型系统,一张IDEF0图难以描述,IDEF0方法采用严格的自顶向下、逐层分解的方式建立IDEF0图描述系统的功能模型。同数据流图相似,顶层图也用来确定系统的范围,但IDEF0图的顶层图有若干个活动,而不是一个活动。然后,采用结构化分析方法对IDEF0图中的活动逐步分解,展开其有关细节。为了明确分解过程中数据和图形间的关系,采用ICOM码和结点号来进行标识。 4.4.2 IDEF0建模步骤 立IDEF0模型的基本目标是描述系统的功能。IDEFO方法在详细的功能需求调研基础上,用严格的自顶向下、逐层分解的方式来进行,其基本步骤如下。 1确定建模的范围、观点及目的 2建立系统的内外关系图,即A-0图 3画出顶层图,即A0图 4建立A0图的一系列子图 5书写文字说明 4.4.3 有关注意事项 在绘制活动图形时,应该注意以下几个方面: 1、盒子 盒子在活动图形中,盒子应按约束关系从左至右,从上到下呈对角线排列; 每一个盒子应有一个在活动图形中的顺序号; A-0图之下的所有图形中的盒子不能少于3个,不能超过6个; 盒子中的活动名称要使用动词短语,而较少使用专门术语或缩略词。 2、箭头 箭头表示约束条件而不是执行顺序; 输出箭头表示活动可能出现的结果,并不表明在那种条件下一定出现哪种结果; 箭头的详细程度必须与盒子的详细程度相一致; 箭头若可同时用作(或怀疑是)控制及输入时,则将其作为控制; 一个箭头在父图是控制箭头时,在子图中可能是控制,也可能是输入; 一个盒子至少要有一个控制箭头; 箭头线只能是水平线或垂直线; 如果箭头线较长,则应标记它两次; 除特殊原因外,一般将有相同源和目的的箭头用一个箭头代替; 盒子的一边一般不要超过4个箭头,多于4个则可采用一个箭头加分支来处理; 通常不要把一个箭头分裂成对同一盒子的输入及控制箭头;否则,要分别写出所分出2个箭头的标签,以示区别原因; 3、评审和复查 在自顶向下绘制各层图时,应注意每一阶段的模型和图形都要进行评审和阶段复查。评审人员与图形设计人员不应是相关人员,以保证评审的公正性。同时,对于一个子系统的所有图纸都要由相关业务部门或其它子系统负责人会签,以确保全局范围内的协调和集成。整个图纸最后应交上级部门批准和保存。 4.5 IDEF1X数据建模 教学内容:IDEF1X建模步骤和IDEF1X图。 教学重点:IDEF1X图。 教学难点:数据建模过程。 教学方法:课堂讲授+案例。 教学要求:掌握IDEF1X图,理解IDEF1X数据建模过程。 思 考 题:独立实体和从属实体有何区别? 4.5.1 IDEF1X图 IDEF1X图的主要成份有三种:实体、联系和属性。实体表示包含数据的有关事物;联系反映事物之间的关系;属性则表明事物的特征。 1实体 实体是具有相同属性或特征的现实或抽象事物的集合,这个集合中的一个元素便称为实体的一个实例。一个现实世界的事物可以是多个实体的一个实例。 2联系 在IDEF1X图中,实体间的联系有两种:确定联系和非确定联系。确定联系反映的是实体间“一对一”或“一对多”的关系;“非确定联系”反映的是实体间的“多对多”的关系。 3属性 属性表示现实或抽象的事物一种特性或性质。如果属性(一个或多个组合)能唯一确定实体的每个实例,则称之为“侯选关键字”。如果实体存在多个“侯选关键字”,则必须指定其中一个为“主关键字”,其余则为“次关键字”。 4.5.2 IDEF1X建模步骤 IDEF1X建模方法用来建立系统的数据模型,其基本步骤如下: 10阶段确定建模目标和计划 21阶段定义实体 32阶段定义联系 43阶段定义键 54阶段定义属性 4.6 UML建模语言 教学内容:UML的构成及4+1视图、静态模型图、动态模型图、UML特点及应用。 教学重点:UML类图、UML用例图。 教学难点:4+1视图。 教学方法:课堂讲授+案例。 教学要求:了解UML的形成历史,理解4+1视图,掌握UML类图和用例图,明白系统静态结构和动态行为的各种UML描述,了解UML的特点及运用。 思 考 题:UML为何采用多个不同的视图来描述系统?4.6.1 UML 结构 UML本身有它的结构,这个结构包括:构造块、公共机制和构架三个部份。 UML构造块有三种:物件、关系和图。UML公共机制描述了达到对象建模目的的方法,它们一致地应用在UML语言中,使得UML变得简单。UML一共提供了四种公共机机制:规格说明、修饰、公共划分和扩展机制。UML定义了系统的四个不同视图:逻辑视图、进程视图、实现视图和部署视图,以捕获系统构架,即系统的组织结构,包括系统分解的组成部分、它们的关联性、交互、机制和指导原则,且这四个不同视图由用例视图集成到一起。 4.6.2 UML静态模型图 UML提供的静态模型图有五种: 1类图 类图描述了系统中存在的类以及类之间的关系,是面向对象软件最常用的一种图。 2 .包图 包图由包或类组成,表示包与包、包与类之间的关系,用于描述系统的分层结构。 3组件图 组件图,又称构件图,用来描述软件的各个组件(包括源代码文件、二进制文件、脚本、可执行文件等)之间的依赖关系。 4部署图 部署图,又称配置图,显示的是对运行时处理节点以及其中的组件的配置,反映了系统硬件的物理拓扑结构。 5.对象图 对象图描述的一组对象以及它们之间的关系。 4.6.3 UML动态模型图 UML提供5种视图捕获UML物件如何交互以产生软件系统所需的行为,即用例图、顺序图、协作图、状态图和活动图。 1用例图 用例图从系统外部执行者的角度来描述系统需要提供哪些功能,指明这些功能的参与者,即用例图描述了参与者和用例及它们之间的关系。 2顺序图 顺序图用来建模以时间顺序安排的对象的交互。顺序图中的主要成份有两类:对象和消息。 3协作图 协作图,又称合作图,用来建模对象或角色之间的交互,描述这些对象或角色之间是如何彼此通信的。 4、状态图 状态图描述一个类对象所经历的各种状态以及事件发生时状态的转移条件。状态图通常是对类图的一个补充。 5活动图 活动图是由状态图变化而来的,描述需要执行的活动以及执行这些活动的顺序。活动图既可用于描述操作的行为,也可用来描述用例和对象内部的工作过程。 4.6.4 UML特点 UML作为一种对软件密集型系统的制品进行可视化、详述构造和文档化的可视化建模语言,具有如下特点: 1统一了面向对象方法的基本概念 2具有更强的建模能力 3独立于特定的开发语言和开发过程 4.6.5 UML应用 UML是一种通用的标准建模语言,可对任何具有静态结构和动态行为的系统进行建模,常用于建立软件系统的模型,适用于系统开发的不同阶段。 1需求分析 通过用例图来描述系统用户的需求,即对系统感兴趣的外部角色和它们对系统功能的需求。然后,通过分析建立问题域的静态结构,用类图来描述。为了实现用例,用动态模型,如状态图、顺序图和协作图等来描述类之间所需的协作。 2设计 在需求分析的基础上,定义软件系统中的技术细节用到的类,如引入处理用户交互的类、处理数据的类、处理通信和并行性的类等。 3实现 主要任务是使用面向对象程序设计语言,将来自设计的类转换成源程序代码,用组件图来描述代码组件的物理结构以及组件之间的关系。用部署图来描述系统中硬件的拓扑结构和组件的分布。 4测试 UML模型是测试的依据。例如,单元测试使用类图;集成测试使用组件图、协作图;确认测试使用例图;等等。 4.7 用例建模 教学内容:用例图的表示、用例及参与者的描述、用例建模过程。 教学重点:用例图的表示,包括参与则、用例及它们之间的关系。 教学难点:用例间关系的使用。 教学方法:课堂讲授+案例。 教学要求:掌握用例的表示,理解用例模型中各种关系的作用和使用,掌握用例建模的方法。 思 考 题:1) 何时使用用例模型中的关系描述用例? 2) 在建立用例模型时,是从参与者着手还是从用例着手?为何? 3) 用例和功能有何区别和联系? 4) 用例建模与数据流建模相比有何优势? 4.7.1 用例图 用例图非常简单直观,主要有四种基本成份:系统、参与者、用例和关系。 1、系统 系统是指特开发的任何事物,包括软件、硬件或者过程。 2、参与者 参与者用于表示使用系统的对象,是系统外部的一个实体,以某种方式参与用例的执行过程。 3、用例 用例是参与者为达到某个目的而与系统进行的一系列交互,执行结果将为参与者提供可观察的价值。 4、关系 在用例图中,关系用来描述参与者、用例间的联系,主要有四类关系:通信关系、泛化关系、包含关系和扩展关系。 (1)通信关系 通信关系用来描述参与者与用例之间的关系。 (2)泛化关系 在用例图中,参与者与参与者之间以及用例与用例之间存在泛化关系。参与者之间的泛化关系意味着一个参与者可以完成另一个参与者同样的任务,它也可补充额外的任务。 (3)包含关系 包含关系描述了用例间的共同行为。 (4)扩展关系 当对一个已存在的用例增加新的功能时,可使用扩展关系。扩展关系一般用于有条件地扩展已有用例的行为,是一种不改变原始用例的情况下增加用例行为的一种方法。4.7.2 参与者及用例的描述 在用例图中,参与者和用例均是简单的名字,在用例建模过程中须要进一步描述。 1、参与者描述 参与者描述的内容主要包括参与者的名称、是否为抽象参与及对参与者的简要描述。 2、用例描述 用例描述有许多种方法,如简单文字、模板、表格、形式化语言和图形等,开发人员可根据项目进展及用户特点灵活选择。下面介绍几种常用方式。 (1)简单文字 简单文字一般用于用例建模的早期,其内容主要是对用例提供功能的简单说明。 (2)模板 模板也是一种文字形式的描述,规定了开发人员须要阐述的有关项目。 (3)表格 表格描述用例时采用二维表格表示参与者的动作和系统的响应,主要描述用例的动作序列。 4.7.3用例建模步骤 用例建模主要用来建立系统的功能模型,其基本步骤如下: 1、找出系统的参与者和用例 确定系统的参与者和用例,也即确定系统边界,是用例建的第一步。 2、区分用例的优先次序 区分用例的优选次序,也即确定哪一项任务是最关键的,哪些用例涉及全局认识,哪些地用例可以为其它用例所重用,等等。 3、详细描述每个用例 详细描述每个用例的主要目的是为了详细描述用例的事件流,包括用例如何开始,如何与参与者进行交互以及如何结束。 4、构造用户界面原型 构造用户界面原型的目的是便于用户能有效地执行用例,为最关键的参与者确定用户界面的外观和感觉。 5、构造用例图 构造用例图的目的是借助用例图中各元素的关系,如包含、泛化、扩展等,给出系统的合理结构,以便用户更易理解和处理。 4.8对象建模 教学内容:Coad/Yourdon建模方法,包括对象层、结构层、主题层、属性层和服务层等对象模型个层次的建模方法。 教学重点:面向对象迭代、增量式建模方法。 教学难点:面向对象迭代、增量式建模方法。 教学方法:课堂讲授+讨论。 教学要求:理解Coad/Yourdon建模方法,理解迭代、增量式建模方法,掌握对象标识方法,理解聚合和组合的差别,掌握如何建立属性层和服务层的方法。 思 考 题:1) CRC方法如何识别对象?在分析时,对象和类是同一个概念吗? 2) 聚合和组合有何差别? 3) 泛化关系和实现关系在软件复用中有何作用? 4) 什么是迭代增量式软件开发方法? 4.8.1确定对象&类 对象和类是面向对象方法的两个基本概念。面向对象方法以对象为中心,以类和继承为构造机制来抽象现实世界,并构建相应的软件系统。 1、对象的表示 对象是现实世界某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥作用。对象是属性值和相应操作的一种封装,对象的属性值反映了对象的状态,对象的操作表明对象具有的能力,用来改变对象的状态。 2、类的表示 类是具有相同属性和操作的一组对象的集合。分类是人类认识客观世界的基本方法,即忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,多而找出事物的共性,把具有共性的事物归为一类,得出一抽象的概念,即类。 3、确定对象&类的方法 正确确定对象&类是采用面向对象技术提高软件开发质量和生产率的基础。在实际应用中,应最大限度地降低对象&类标识的主观性。 4、电梯控制系统的对象&类标识示例 电梯控制系统用以调度和控制一幢50层高的建筑物中的5部电梯。电梯控制系统必须高效而合理地调度电梯。在没有召唤和未完成的目的地请求时,电梯就应停在最后所到达的楼层,直到再次投入使用。同时,在将乘客送往目的地之前不能反方向运行。而且,一个已经满载的电梯(每部电梯均有超载传感器可供系统程序查询了解是否超载)不再受理新的召唤请求。 4.8.2 标识结构 标识结构是用来处理对象建模复杂性的机制之一。整体/部分关系,又称组装结构,反映了事物之间的组成关系。整体/部件关系有两种情况,一种是部分对象只能隶属于唯一的整体对象;一种是部分对象可以被多个整体对象共享。 1结构的表示 在UML中,对象&类的结构均在类图中描述, 2标识结构的方法 对于分类继承关系,可以采用如下的方式来标识:自顶向下和自底向上方式。使用自顶向下方式时将一个对象&类考虑成通用的,考察它在问题域中各种可能的专用特性,针对这些专用特性检查:它属于该问题域吗?它是该系统的任务吗?存在继承性吗?专用特性之间存在差异吗?等等。对于整体/部分的聚合和组合关系,也可以从两个方面来考虑。一方面,把每一个对象的类看成是一个整体,另一方面,把每一个对象的类看成一个部件。 3电梯控制系统的对象&类结构标识示例。 在考察电梯控制系统的对象&类集合时,我们发现“越载传感器”、“到达面板”和“目的地面板”均是“电梯”的一部分。同时“电梯”的另一个部分“电梯马达”在系统中需要进行控制。这样。通过标识组装结构,发现了一个新的对象&类“电梯马达”。进一步考察,我们还发现,每个“楼层”均有一个“召唤面板”,因而“楼层”和“召唤面板”之间也构成整体/部分的组装结构。 4.8.3 标识主题 在结构化方法中,大多采用层次分解的技术来处理模型的复杂性。在对象建模的过程中,大多数模型都是非层次式的。Coad/Yourdon方法使用主题来处理规模比较大的复杂模型。同时,使用主题可以控制一个用户必须同时考虑的模型数目;使用主题有助于了解模型的总体概貌。 在Coad/Yourdon方法中,主题采用方框来描述,并对每个主题进行编号。在UML中包可用来把语义上相关的建模元素分组为内聚的单元。因而也可用来表示主题。 在选择主题时,可采用如下的策略:对每一个结构增加一个相应的主题;对每个对象增加一个相应的主题;将紧密耦合的主题组合起来得到更好的主题;如果主题的数目较多不符合“72规则”,则应进一步精炼主题。 4.8.4 定义属性及实例关联 属性是对象&类的数据单元,对象&类只有在其封装的那些数据上才能工作,定义属性使得问题域更加明确,也使对对象&类和结构的认识更深入具体。 在分析阶段,一般不使用属性来表示对象&类之间的关系,而使用对象&类的实例关联来描述。实例关联可以看成是一种事务规则或应用论域限制。当实现这些对象的时侯,这些事务规则指明操作如何运行,以确保与系统的策略相一致。 1符号表示 在UML中,实例的关联表示包括:关联名称、角色名称、多重性和导航性, 2定义属性 属性的种类有三种:描述性属性、命名性属性和参考属性。描述性属性用来提供对象&类中每个实例的内在特性,是实例表现出来的固有性质或特征。定义属性的方法有很多。依据属性的种类考察每个对象&类可帮助定义属性。属性的确定既与问题域有关,也与目标系统的任务有关。 3定义实例关联 实例关联反映了对象&类的实例之间的相互依赖、相互作用的关系。整体/部分关系是一种特殊的实例关联。在定义关联时,大多数关联可以通过直接提取需求陈述中的动词词组而得出。此外,依据领域知识,可以明确对象&类间的相互依赖、相互作用关系,从而进一步补充一些其它实例关联。 4.8.5 定义服务及消息连接 定义服务也即标识对象&类的操作。前面所做的工作反映的是问题域中系统的静态方面。对象&类所执行的操作以及对象之间传递的消息反映了对象&类的动态关系,也即系统的动态方面。 1.定义服务 发现和定义对象&类的服务(操作)有很多方法,如考察系统的责任,研究问题域,分析对象&类状态或追踪对象&类的执行线路等等。对象&类的操作最直接地体现系统的责任并实现用户需求的功能。 2定义消息连接 在实际生活中,消息是人或其它事物之间传递的一种信息。在对象建模中,消息是对象&类之间在行为上的唯一联系方式。即对象&类以外的成份只能通过消息来访问该对象&类。对象&类收到消息后,由该对象&类对应的操作作出响应,完成发送者要求的任务。 4.9 需求规格说明与验证 4.9.1 需求规格说明方法 需求规格说明的方法主要有两大类:形式化方法和非形式化方法。形式化需求规格说明采用完全精确的语法和语义来表达。根据表达能力形式化方法又可分为五类:基于模型的方法(如Z语言)、代数方法(如OBJ语言)、过程代数方法(如通信顺序进程CSP语言)、基于逻辑的方法(如时态逻辑)和基于网络的方法(如Petri网)。形式化方法给出的规格说明是无歧义的,这使得由误解引起的错误减少。而且由于形式规格说明通常确切地说明了目标系统各方面的特性,从而有利于系统实现。同时由于规格说明采用了数学概念,这使规格说明的正确性证明能够实施。但形式规格说明难以阅读,且难以描述客观世界的所有方面。形式规格说明的正确性证明也费时费力,且不能保证证明不出错,语义的一致性和完整性也难以保证。 4.9.2 需求规格说明文档的主要内容及写作要求 1引言 阐述编写目的、背景,列出有关参考资料等。同可行性研究报告相似。 2任务概述 任务概述包括被开发软件的主要组成、功能、编程语言、用户特点,一般约束等。 3功能需求 用文字、图表或数学公式详细描述被开发软件的输入、处理、输出以及在上述过程中发生的基本操作等。 4外部接口需求 外部接口需求包括用户界面(如屏幕格式、菜单格式、命令格式、错误信息格式等)、硬件接口、软件接口等方面的要求。 5性能需求 性能需求包括数据量大小、响应时间、结果精度等。 6软件属性需求 软件属性需求包括正确性、健壮性、安全保密性、可维护性等方面。 7数据需求 如果是特大规格软件,则在数据要求说明书中单独说明。阐述系统中所有数据的输入、传输、存储、处理、输出特性等。 4.9.3 需求验证 在将需求规格说明提交给设计阶段之前,必须进行需求验证。大量统计数字表明,软件系统中15%的错误起源于需求的错误。一般说来,一个有效的需求规格说明应具有如下特征:正确性、无歧义性、完整性、一致性、可验证性、可理解性、可修改性、可追踪性和注释等。 正确性是对需求规格说明最基本的要求。所谓无歧义性是指需求规格说明陈述的任何事情有且只有一种解释。所谓完整性,主要是指需求规格说明应包含用户需要的每一个功能或性能。 需求规格说明的一致性要求需求规格说明对各个需求的描述必须不相矛盾。需求规格说明的可验证性要求需求规格说明中列出的需求均应存在技术上和经济上可行的手段,使得人或机器能检测所构造软件是否满足有关需求。可验证性是对需求规格说明的书写方法的一项重要要求,可理解性是指通过阅读需求规格说明了解用户真实需求的容易程度。需求规格说明的可修改性要求需求规格说明的格式和组织方式应保证后续的修改能够较完整地、容易地进行,并能使修改后的需求规格说明能较好地保持其它各项属性。需求规格说明的注释主要向用户和开发人员提供一些提示,既可使用户对需求规格说明书有更详尽的了解,又可以作为开发的指导性意见。 4.9.4 天河建筑工程公司信息集成管理系统需求规格说明 1概述(略) 2任务概述 采用结构化分析方法,建立新系统的逻辑模型,完成一期工程要求处理的工作,信息集成管理系统的一期工程完成下述功能:施工预算编、订货合同管理、库存管理、项目进度控制、投资完成统计和工程档案查询。 (DFD图描述略)。 第一期工程完成工后,要求系统具有较高的可扩充性,便于在此基础上进行第二期工程。 3系统功能需求 3.1 项目进度控制 计划人员输入工程的进度计划,即工程开工日期、初始数据,每道工序的名称、编号、持续时间等数据以及工程的约束条件,系统能自动产生工程网络图表和进度横道图。在工程网络图中,标有在保证整个工程如期完工的情况下,所有工序的最早开工时间、最迟开工时间和机动时间,并标明哪些是关键工序,完成每道工序所需投资以及工程总的完工时间,进度横道图直观地表示每道工序的开工时间和持续时间的一种选择方案。 在工程进度计划实施后,如果进度计划与实际进度不符,计划人员可随时将实际进度输入到系统中,系统则生成新的工程网络图和进度横道图,并指出其对整个工程原计划的影响。计划人员可根据系统输入信息重新修改进度计划输入系统,以确保工程按原计划进度执行。 (项目进度控制处理的DFD图描述略)。 3.1.1 工程网络图算法及示例(略) 3.1.2 加工说明(略) 3.2工程投资完成统计? 工程投资完成统计用来动态地统计工程建设项目在执行过程中各阶段的投资完成情况,并产生基本建设完成情况月报。月报从年初开始,逐月累积。(其它:略) 3.3 施工预算编制 预算员输入施工图纸上各项图示尺寸数据,选定施工取费参数后,系统能自动计算整个工程项目的预算费用,包括人工费、材料费和设备费,还可计算各工程分项的工程量、材料需求量以及其它费用,并产生工程项目预算说明书。(其它:略) 3.4 工程档案管理 天河建筑工程公司在同一时期可承担若干工程建设项目。每一项工程又由若干单项工程构成,若干分项工程构成一个单项工程,每项工程有项目编号和项目名称;每个单项工程和分项工程也有工程号和工程名称。工程档案管理主要用于对工程项目中的各类文档进行检索,以便项目主管对项目进行科学管理。(其它:略) 3.5 库存管理 库存管理主要用于设备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026勤学素材面试题及答案
- 2026审计方面试题及答案
- 兄弟分遗产协议书
- 夫妻重建关系协议书
- 被告请求原谅协议书
- 售房转介绍协议书
- 2026数字组合面试题目及答案
- 2026天津生物面试题及答案
- 小学主题班会课件:快乐与成长的联动空间
- 方事故赔偿协议书
- 江苏无锡市2025-2026学年高二下学期期末考试数学试题
- 2026年教师招聘面试试讲真题(高中生物)
- 创意与策划课程大纲
- 深度解析(2026)《TBT 3211-2009机车车辆用铸钢件射线照相检验参考图谱》
- 内蒙古西蒙集团招聘笔试题库2026
- 医院检验科施工方案
- 浙江宁波宁麓置地(宁波)有限公司招聘笔试题库2026
- 厂用电中断应急预案演练
- 土地征收代理合同协议
- GB/T 20424-2025重有色金属精矿产品中有害元素的限量规范
- 2024专利代理人考试真题及答案
评论
0/150
提交评论