实验八 团队作业4:团队项目需求建模与系统设计

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE/
这个作业要求连接 https://www.cnblogs.com/nwnu-daizh/p/12976163.html
团队名称 莫得感情的coder
团队成员分工 冯志霞:任务三,设计软件设计说明书框架;
李晓菁:软件设计说明书撰写
马昕璐:分析项目流程,做出uml和wbs计划
唐月晨:需求说明书撰写
团队的课程学习目标 (1)学习使用UML建模工具ProcessOn
(2)学习掌握面向对象需求分析建模技术
(3)理解和掌握面向对象软件系统设计原理、设计过程和技术。
这个作业在哪些方面帮助团队实现学习目标 (1)团队协作学习在线作图工具ProcessOn绘制用例图
(2)阅读《软件工程构建之法》8.5节,学习了功能的定位和优先级
(3)通过学习OOA和OOD撰写需求分析说明书和软件设计说明书
团队博客链接 团队博客链接
团队项目Github仓库地址 仓库链接

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

      ProcessOn是一个在线作图工具的聚合平台,它可以在线画流程图、思维导图、UI原型图、UML、网络拓扑图、组织结构图等等。无需下载和更新的问题,不管Mac还是Windows,一个浏览器就可以随时随地的发挥创意,规划工作。
       这次实验我们学习使用process on完成了用例图,流程图等一系列图表制作。发现process on是一个方便、高效的在线作图工具。整个设计器的布局是左边是原型图库,右侧是画布,操作就是从左侧图形库中拖出圆形图放到画布即可,鼠标放到图形旁边自动变成十字架,按住左键自动出现连接线,整个操作很顺畅、简单。常规的改变图形大小、背景颜色等。同时还有一个在线实时协作的作用,可以满足多方同时进行的要求。同时在素材库中有许多模板可以供我们修改采用,汇聚着强大的作图工具,这里还有着海量的图形化知识资源,让我们尽可能的将有价值的知识进行梳理。

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

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

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

(3)选择适当的UML模型,建立问题域对象模型;

  • 类图
  • 顺序图

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

(5)估计各项任务所需时间
该任务可参考:https://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html

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

(1)何谓软件设计模式?
       软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。好的设计,成就好的作品。

(2)什么是C/S?
       即Client-Server(C/S)结构,服务器-客户机。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
      在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
(3)什么是B/S结构?
      B/S架构即浏览器和服务器架构模式,是对C/S架构的一种变化或者改进的架构。在这种架构下,用户界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),服务器安装SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
      两者比较:C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:
1)只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
2)客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
3)最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。

(4)什么是MVC设计模式?
      MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
      V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
       M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
      C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。最典型的MVC就是jsp+servlet+javabean模式。
      JavaBean作为模型,既可以作为数据模型来封装业务数据,又可以作为业务逻辑模型来包含应用的业务操作。其中,数据模型用来存储或传递业务数据,而业务逻辑模型接收到控制器传过来的模型更新请求后,执行特定的业务逻辑处理,然后返回相应的执行结果。JSP作为表现层,负责提供页面为用户展示数据,提供相应的表单(Form)来用于用户的请求,并在适当的时候(点击按钮)向控制器发出请求来请求模型进行更新。 Serlvet作为控制器,用来接收用户提交的请求,然后获取请求中的数据,将之转换为业务模型需要的数据模型,然后调用业务模型相应的业务方法进行更新,同时根据业务执行结果来选择要返回的视图。

任务4:以任务1的成果为基础,应用面向对象设计(OOD)方法,撰写团队项目软件系统设计说明书,以回答:软件是如何实现用户需求的?文档内容要求如下:

(1) 采用适合的软件设计模式设计软件系统总体结构;

(2) 设计软件系统数据库逻辑结构;

(3) 说明软件重用方案;

(4) 设计关键类的重点服务。

  • 文档上传截图

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

  • 花费时间
任务 耗时
任务一 0.5h
任务二 4h
任务三 0.5h
任务四 3h
任务五 1h
  • 成员分工
姓名 分工
冯志霞 任务分工、系统总体设计
唐月晨 需求分析书撰写
马昕璐 分析项目流程,做出wbs计划
李晓菁 系统设计说明书撰写、博客撰写

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

李晓菁:

此次实验由于需要使用processon在线作图工具,所以我们都各自注册了该网站,每位成员都就自己的使用心得进行了阐述,并且就该工具进行了讨论。在需求分析阶段,我们紧靠设计出的原型系统,在这之上进行了需求分析总结,加以更确切的需求分析,并写出了《需求分析说明书》。在软件系统设计过程中,我们就开发的系统所使用的语言环境以及数据存储方式进行了讨论,并撰写了《软件系统设计说明书》。在此次团队学习中,还是一如既往感受到团队协作的力量,争取在大家都认为的艰难阶段-编码阶段能更好的合作。

冯志霞:

该实验我们组内分工明确,各司其职。一开始学习在线制图软件到后来编写团队项目需求说明书我们都有参与讨论,在进行整体设计和数据库中表的关系那部分时,我们也是商量和讨论之后确定了最终设计。本次团队协作的很融洽,在协作过程中,出现问题能够及时交流,互帮互助。

马昕璐:

这次实验,各位成员之间分工明确,团结协作,共同掌握了Process On这一个无需下载的线上作图工具,通过对上次实验的总结,对软件系统的总体结构,模块设计和设计模式等方面有了更深刻的理解,为后面的工作打下了更好的基础。并且在团队间的合作更有默契也有了更高的效率,希望以后也会越来越合作愉快。

唐月晨:

本次实验主要学习了建模工具以及面向对象的建模分析,我们在老师的推荐下学习了Processon在线工具的使用,它不需要下载且内置多种模板十分的方便,且操作简单易上手。在本次任务分工中,我主要负责的是软件需求规格说明书的撰写,在撰写初期也有许多疑问,比如它的具体格式、需要包含哪些模块等,但这些问题都通过团队成员们的讨论及上网搜索找到了答案。通过此次的分析建模以及需求说明、系统设计说明的撰写,相信对我们之后的程序撰写大有益处。

原文地址:https://www.cnblogs.com/mdgqdcoder/p/13039059.html