胆大妄为【DDWW】 《实验八 团队作业4:团队项目需求建模与系统设计》

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12976163.html
团队名称 胆大妄为【DDWW】
团队成员分工描述 王海珍任务四
狄慧任务三、任务五
王燕任务一、任务二
达拉草任务一、任务二
团队的课程学习目标 (1)学习使用UML建模工具ProcessOn;
(2)学习掌握面向对象需求分析建模技术;
(3)理解和掌握面向对象软件系统设计原理、设计过程和技术。
这个作业在哪些方面帮助团队实现学习目标 (1)团队协作学习在线作图工具ProcessOn绘制用例图;
(2)阅读《软件工程构建之法》8.5节,学习了功能的定位和优先级;
(3)通过学习OOA和OOD撰写需求分析说明书和软件设计说明书
团队博客链接 https://www.cnblogs.com/ddww/p/13041433.html
团队项目Github仓库地址链接 https://github.com/dalacao/team1_project4.git

一、实验目的与要求

(1)学习使用UML建模工具;
(2)掌握面向对象需求分析建模技术;
(3)理解和掌握面向对象软件系统设计原理、设计过程和技术。

二、实验环境要求

常用UML图形绘制工具:Visio,在线作图工具ProcessOn。

三、实验内容与步骤

任务一:以团队协作学习方式掌握在线作图工具ProcessOn的软件操作方法。

(一)ProcessOn软件是一个在线的工具,自然也就有了跨平台的特性。作为一个IT从业者,很多情况下会穿梭在Windows, Linux, Mac OS这些操作系统之间工作,而常用的绘图软件,通常只能
运行在Windows,当然Linux和Mac OS也有非常不错的绘图软件,但终究无法实现移动办公。而作为在线工具,也就屏蔽了因为不同操作系统带来的麻烦,你可以方便地在家中MacBook中使用它打开公司下班前画的一张半成品图,继续完成,然后明天上班就可以直接给领导作汇报了。
(二)ProcessOn软件是在线存储,可以避免- -些悲剧的发生,例如赶了-晚上的图,突然断
电,蓝屏什么的,然而并没有保存,不得不满腹怨气地重画。
(三)ProcessOn软件是操作简单,它基本吸取了visio之类常用绘图软件的操作特点,因此对于有绘图经验的用户,学习成本几乎为零。
(四)ProcessOn软件是结合网络社交的特性,不同图表的作者可以轻松地在平台分享各自作品,用户也可以方便地对公开的作品进行搜索,同时还支持多人协作的功能,适合团队内部协同工作。
(五)当然,这个工具也不是十全十美的,毕竟是2015年才 上线提供服务,产品还存在或大或小的不稳定因素,如丢失数据(据其他网友反馈存在这样的情况),菜单功能卡住,图标相对比较少等,不过这些问题也还在可忍受的范围之内。作为国内免费的在线绘图工具,可以做到这般实为不易。

任务二:整理实验七作业成果,应用面向对象分析方法(OOA),参考国标GB8567—88中《软件需求规格说明书》格式,编制团队项目需求规格说明书,并将该文档上传到团队项目Github仓库,文档内容要求如下:

1、采用用例图(或者DFD图)建模表示项目功能需求,模型使用规范一致的图形符号和文字描述内容;

(1)系统用户用例图: (2)毕业生用例图

(3)企业用例图:(4)教师用例图:

2、参考《构建之法》8.5节功能的定位和优先级,给出功能分析的四个象限:

3、选择适当的UML模型,建立问题域对象模型:

4、编制项目的WBS:
完成需求分析后,若要开发能够满足用户需求的软件,持续有序实现团队目标,团队要在一段时间内完成诸多任务,编制项目WBS(Work Breakdown Structure,即工作分解结构,是根据项目目标把工作分解成层次分明的、可交付成果的工作任务,用逻辑图形或树形结构表示出来),是团队项目有序管理的工作依据。

5、估计各项任务所需时间:

任务二 所用时间
(1)采用用例图(或者DFD图)建模表示项目功能需求,项目使用规范一致的图形符号和文字描述内容; 30min
(2)参考《构建之法》8.5节功能的定位和优先级,给出功能分析的四个象限; 20min
(3)选择适当的UML模型,建立问题域对象模型; 60min
(4)编制项目的WBS; 30min

任务三:查阅资料,回答以下问题:

(1)何谓软件设计模式?
答:软件设计模式又叫设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。软件设计模式有四个要素:模式名称、问题、解决方案、效果。
模式名称:一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允许我们在较高的抽象层次上进行设计。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。找到恰当的模式名也是我们设计模式编目工作的难点之一。
问题:描述问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。
解决方案:描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
效果:描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握,还为软件重构提供了目标。
(2)什么是C/S?
答:C/S结构其实是“服务器/客户机模式”,即Client/Server结构。C/S结构通常采用两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网。
如我们手机上安装的微信、qq、王者等。
(3)什么是B/S结构?
答:B/S结构其实是“浏览器/服务器模式”,即Browser/Server结构,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
B/S架构最大的优点是总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能 实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用。
如:12306网站、购物网站等。
(4)什么是MVC设计模式?
答:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)、View(视图)显示数据(数据库记录)、Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
任务四:
任务4:以任务1的成果为基础,应用面向对象设计(OOD)方法,撰写团队项目软件系统设计说明书。
(1)采用适合的软件设计模式设计软件系统总体结构;
(2)设计软件系统数据库逻辑结构;
(3)说明软件重用方案;
(4)设计关键类的重点服务。

四、总结

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

任务 耗时 分工
任务一 0.5h 王燕、达拉草
任务二 5h 王燕、达拉草
任务三 0.5h 狄慧
任务四 4h 王海珍
任务五 2h 狄慧

2、从团队分工和协作学习的角度,陈述团队实施ProcessOn建模工具学习、项目需求分析建模、软件系统设计等学习活动的心得:

达拉草:
在这次的作业中首先我们学习使用了ProcessOn建模工具,这是我第一次用这个建模工具,我发现这个工具特别方便,而且还有很多模板可以参考。在开始做作业之前我们组内进行了分工,各司其职,然后最后整理撰写文档。在这个过程中其实也遇到了一些问题,比如各种UML建模图的实现,但我们最终通过团队协作完成了本次的作业,我们团队之间的合作和交流也越来越顺利。
狄慧:
在此次实验中,我们组内分工明确,我主要负责实验三和博文撰写。在总的实验过程中,我们遇到了很多问题,但是在讨论和查阅资料后,也都得以解决。对组内成员的合作也十分满意,大家相互协作,共同解决难题,相信之后的合作交流也会越来越好。
王燕:
通过本次实验,使用processon制图软件完成了任务二中的WBS,UML以及E-R图,相比于其他作图软件,有很多有点,作图很便捷,通过完成软件需求规格说明书,对整个软件的结构以及功能的晚上有了更多的想法,组内成员相互合作完成了此次任务,感觉组内成员很给力,实验进行的很顺利。
王海珍:
本次实验我主要负责任务四也就是需求分析部分,这部分我主要是在绘图方面花了较多的时间,经过几次团队作业之后我觉得我们团队的合作越来越舒服,越来越可以和谐的完成任务了,而且我对团队成员的合作非常满意,大家都是在积极地完成自己的任务部分,有余力也会完成其他的部分。对于我们的项目进展在大家的努力下已经完成了大半还在不断地优化和经行中,相信在我们的合作之下我们的作业会完成的很棒。

posted @ 2020-06-05 23:59  胆大妄为【DDWW】  阅读(446)  评论(1编辑  收藏  举报