L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12976163.html
团队名称 L.M.W.Y.D
团队成员分工描述 杨玲(软件设计说明书撰写),王斌龙(软件设计说明书撰写),刘志梅(博文作业撰写),马凯军(需求规格说明书撰写),东文财(需求规格说明书撰写)
团队的课程学习目标 (1)学习使用UML建模工具;(2)掌握面向对象需求分析建模技术;(3)理解和掌握面向对象软件系统设计原理、设计过程和技术。
这个作业在哪些方面帮助团队实现学习目标 (1)轻量级的Visio,(2)在线作图工具ProcessOn
团队博客链接 https://www.cnblogs.com/LMWY/
团队项目Github仓库地址链接 https://github.com/1171849616/team-project

任务一:以团队协作学习方式掌握在线作图工具ProcessOn的软件操作方法。
1、Processon简介
本文所使用的是在线绘图工具——ProcessOn,这是一个方便易用、免费高效的在线作图工具,运用它可以免费制作多种图。
此网站好优点:
(1)是因为它是一个在线的工具,自然也就有了跨平台的特性。作为一个IT从业者,很多情况下会穿梭在Windows,Linux,Mac OS这些操作系统之间工作,而常用的绘图软件,通常只能运行在Windows,当然Linux和Mac OS也有非常不错的绘图软件,但终究无法实现移动办公。而作为在线工具,也就屏蔽了因为不同操作系统带来的麻烦,你可以方便地在家中MacBook中使用它打开公司下班前画的一张半成品图,继续完成,然后明天上班就可以直接给领导作汇报了。
(2)是因为其在线存储,可以现做现存,这也很重要,可以避免一些悲剧的发生,例如赶了一晚上的图,突然断电,蓝屏什么的,然而并没有保存,不得不满腹怨气地重画。
(3)是因为它操作简单,它基本吸取了visio之类常用绘图软件的操作特点,因此对于有绘图经验的用户,学习成本几乎为零。
(4)是因为结合网络社交的特性,不同图表的作者可以轻松地在平台分享各自作品,用户也可以方便地对公开的作品进行搜索,同时还支持多人协作的功能,适合团队内部协同工作。
2、基本操作方法
在基本操作也许有很多人接触过word的编写界面,跟那个界面有很多的相似之处。下面请看一些基本的操作。
(1)元素对齐:大多数绘图软件中,在拖动一个元素的时候,会自动地出现一些对齐线,方便用户将元素对齐到特定的位置,但是一旦元素比较多,拖动的操作就有点杯水车薪了,事实上,我们可以使用对齐的功能快速地进行元素对齐,如下图:
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第1张图片
我们可以将需要对齐元素选中,然后右键(或者点击屏幕顶部的工具栏中的“排列“),并选择“图形对齐“->”居中对齐”
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第2张图片
左对齐:即选中的所有元素,向处于屏幕最左侧的元素对齐
居中对齐:即选中的所有元素,根据屏幕最左侧和最右侧的位置计算得到中线,并向该中线对齐
右对齐,即选中的所有元素,向处于屏幕最右侧的元素对齐
顶端对齐:即选中的所有元素,向处于屏幕最上方的元素对齐
垂直居中对齐:即选中的所有元素,根据处于屏幕最上方和最下方的位置计算得到中线,并向该中线对齐
底端对齐:即选中的所有元素,向处于屏幕最下方的元素对齐
(2)Z轴排列:这里所谓“Z轴“的概念,是从CSS中的“z-index”属性借鉴过来的,亦即垂直屏幕向外的方向。
在多个元素进行组合的时候,通常会涉及到前后遮挡的问题,这时候需要用到z轴排列,如下图中的,其中就是由三个圆层叠而成,其中橙色的圆在最底层,红色的圆在中间,白色的圆在最顶层。
默认情况下,元素的z轴值是根据创建的先后顺序决定大小的,越是后创建的元素,其Z轴的数值越大,也就是能遮挡在它之前创建的元素。
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第3张图片
绘制该图形时,首先需要选中这3个圆,然后使用“居中对齐“和“垂直居中对齐“,使其成为同心圆,如果此时,橙圆遮挡住了其他两个圆,则点击橙圆,并选择屏幕顶部的工具栏中的“排列“,然后点击“置于底层“,于是橙圆就会被推到最底层,接着可以选中红圆,先同样的操作将它置于底层,然后点击“上移一层“,这样红圆就会叠在橙圆之上,如果此时白圆仍然没有出现在最顶层,可以选中它,点击“置于顶层“,这样就完成了。
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第4张图片
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第5张图片
(3)快捷键操作:点击屏幕顶部的工具栏中的“帮助“,我们可以查看Processon目前支持的快捷键,整理如下:
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第6张图片
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第7张图片
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第8张图片
任务二:整理实验七作业成果,应用面向对象分析方法(OOA),参考国标GB8567—88中《软件需求规格说明书》格式,编制团队项目需求规格说明书,并将该文档上传到团队项目Github仓库,文档内容要求如下:
(1)采用用例图(或者DFD图)建模表示项目功能需求,模型使用规范一致的图形符号和文字描述内容;
系统用例图
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第9张图片
注册用户功能模型
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第10张图片
系统管理员功能模型
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第11张图片

(2)参考《构建之法》8.5节功能的定位和优先级,给出功能分析的四个象限;
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第12张图片

(3)选择适当的UML模型,建立问题域对象模型;
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第13张图片

(4)编制项目的WBS
完成需求分析后,若要开发能够满足用户需求的软件,持续有序实现团队目标,团队要在一段时间内完成诸多任务,编制项目WBS(Work Breakdown Structure,即工作分解结构,是根据项目目标把工作分解成层次分明的、可交付成果的工作任务,用逻辑图形或树形结构表示出来),是团队项目有序管理的工作依据。
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第14张图片

(5)估计各项任务所需时间

任务 花费时间(min)
任务一 66
任务二 200
任务三 40
任务四 90
任务五 30

项目需求规格说明书上传到github截图如下:
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第15张图片

任务三:查阅资料,回答以下问题:
(1)何谓软件设计模式?
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
(2)什么是C/S?
服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
(3)什么是B/S结构?
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式。该模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。它与C/S结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进行交互,可以在不同平台下工作;其服务端可采用高性能计算机,并安装Oracle、Sybase、Informix等大型数据库。
(4)什么是MVC设计模式?
MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。
任务四:以任务1的成果为基础,应用面向对象设计(OOD)方法,撰写团队项目软件系统设计说明书,以回答:软件是如何实现用户需求的?文档内容要求如下:
(1)采用适合的软件设计模式设计软件系统总体结构;
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第16张图片

(2)设计软件系统数据库逻辑结构;
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第17张图片

(3)说明软件重用方案;
包括知识重用;方法和标准的重用;软件成分的重用;具体参见软件系统设计说明书。
(4)设计关键类的重点服务。
在本次设计中,我们的系统主要分为两个大的模块,一个是用户模块,另一个是管理员模块;首先创建一个UserAddDialog类,用于用户的注册,随后创建一个LoginDialog类,作为登录界面,用户界面主要有两个功能,一个是用户查看自己的健康数据,另一个是用户留言功能,这两个功能分别由UserData类和UserLWord类来管理;同样可以用创建过的UserAddDialog类和LoginDialog类,用于管理管理员的注册以及登录;具体可以参见软件系统设计说明书。
项目软件系统设计说明书上传到github截图如下:
L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计_第18张图片

任务5:完成《实验八 团队作业4:团队项目需求建模与系统设计》团队博文作业:

1.记录完成《实验八 团队作业4:团队项目需求建模与系统设计》各项任务实际花费的时间和分工

各项任务 花费时间(h) 分工
任务一 3 马凯军、东文财
任务二 12 马凯军、东文财
任务三 3 杨玲、王斌龙
任务四 5 杨玲、王斌龙
任务五 2.5 刘志梅

2.从团队分工和协作学习角度,陈述团队实施ProcessOn建模工具学习、项目需求分析建模、软件系统设计等学习活动的心得
(1)ProcessOn建模工具学习:
在我们小组PM的带领下,通过老师提供的ProcessOn建模工具链接,小组内进行互相交流讨论,对ProcessOn有了大致的认识并进行使用练习,另外小组成员通过合作来完成本次作业要求的掌握在线作图工具ProcessOn的软件操作方法,ProcessOn不用下载客户端,只要打开浏览器输入网址登录就可以使用,且画布会根据内容的大小自动向外进行扩展,ProcessOn是在线的且操作简单方便,在基本操作部分与word的编写界面有很多的相似之处;最后完成任务二的《软件需求规格说明书》并上传。
(2)项目需求分析建模:
通过对之前已完成的部分以及结果进行一个归纳总结,发现、补充并完善不足的地方,更好地对目标用户和管理者的需求多方面改进,最终完成需求说明书并建立模型等;小组成员之间相互交流学习极大地提高了效率与效果,成员之间的合作配合度越来越高,期待一起学习并进行项目的推进。
(3)软件系统设计:
系统主要分为两个大的模块,一个是用户模块,另一个是管理员模块,另外数据库系统时应该首先了解用户各个方面的需求,包括现有的以及将来可能增加的需求,用户的需求具体体现在各种信息的提供、保存、更新和查询等,通过对任务项目模块的细小划分,细化到各个模块的功能等,通过小组内的讨论进行组内的小分工合作完成部分功能的数据库建表的设计,相互学习、帮助、合作完成,在整个的过程中存在一些问题,但都得以解决并完成了本次的任务作业。

你可能感兴趣的:(L.M.W.Y.D 实验八 团队作业4—团队项目需求建模与系统设计)