《黑白团团队》第六次作业:团队项目系统设计改进与详细设计

项目 内容
作业课程地址 任课教师首页链接
作业要求 团队项目
填写团队名称 黑白团团队
填写具体目标 认真负责,完成项目

任务1:团队项目系统设计改进

a.分析《黑白团团队项目系统设计说明书》初稿的不足,特别是软件系统结构模型建模不完善内容;

经过老师的指导和重新审核概要设计,我们发现了很多不足的地方。

1、编写目的叙述不完整,改进如下:

改进前:

此项目“导游众评网”,针对所有对有计划出游却不知道如何选择旅行社和导游的用户设计出的网站 ,为这类用户提供了简洁明了的导游选择, 所有数据真实可靠,严> 格控制弄虚作假的导游评论以及恶意刷好评的一切行为,针对这些用户所编写的概要设计说明书,让用户更清晰的了解此网站的用途和功能等。

改进后:

此项目“导游众评网”,针对所有对有计划出游却不知道如何选择旅行社、导游和已经跟团旅行并对这次旅行中导游的服务有建议或意见却无处安放的用户设计出的网站 ,为这类用户提供了简洁明了的导游选择, 所有数据真实可靠,严格控制弄虚作假的导游评论以及恶意刷好评的一切行为,针对这些用户所编写的概要设计说明书,让> 用户更清晰的了解此网站的用途和功能等。

2、编写背景中对用户的叙述不完整,改进如下:

改进前:

用户:针对想要去旅游不知如何选择旅行社和导游的群体,提供最优导游选择。

改进后:

用户:针对想要去旅游不知如何选择旅行社和导游的群体,提供最优导游选择;针对跟团旅行后对此次旅行中导游的服务有意见或建议和对是导游服务的感受无处安
放,提供发表言论的平台。

3、根据老师的指导我们将对用例图进行了改进。

4、增加的类图

b. 将完善内容以《XX团队项目软件系统设计改进》为名发布在团队博客中,并在团队项目Github仓库中更新《软件系统设计说明书》

概要设计改进总结

1.在软件系统概要设计说明书编写目的和编写背景中,对使用网站的用户群体做了一些修改,范围更大、更精确,由只是跟团旅行了的游客,确定到会在对于导游有意见或建议的游客。

任务2:团队项目系统详细设计Github

任务3:在团队博客发布博文,陈述本次作业实施过程,描述团队成员的具体分工、占整个任务的工作量比例及完成各自任务的实际时间,总结团队项目详细设计心得,总结中要体现每个成员的工作内容。

回答以下三个问题:

(1)何谓软件体系结构、软件设计模式?

  • 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目 的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠 性、程序的重用性。 设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对 象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。
  • 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。事实上,软件总是有体系结构的,不存在没有体系结构的软件。体系结构(Architecture)一词在英文里就是"建筑"的意思。把软件比作一座楼房,从整体上讲,是因为它有基础、主体和装饰,即操作系统之上的基础设施软件、实现计算逻辑的主体应用程序、方便使用的用户界面程序。从细节上来看每一个程序也是有结构的。早期的结构化程序就是以语句组成模块,模块的聚集和嵌套形成层层调用的程序结构,也就是体系结构。结构化程序的程序(表达)结构和(计算的)逻辑结构的一致性及自顶向下开发方法自然而然地形成了体系结构。由于结构化程序设计时代程序规模不大,通过强调结构化程序设计方法学,自顶向下、逐步求精,并注意模块的耦合性就可以得到相对良好的结构,所以,并未特别研究软 > 件体系结构。

(2)什么是C/S与B/S结构

  • C/S模式就是指客户端/服务器模式,是计算机软件协同工作的一种模式。
    由于Web浏览器的兴起,B/S模式逐步取代了C/S模式,被更广泛地应用。随着计算机网络技术的成熟和应用普及,特别是局域网的发展、PC机的出现,越来越多的用户和企业开始使用计算机管理一些事务。C/S模式有以下特点:1、C/S模式将应用与服务分离,系统具有稳定性和灵活性。2、C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 。3、由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快。4、在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂。
  • B/S架构即浏览器和服务器架构模式。它是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
    软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命 >的方式是“瘦”客户机,“胖”服务器。

(3)什么是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 分层同时也简化了分组开发。不同的开发人员可> 同时开发视图、控制器逻辑和业务逻辑。

团队项目详细设计过程总结

1.针对概要设计做出的修改:原来的概要设计说明书中编写目的和背景叙述不完整,我们对网站的用户群体表明不清晰,我们将“有出游意愿却不知如何选择导游的用户”改为“有出游>意愿却不知如何选择旅行社、导游,以及旅行过后想要对导游进行评价的用户”。此网站的主要功能在于为用户提供一个可对导游进行评价、发表自己意见的平台,所以原始的编写>目的和背景不够完整。
2.根据老师上节课的指导,关于我们的用例图我们也进行了修改:用户登录可进行的操作与游客浏览网站时可进行的操作不应该是隶属关系,而应该是并列关系。
3.对本次的详细设计,我们分了四个程序模块,根据课堂知识我们学会了画IPO图来说明某程序模块应具有的功能,并且每一模块都有流程图来说明此模块的流程逻辑和可使用的功>能。

程序模块 分工
用户程序模块(User) 索朗卓玛
添加导游评论及信息(AddGuide) 宋菲菲
跟评论(Appraise) 马秀丽
搜索(Search) 李星宇
posted @ 2019-06-01 09:58  黑白团团  阅读(363)  评论(1编辑  收藏  举报