第2章软件开发方法与技术( 功能模型—用例图)
- 格式:ppt
- 大小:251.50 KB
- 文档页数:33
软件工程之用例模型总结一、用例模型1.用例概念用例:使用系统时发现的功能性需求,不应过于复杂,简单的来说就是你希望系统能够有什么功能,能够增加系统的价值。
用例模型包括用例描述和用例图,我们主要把中心放在用例描述上。
用例模型包含参与者和场景,场景包括成功场景和失败场景。
因此用例模型中有多个场景;每个场景是一个用例。
用例必须注重为用户提供可观察的返回值,就是系统触发了一个用例之后能够给用户带来什么。
一般用例都是黑盒用例,即不考虑如何实现。
e Case Description每个用例都有一个描述。
怎样确定用例?(1)确定一个功能;(2)写一个用例;(1)主要参与者:调用系统服务完成目标的人。
(2)次要参与者:为系统提供服务的人。
(3)写出每个项目相关人员的理想需求,从中分析功能。
(4)PreCondition:执行到这个用例之前必须为真的情况,比如必须已成功登录或通过验证。
(5)PostCondition:成功执行完此用例后的情况,比如登录用例的后置条件是成功登录(不考虑其他失败情况)。
(6)main flow:将最理想的步骤列出。
一般main flow步骤如下:(1)参与者发生动作。
(2)系统验证。
(3)返回结果。
(7)extension flow:扩展步骤,通常格式为:(1)系统检测到**有问题;在main flow中的第一步扩展,则用1a,1b,1c;3.如何确保正确的用例EBP原则:一般用例都需要遵守这个规则,即确定主要用例。
用例中的主要用例是一些重复做但是有意义的事,比如收银员收钱,重复多次是有意义的,因为钱收得多了;但是像登录系统,这种做100次却没有意义的用例,不能被称为主要用例;(1)EBP(基本业务过程)原则的用例写入;(2)如果要写编辑A,删除A,添加A,可以合并成“管理A”;4.用例图每个用例描述都是一个用例,左边是主要参与者(希望系统为他提供服务)和次要参与者(提供给系统服务的人);在次要参与者中不能有数据库,因为在用户角度看是不知道系统有数据库的;关系:(1)泛化关系,在参与者和用例中都能泛化。
UML功能模型(⽤例图)在UML系统开发中有三个主要的模型:功能模型(从⽤户⾓度展⽰系统的功能,包括⽤例图)、对象模型(采⽤对象,属性,操作关联等概念展⽰系统的结构和基础,包括类图、对象图、包图)、动态模型(展⽰系统的内部⾏为,包括序列图,活动图,状态图)。
下⾯就说⼀说功能模型——⽤例图。
⽤例图是UML建模的⼀部分,也是UML⾥⾯最基础的部分,最主要的功能就是⽤来表达系统的功能性需求或⾏为。
⽤例图是由软件需求分析到最终实现的第⼀步,它描述⼈们如何使⽤⼀个系统,是尾部参与者所能观察到的系统功能模型图,该图呈现了⼀些参与者和⼀些⽤例,以及它们之间的关系,主要⽤于对系统、⼦系统或类的功能⾏为进⾏建模,⽤画图的⽅法来完成。
⽤例图展⽰了⽤例之间以及⽤例与参与者之间是怎样相互联系的。
⽤例图包含留个元素:参与者、⽤例、关联关系、包含关系、扩展关系、泛化关系。
参与者(Actor):系统外部的⼀个实体,参与⽤例执⾏过程,通过向系统输⼊或请求系统输⼊某些事件来触发系统的执⾏。
参与者的种类概括为三种:系统⽤户、与所建造的系统交互的其他系统以及⼀些可以运⾏的进程。
注意:参与者表⽰⼈和事物与系统发⽣交互时所扮演的⾓⾊,⽽不是特定的⼈或特定的事物;每个参与者需要⼀个具有业务⼀样的名字;⼀个⼈或事物在与系统交互时,可以同时或不同时扮演多个⾓⾊。
⽤例(Use Case):⽤例是对⼀个活动者使⽤系统的⼀项功能是所进⾏的交互过程的⼀个⽂字描述序列,是系统、⼦系统或类和尾部参与者交互动作序列的说明,包括可选的动作徐磊嗯哼会出现异常的动作序列。
⽤例是岱庙系统各种各个项⽬相关⼈员之间就系统的⾏为所达成的契约,软件开发过程是⽤例驱动的。
⽤例粒度(规模⼤⼩)。
关联关系(Association):表⽰参与者⽤例之间进⾏通信包含关系(Include):客户⽤例可以简单地包含提供者⽤例具有的⾏为,并把他所包含的⽤例⾏为作为⾃⾝⾏为的⼀部分。
调⽤⽤例执⾏到包含点,然后执⾏传递给被调⽤⽤例,当被调⽤⽤例完成时,控制在次返回调⽤⽤例。
2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:问题域类、GUI类和数据访问类。
15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
软件开发方法与模型随着计算机技术的快速发展和软件在各个领域的广泛应用,软件开发成为了当代最重要的技术之一。
为了提高软件开发的效率和质量,人们提出了各种各样的软件开发方法和模型。
本文将介绍几种常见的软件开发方法与模型,并分析它们的优缺点。
1. 瀑布模型瀑布模型是一种经典的软件开发方法,它将软件开发过程划分为需求分析、设计、编码、测试和维护五个阶段,每个阶段都要按照严格的顺序进行。
这种方法适合开发规模较小、需求比较稳定的软件项目。
它的优点是结构清晰、易于管理,但缺点是开发周期长,难以适应需求变化。
2. 增量模型增量模型采用逐步增加功能的方式进行软件开发,每个增量都可以独立进行开发、测试和部署。
这种方法适合需求不太明确或需求经常变化的项目。
它的优点是开发周期短,可以快速响应需求变化,但缺点是每个增量都需要进行全面测试,测试工作量较大。
3. 原型模型原型模型是一种通过快速构建原型来获取用户反馈、明确需求的方法。
在软件开发开始之前,开发团队会制作一个简单的原型,让用户参与并提出改进意见。
根据用户反馈,团队不断迭代改进原型,直到满足用户需求。
这种方法的优点是能够及时了解用户需求,但缺点是对团队成员的能力要求较高,需要灵活的沟通和协作。
4. 敏捷开发敏捷开发是一种迭代、增量、自适应的软件开发方法。
它强调团队成员的协作和交流,通过小规模、短期的迭代来不断交付软件产品。
敏捷开发方法包括Scrum、XP等,适合需求频繁变化、开发周期紧张的项目。
它的优点是能够快速响应需求变化,但缺点是对团队的组织和管理要求较高。
在选择软件开发方法和模型时,需要根据具体项目的需求和特点做出合理的选择。
对于需求稳定、规模较小的项目,可以选择瀑布模型;对于需求不太明确、较大规模的项目,增量模型和原型模型更适合;而对于需求频繁变化、开发周期紧张的项目,敏捷开发方法是一个不错的选择。
总之,软件开发方法与模型的选择应根据项目的实际情况来决定,没有一种方法能够适用于所有的项目。
1・1传统开发方法及存在的问,第一章面向对象方法概论1【单选题】下面关于功能分解法的优点描述错误的是()A、以系统需要提供的功能为中心组织系统B、与模块化编程结合使用后,使开发效率有很大提高C、删除了GoTo语句,使软件能得到有效维护D、具有较强的应对需求变化的能力我的答案:D2【单选题】下面的开发方法能够兼顾功能和数据的是()A、功能分解法B、结构化方法C、信息建模法D、面向对象方法我的答案:D3【填空题】 _____ 开发方法强调对数据的组织,忽略系统功能。
我的答案:第一空:信息建模法4【填空题】功能分解法是以系统需要提供的__________ 中心组织系统。
我的答案:第一空:功能5【判断题】结构化方法采用数据流、加工进行建模,需求变化极易引起两者的变动,进而引起其他数据流和加工的变化。
我的答案:V6【判断题】功能分解法以功能作为系统的构造块,数据组织能力强。
我的答案:X1 【单选题】面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、 设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过 程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能 通过传递消息互相联系;层次结构的继承。
A 、 开发过程基于功能分析和功能分解B 、 强调需求分析重要性C 、 把对彖划分成类,每个对象类都定义一组数据和方法D 、对既存类进行调整我的答案:C2【单选题】一个设计良好的信息系统应具有()的特征A 、 低内聚、低耦合B 、 高内聚、低耦合C 、 高内聚、高耦合D 、低内聚、高耦合我的答案:B3[填空题]面向对象方法通过 ________ 关系表达类之间的静态关系。
我的答案:第一空:关联4【填空题】对象的 _______ 与操作结为一体,成为一个独立不可分的实体,对外屏蔽其内部 细节。
我的答案:第一空:属性5【判断题】面向对象方法比以往的方法更接近人类的日常思维方式,强调运用人类在日常 的逻辑思维中经常采用的思想方法与原则。
大理学院课程教案(理论教学)课程名称:软件工程课程类型:( 2 )1、必修;2、选修;3、其它授课对象:计算机科学与技术专业(本、专科) 2011 级1,2班授课时间: 2013 至 2014 学年第 3 学期计划学时: 64 学时(其中:理论 48 ,实验: 16 )任课教师:杜英国所属学院:数学与计算机学院课程管理部门(教研室):软件教研室大理学院教务处制课程名称:软件工程教材:面向对象软件工程-使用UML、模式与Java(第2版)清华大学出版社出版,Bernd Bruegge 编著,2006 年第2 版讲授人:杜英国专业技术职务:讲师学历:研究生学位:硕士讲授题目:第二章使用UML建模所属章节:第二章计划学时:4学时教学目的和要求:掌握:用例图、类图、交互图、状态图、活动图、类、抽象类和对象、事件类、事件和消息熟悉:系统、模型和视图、面向对象的建模过程了解:数据类型、抽象数据类型和实例教学重点:用例图、类图、交互图、状态图、活动图、类、抽象类和对象、事件类、事件和消息教学难点:教学方法:多媒体教学,系统讲授,实践教学使用教具:多媒体教学系统思考题:参考资料:1.《UML实践教程—面向.NET开发人员》(美)Martin L. Shoemaker著清华大学出版社2.《UML和模式应用》(美)Craig Larman著李洋郑龚译机械工业出版社3.《SOFTWAREENGINEERING》A PRACTITIONER’S APPROACH ROGER S. PRESSMAN 清华大学出版社第二章使用UML建模图2-4借书处理活动图。