2011-11-18 10:58:42 aswallow0323 阅读数 1417

 

一.基于UML2标准的用例模型

统一建模语言(Unified Modeling Language,UML)是一种易于表达、功能强大的可视化建模语言,他良好的定义了适用于普遍业务的标准语言。目前,UML2标准融入了最新的软件工程领域的思想、方法和技术,因此它不应仅局限于面向对象的分析和设计,可以应用于从需求分析开始的各类软件开发的全过程。

UML2标准中用例图是用来表述参与者(Actor)所需要理解的系统功能,用于需求分析阶段,列出系统中的用例和参与者,并且显示它们之间的关系,也就是哪个参与者执行了哪些用例

下面我们通过举例应用UML来分析建模,主要找出系统中所有的用例,以及对用例进行说明,还需要对其中的潜在用户进行讨论,模型使用Trufun Plato UML2建模工具进行绘制(可到www.trufun.net上免费下载)

二  用例图

用例建模包括建用例图和用例描述。用例图由参与者(角色Actor)、用例(Use Case)、系统边界、关系组成,在Trufun Plato UML2建模工具中用例图工具栏对这些都有提供,选择需要的工具在绘图区用绘图的方法来完成。

用例图是简单地用图描述一下系统,但对于每个用例来说,还需要有更详细的说明,这就需要进行用例描述,一般用例描述包括:简要描述、前置条件、基本事件、其他事件流、后置条件等。

三  使用Trufun Plato创建用例模型

Trufun Plato是专业的UML2建模工具,每种UML2标准框图都提供相关的常用工具栏,它的界面分为4个工作部分:

1、绘图区:用来创建、浏览、删除、修改模型元素;

2、属性对话框:用来定义和修改模型元素的相关属性;

3、模型浏览器:组织和显示项目中创建的模型元素;

4、工具框:UML2相关框图所需要的元素。

     使用Trufun Plato UML2建模工具操作步骤:

    Trufun Plato UML2建模工具为绿色产品,从www.trufun.net网站上下载相关软件之后,解压到相应目录,打开解压目录,点击trufun.bat即可启动软件。Trufun产品支持中英文操作系统,Trufun.bat文件自动识别操作系统显示相关语言界面,另外还针对中文操作系统提供Trufun_English.bat英文界面启动文件和英文操作系统启动Trufun_Chinese.bat文件。

第一次启动trufun软件,会显示一个选择工作空间的对话框,如下图所示,确定了保存项目的工作空间之后,以后如果不需要每次启动都提示的话,可以选中对话框下方的“将此值用作缺省值并且不再询问”即可,否则每次启动都会提示选择一次工作空间。


    确定好工作空间之后,点击确定进入Trufun欢迎界面,可以先打开进入Trufun帮助系统,先对Trufun产品的功能和基本操作有一些了解,如果不需要则可以关闭此欢迎页面,直接进入Trufun的工作界面。

下图为还未创建任何项目的Trufun软件的工作界面,以后的启动界面会自动显示上一次关闭时候所保存的状态。


新建UML2项目:要创建UML2用例图,先要创建一个UML2项目,选择菜单文件中“新建—项目”或者工具栏快捷方式“新建项目”,弹出如下对话框,展开“TrufunUML建模”,选择“新建UML2.x项目”。


然后进行项目类型选择和项目命名,完成之后系统会在模型浏览器中生成该创建和显示项目的相关内容,并在主工作区打开项目的模型信息和main主绘图区。

一般情况下,我们分析一个项目会利用很多包来进行管理,我们可以在主工作区中创建分类的包,然后在包中创建相关框图。

创建用例图,选择模型浏览器中的<UML2 Model>(老版本是model),选择右键菜单“新建框图”,选择“用例图”,系统会在主绘图区打开该用例图,并且显示相关工具框,如下图


创建用例图主题:在用例图工具栏中选中表示主题的图标,拖入绘图区或者在绘图区点击,就可以生成,主题是UML2标准中新增的元素,以前的工具中没有这个元素,主题用一个矩形框表示,一般用于区分系统内外的界限,通常将角色放在主题外,用例放在主题内。

创建用例图中的角色:在用例工具栏中选中表示角色的图标,然后再绘图区点击或者直接拖入绘图区,并可以直接对该角色重新命名,也可以通过下方的对话框对角色进行其他属性定义,如下图:


创建用例:在用例工具栏中选中表示用例的图标,然后拖入绘图区或者在绘图区点击,就可以生成一个UseCase。需要同时创建多个用例时,也可以用Trufun提供的工具栏快捷工具“锁定”。

创建角色和用例、用例和用例、角色和角色之间的关系:在用例工具栏中提供有关联(单向关联)、泛化、依赖、包含、扩展几种关系,用来表示不同的通信关系。一般角色和角色之间用泛化关系,用例和用例之间用包含或者扩展关系,角色和用例之间用关联或者单向关联。如下图:


创建用例描述:在Trufun绘图区选择需要用例描述的用例,在下面的属性框中选择简要描述、前置条件、基本事件、其他事件流、后置条件等类型对用例进行描述,如下图:


Trufun Plato UML2建模软件和其他应用程序一样,可以通过菜单或者工具栏中的保存进行保存当前项目或者框图。

我们还可以把Trufun创建好的模型发布到Web页面,使其他人也能浏览模型,操作步骤:选择菜单项“UML建模”中的“导出”—“导出为Html”,选择Web页面保存地址,就可以将模型生成Web页面,可以生成之后直接点开,也可以打开生成的index.html查看。如下图,通过右边的树形结构展开相关模型,跟在软件中显示结构相同。


也可以把Trufun创建好的模型发布为word文档,用于交流,操作步骤:选择菜单项“UML建模”中的“导出”—“导出为文档”,可以选择生成“软件设计说明书”,或者如果有详细的用例描述,可以生成“需求/用例实现规约”。具体文档生成操作流程,会在其他文章中详细介绍。欢迎访问www.trufun.net网站,了解更多UML2应用文章!

 


2019-04-11 08:53:26 A993852 阅读数 224

 


UML建模技术是一种面向对象开发中的建模语言,指用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等。考试常见的UML图有:

1.用例图(常考,必会)

2.类图与对象图(常考,必会)

3.顺序图

4.活动图

5.状态图

6.通信图

7.构件图


1.用例图

  • 三要素:参与者(actor)用例例图中对象间到的关系
  • 关系包括:包含关系<<include>>、扩展关系<<extend>>、泛化关系<<generalization>>,前两个为例图特有。

包含关系:当可以两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示他们。(复用?)

扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例。

泛化关系:描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。

2.类图与对象图

  • 类图(class diagram):描述一组类、接口、协作和它们之间的关系。在面向对象的系统建模中,常见的就是类图。
  • 对象图(object diagram):描述一组对象及它们之间的关系。

主要考察:

1.填类名、方法名、属性名

2.填多重度

1:表示一个集合中的一个对象对应另一个集合中的一个对象

0..*:表示一个集合中的一个对象对应另一个集合中的0个或多个对象(可以不对应)

1..*:表示一个集合中的一个对象对应另一个集合中的一个或多个对象(至少对应一个)

*:表示一个集合中的一个对象对应另一个集合中的多个对象

3.填关系

依赖关系、泛化关系、关联关系、实现关系、聚合关系、组合关系

                                                                        

3.顺序图

  • 顺序图(sequence diagram, 序列图),由一组对象或参与者以及它们之间可能发送的消息构成。

4.活动图

5.状态图

6.通信图

7.构件图


真题中出现过的问答题:

(09-下)指出图中员工和顾客之间的关系,并解释该关系的内涵。

答:泛化关系;泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。

(10-上)类图设计中采用了中介者(Mediator)设计模式,请说明该模式的内涵。

答:使用Mediator模式,可以使各个对象间的耦合松散,只需关心和Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可扩展性。

 

UML例图
2017-05-11 10:03:00 weixin_33895516 阅读数 3

UML是统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
统一建模语言 (UML)是非专利的第三代建模和规约语言。 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
UML可以贯穿软件开发周期中的每一个阶段。被OMG采纳作为业界的标准。
UML最适于数据建模,业务建模,对象建模,组件建模。
UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。

 

用例图:

 

时序图:

 

转载于:https://www.cnblogs.com/lx1502720102/p/6839511.html

2017-06-23 19:40:00 weixin_30791095 阅读数 2

软件工程——个人总结

学号:1500802067 姓名:陕云鹏

回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:


学习和使用的新软件:

微信公众号:我们是基于微信公众号做的开发 所以开发时用到了这个;
1116605-20170628175635321-1928968342.png

ER:ER是一款用于画例图,类图等的软件;
1116605-20170628175640696-695703926.png

Dreamweaver:以前简单的使用过的软件,通过做课程设计又重新学习了,主要用于前端设计;
1116605-20170628175646071-1742686065.png


学习和使用的新语言:

学习了PHP语言,主要是用来编写网页
学习了markdown的排版


学习和使用的新工具、新平台:

学习使用在coding上,存放代码,共享代码;
学习使用新浪云服务器,在后台开发,网页制作过程中的代码的编辑,网页的实现和数据库的实现;
学习使用Git仓库用以执行Git命令操作,Git的结构等。


统计一下,你在这软件工程实践中,完成了多少行的代码

平时的作业,期末大作业,以及平时的练习,大概约1500行代码


学习和掌握的新方法

(1)需求分析:在完成一个项目之前,要明白这个项目具体是要干什么,要进行详细的需求分析,需求分析的内容是针对待开发软件提供完整、清晰、具体的要求,确定软件必须实现哪些任务。具体分为功能性需求、非功能性需求与设计约束三个方面。功能性需求即软件必须完成哪些事,必须实现哪些功能,以及为了向其用户提供有用的功能所需执行的动作。功能性需求是软件需求的主体。开发人员需要亲自与用户进行交流,核实用户需求,从软件帮助用户完成事务的角度上充分描述外部行为,形成软件需求规格说明书。作为对功能性需求的补充,软件需求分析的内容中还应该包括一些非功能需求。主要包括软件使用时对性能方面的要求、运行环境要求。软件设计必须遵循的相关标准、规范、用户界面设计的具体细节、未来可能的扩充方案等。一般也称做设计限制条件,通常是对一些设汁或实现方案的约束说明。例如,要求待开发软件必须使用Oracle数据库系统完成数据管理功能,运行时必须基于Linux环境等。

(2)软件测试方法:黑盒测试,黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下, 在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。白盒测试,白盒测试 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。


个人总结

1.课程收获:

本学期所学习的软件工程这门科目让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定 的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。


2.课本带给我们的:

《构建之法》这本书的内容逻辑很清晰明了,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开 放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模等。


3.本课程的不同之处吸引着我:

这个课程老师不仅仅用理论授课方法帮我们了解软件工程的相关概念,同时老师使用了很多其他的方式让学生去了解这门课程,比如用例纸牌游戏,看图说话,作业的娱乐式点评竞争,让我在学习这门课时充满了兴趣。


4.课程中学到了

软件工程,就是这样一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。简单来说,就是对于总体的组织和对于局部的实现。


5.课程总结与展望:

这门课程的内容十分的概念化,所学到的都是前人的经验与教训的总结,涉及到的理论知识太多了。现在开发经验很少的我,还不能彻底的理解软件工程所带来的帮助,仅仅开括了自己的知识面,至少在之后的个人开发或者团队开发中不再迷茫,不知道如何下手了,我想这也是这本书最基础的目的吧,对于书中提到的专业的测试人员,开发人员以及团队的PM,相信只有足够多的开发经验之后才能有所理解和想法。不过也学到了一些实质性的东西,比如VS工具中的测试方式,帮助对软件进行优化与DEBUG。

对于课程展望,希望自己在日后的编程中注重个人的编码素养,理论之外将实践用于之后的学习中,理论是实践的根本,同时也要学好理论知识,将


记录自己在软件工程课程上的经验总结

现在的任何电子化产品离不开程序,而所有的程序离不开团队,软件工程课程不仅仅给我提供制作程序的思想模式,更是让我们认识到一个团队的重要性,团队的能力,团队的分工,团队的风格直接影响着程序的结果等级。


对于下一届的学弟学妹你有什么建议和告知呢?

在着手做作业时,先去把markdown看一下,不难,这样每次做作业的时候就会轻松很多。

做大作业前,根据每个人的能力来分配工作,提前进行相关的学习。


分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?

自己所在的团队,总体能力偏弱,作为一个团队的负责者,没有充分发挥自己在团队协作中的作用,团队的人数偏多,工作总量有相对较少。在功能的实现时,由主要的几个人做了大量的工作,从一次团队协作中我也学会了许多,如果想让团队做出好的工作,首先要保证团队人员的素质,其次是人员的协调分工,一个负责人带不好头,则满盘皆输,虽然这次的团队合作不是很理想但我很感谢每一个队伍里的人,是你们的现象反映了我的错误,我会改的;

我们的团队经历了结对编程,到用例说明文档,绘制类图,再到整个的需求规格说明书,然后进行黑盒测试最后阶段,都较积极的完成各相关任务,协作氛围可嘉;


补充:

•阅读第八章 需求分析,获取用户需求中软件开发的过程中用户最需要的是什么?

软件开发的过程就是用户最需要的东西在链条中传送、转换、实现、扭曲或丢失的过程,“市场营销,就是“通过改变影响用户产品购买决策的各种因素,实现争夺用户或激发用户消费的目'',对产品运营人员来说,无非是解决“吸引新用户、掠夺竞品用户、留住现有用户、促使用户购买、促使用户购买更多”等实际问题,产品运营人员需要去不断了解用户需求,改善市场策略,而市场调研是了解用户需求最常用的方法。用户认为折扣、品质、服务、口碑在其选择时最重要,实际选择时网站知名度、用户口碑作用更加突显。

•根据第七章MSF团队模式中 典型的软件团队模式和开发流程都有那些?各有什么优缺点?

''软件团队的模式:a、主治医师模式b、明星模式c、社区模式d、业余剧团模式e、秘密团队f、特工团队g、交响乐团模式 h、爵士乐模式i、功能团队模式j、官僚模式等。开发流程是指一群人在一起做软件开发,总是要有一些方式方法。我们在开发、运营、维护软件的工程中有很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营和维护的效果,以及提升用户满意度、软件的可靠性和可维护性。 a、写了再改模式b、瀑布模式c、瀑布模型的各种变形d、Rational统一流程e、老板驱动的流程f、渐进交付的流程。''

阅读第八章在用户需求方面,除了我们对于用户的基本需求满足,我们也要对大众用户进行问卷调查或者是面对面的讨论软件的差异,在软件的需求方面,双方会有着一些歧义,但是又不想要失去任意一个潜在的用户,是否需要去考虑个别用户的特殊需求?

个别用户的需求可能是吸引部分潜在客户的关键因素,所以我们需要在发布之后进行用户的反馈进行软件的修改。

•由第五章 团队和流程中软件的开发模式分别指那些?

快速原型模型:需要迅速造一个可以运行的软件原型,以便理解和澄清问题)快速原型模型允许在需求分析阶段对软件的需求进行初步的非完全的分析和定义,快速设计开发出软件系统的原型展示待开发软件的全部或部分功能和性能。过程:用户对该原型进行测试评定,给出具体改善的意见以及丰富的细化软件需求,开发人员进行修改完善。

•当开发人员修复了一个缺陷并签入代码后,新的构建就会包含一个修复,测试人员验证修复会不会导致其他问题?

测试不是在所有的开发工作完成之后才进行,而是与开发几乎同步进行的。一个软件项目的各个功能都可以有自己的测试计划,它们可以在不同的阶段发挥作用。但是针对整个项目的总测试计划(又叫测试总纲)要在计划阶段大致定下来,并指导所有测试工作的进行。测试需要这些a. 用户类型不变。b. 屏幕分辨率降到两种,手机屏幕不要了,我们暂时不在手机上测试。c. 屏幕DPI不测试高级DPI(屏幕 | 属性 | 高级 | DPI 中可以设置DPI以提高显示效果。d. 操作系统只测试3种,二柱强烈支持Linux,同时考虑到一些高收入的网民可能会用Linux操作系统,保留Linux。

转载于:https://www.cnblogs.com/shanyunpeng/p/7071379.html

UML类图图示样例

阅读数 268

博文 来自: gu263278505
没有更多推荐了,返回首页