实验八 团队作业5:团队项目需求建模与系统设计(2)

项目 内容
班级博客 2019级卓越工程师班
作业要求 实验八 团队作业5:团队项目需求建模与系统设计(2)
团队名称 奋起上进组
团队成员分工 曹永兴:设计用例图,任务二,任务四
李斌:完善软件需求规格说明书,任务二
尚洁:完善软件系统设计说明书,任务四
张蓉星:系统总体结构,数据库逻辑结构,任务四
课程学习目标 (1)学习使用UML建模工具Visio
(2)掌握面向对象需求分析建模技术
(3)理解和掌握面向对象软件系统设计原理、设计过程和技术。
学习目标实现 (1)通过学习Visio工具,通过该工具设计用例图表示项目功能需求,便于项目开发
(2)通过了解C/S结构、是B/S结构、以及MVC设计模式,了解软件系统的结构以及快那个价结构
(3)通过撰写团队项目软件系统设计说明书,对课程知识加深理解,为项目开发做准备
团队博客链接 奋起上进组
团队仓库 仓库

任务1

一、题目:

使用Visio,应用面向对象分析方法(OOA),完善团队项目的《软件需求规格说明书》,并将该文档上传到团队项目Github仓库。

二、要求:

(1)设计用例图表示项目功能需求,模型使用规范一致的图形符号和文字描述内容;
(2)参考《构建之法—现代软件工程》8.5节功能的定位和优先级,给出功能分析的四个象限;
(3)选择适当的UML模型,建立问题域对象模型;
(4)完善项目的WBS,估计各项任务所需时间

三、visio截图:

四、用户用例图:

五、管理员用例图:

六、参考《构建之法—现代软件工程》8.5节功能的定位和优先级,给出功能分析的四个象限:
功能 说明
杀手功能 (Core) 数据管理、面向对象;
外围功能(Context) 资源上传、社区、资源推荐、资源审核;
必要需求 (Mission Critial) 系统稳定、界面简洁、资源丰富;
辅助需求 (Enabliing) 及时反馈;

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

1、定义

​ 统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

2、UML系统开发中有三个主要的模型:

  • 功能模型:从用户的角度展示系统的功能,包括用例图。
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。

3、UML由模型元素(Model Element)、图(Diagram)、视图(View)和通用机制(General Mechanism)等几个部分组成。

4、UML主要由5类图来定义:

  • 用例图:从用户的角度描述系统功能,并指出各功能;
  • 静态图:类图、对象图和包图;
  • 行为图:活动图、状态图,描述系统的状态模型;
  • 交互图:顺序图、合作图,描述对象间的交互关系;
  • 实现图:如配置图,定义系统中软硬件的物理结构体系

5、系统类图


八、完善项目的WBS,估计各项任务所需时间


九、《软件需求规格说明书1.2》

项目系统规格说明书 Download PDF.

十、《软件需求规格说明书》上传截图

任务2

一、题目:查阅资料,回答以下问题

(1)什么是C/S结构?

C是英文单词“Client”的首字母,即客户端的意思;S是英文单词“Server”的首字母,即服务器的意思;C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。
C/S结构是一种软件系统体系结构,也是生活中很常见的。这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。

C/S 模式的优点

  • 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
  • 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
  • C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

C/S 模式的缺点

  • 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
  • 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
  • 开发成本较高,需要具有一定专业水准的技术人员才能完成。

(2)什么是B/S结构?

B是英文单词“Browser”的首字母,即浏览器的意思;S是英文单词“Server”的首字母,即服务器的意思。B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式。
B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。你只需要在自己电脑或手机上安装一个浏览器,就可以通过web Server与数据库进行数据交互。

B/S结构的优点

  • 具有分布性特点,可以随时随地进行查询、浏览等业务处理。
  • 业务扩展简单方便,通过增加网页即可增加服务器功能。
  • 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
  • 开发简单,共享性强

B/S 模式的缺点

  • 个性化特点明显降低,无法实现具有个性化的功能要求。
  • 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
  • 页面动态刷新,响应速度明显降低。
  • 无法实现分页显示,给数据库访问造成较大的压力。
  • 功能弱化,难以实现传统模式下的特殊功能要求。

(3)什么是MVC设计模式?

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

Model对象:负责存储数据以及定义如何操作这些数据。
View对象:负责展示而且允许用户编辑来自应用程序的Model对象,View对象用来构建用户界面,与用户交互。
Controller对象:是Model对象与View对象的中间人,负责传递数据,监听各种事件,管理其他对象的生命周期等。

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式

  • Model:常用javabean去实现,通过各种类来对数据库的数据进行获取,并封装在对象当中。
  • View:常用JSP来实现,通过可直接观察的JSP页面来展示我们从数据库中获取的数据。
  • Controller:常用servlet来实现,通过servlet来获取经过javabean包装过的对象(已存入数据库中的数据),然后再发送数据传输到JSP界面。

任务3:

一、题目:

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

二、要求:

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


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

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

  • 知识重用方案:学习过的知识可以得到充分利用,比如数据库,JAVAEE,WEB前端技术等。对于我们软件需求分析以及后期软件开发都有很好的作用。
  • 方法和标准的重用方案:采用面向对象的方法,对于标准的重用,我们采用国家规定的软件开发规范。整体遵守代码规范,对每个人的编码都进行规范化,使得后期维护方便快捷,代码整体结构清晰。定义通用的接口以及方法,使用过程中直接调用即可。
  • 软件成分的重用方案:在后期编码的过程中,使用调用库函数,实现代码重用,可以大大提高代码的效率。对于编写的源代码、用户界面的设计、数据等都可以重用,比如源代码的编写中,所要用到的一些前端框架,我们就可以结合自身本系统的需求进行分析,然后进行框架整合,这样就减少了我们的编码工作量,有助于加快项目进度。在UI界面中,可以重用之前的原型设计中设计好的界面,对应进行设计,因为已经对原型进行了调研和试用,所以重用原型设计来设计界面,可以保证我们最后研发出来的产品是满足用户审美的,是符合用户需求的。对于数据重用,比如数据库中表的设计,我们可以对逻辑分析中的E-R图进行加工,根据E-R图进行建表等工作,根据逻辑分析设计数据库。
  • 类构件实现软件重用方案设计:为了提高重用的效果,关键是设计一个合理的、具有一定深度的类构件继承层次结构,这样每个子类在继承父类的属性和服务的基础上,只需要加入少量新属性和新服务,这不仅降低了每个类构件的接口复杂度,表现出一个清晰的进化过程,提高了每个子类的可理解性,而且为软件开发人员提供了更多可重用的类构件。
    (4)设计关键类的重点服务。
            软件重用方案主要是在源代码级,通过类的继承、调用来实现。其实可重用 的范围是很大的,如设计的重用,测试用列的重用,可运行的代码的重用等。将 来会扩大重用的粒度,在框架基础上,进一步根据我们项目本身的软硬件环境定 制出一个适用于我们系统的框架,将可以极大地提高软件的开发和维护的效率。
            在本次设计中,我们的系统主要是用户模块;首先创建一个类,用于用户的注册,随后创建另一个类,作为登录界面。用户界面主要有两个功能,发现优秀文章界面、资源上传及回答问题界面、消息界面和用户个人信息界面。页面均在一个基础的框架增加内容,编写时首先调用框架,进行重用。控制器负责调用各项功能,在进行操作时,均需对其进行重用。
三、《软件系统设计说明书1.2》

项目系统规格说明书 Download PDF.

四、《软件系统设计说明书1.2》上传截图

任务四

一、PSP项目计划表
任务内容 计划完成需要时间(min) 实际完成需要时间(min)
计划 30 35
估计这个任务需要多少时间,并规划大致工作步骤 470 550
任务一 110 150
熟悉Visio的操作 50 60
学习《构建之法—现代软件工程》8.5节 30 40
小组讨论 30 50
任务二 60 50
任务三 180 200
小组讨论 60 50
编制《软件设计说明书1.2》 120 150
任务四 120 150
编制软件系统设计说明书 120 150
二、总结
任务部分 学习心得
学习使用Visio,并完善软件需求规格说明书 通过本次实验,我们基本掌握了Visio的具体操作方法,由于Visio是Office软件系列中负责绘制流程图和示意图的软件,所以通过查找资料学习后很容易上手,通过设计用例图我们对项目的功能需求进一步的加深的认识,通过资料学习对功能分析的四个象限也比较明确。另外,我们也了解都UML统一建模语言是用来对软件密集系统进行可视化建模的一种语言,用UML建立的软件系统模型可以采用多种面向对象开发语言进行实现,作为软件开发的主要方法,面向对象方法有其重要作用。
了解C/S,B/S,MVC 通过该任务,我们了解到,网络上的软件系统大致可以分为C/S结构和B/S结构,也明确在小型系统中使用C/S结构,B/S架构是C/S架构改进而来,在了解架构的前提下,才能有更好的软件项目规划。在了解了MVC设计模式后,团队成员经过交流学习明确了MVC的作用,也明确我们选择MVC设计模式对我们的软件项目进行设计。
撰写团队项目软件系统设计说明书 在前两个任务完成的基础上,我们通过交流分析完善了项目软件系统设计说明书,通过MVC软件设计模式对软件项目的总体结构再次进行了分析,采用E-R图对数据库的逻辑结构进行了设计,另外,大致了解了软件的重用方案,对关键类的重点服务内容也进行明确讨论。
项目总结 通过本次实验,我们团队进步了很多,大家各自负责的部分完成得很及时。另外,理论方面,我们明确了面向对象方式是软件设计中的一个重要方法,B/S结构以及C/S架构之间的联系与区别,另外通过讨论也得出了MVC的优势,并计划按照MVC框架模式设计我们团队的软件项目。同时,在团队交流合作的过程中,相信每位成员也提升了自己的表达和交流能力,在讨论中学习确实是很有效的学习方法。
posted @ 2022-06-13 16:12  奋起上进组  阅读(25)  评论(1编辑  收藏  举报