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

项目内容
这个作业属于哪个课程2016计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里实验十 团队作业6—团队项目系统设计改进与详细设计
团队名称快活帮
作业学习目标
  • (1)掌握面向对象软件设计方法;
  • (2)完善系统设计说明书,掌握面向对象详细设计内容、设计原理和技术。

1.团队项目的系统设计改进总结:

首先,我们分析了《项目系统设计说明书》初稿的不足,特别是软件系统结构模型建模不完善内容,对于一些缺乏的东西进行了补充完善。 其次,进一步细化分析系统设计模型,详细定义类中服务参数和具体实现逻辑,定义软件数据库表结构,并且撰写了《软件系统详细设计说明书》。 我们在进行系统设计时对系统结构把握不是很到位,通过再次解读需求分析更进了系统的总体结构,其次系统的总体数据流分析的不是很清楚,数据从哪到哪这个过程也通过系统的总体结构进行了改进,由于最初的总体结构以及数据流分析的不太全面,所以数据库的逻辑设计方面有点问题,对于一些关系和属性进行了二次更正。我们团队的项目采用MVC框架,servlet+jsp技术,在这种情况下前期给出的类图可能有些片面,在二次跟进进的时候也做出了相应的调整。通过这次系统详细设计我们对于前期工作的重要性有了更深刻的理解,只有前期的工作做好了,在后期才能避免更多的错误,同时也会提高后期的工作效率,减少不必要的返工。我们小组对于每一环节都是认真对待,并且希望在以后的环节中再接再励。

2.系统详细设计建模工具:

我们先对整个任务进行了细化分配,每个人都负责自己模块。通过对需求的分析,构建出系统的总体结构,通过结构分析再划分功能,清楚数据的流向,最后设计数据库。我们用到的建模工具是 Visio ,在第四次作业中对其进行了介绍,在这不做赘述。

3.团队项目github仓库地址链接:《软件系统设计说明书》的改进以及《软件系统详细设计说明书》

4.成员具体分工及工作量比例:

整个任务分为两个部分: 第一部分:对概要设计进行改进,整理。
  • 1.杨露露:分析了我们项目的《系统设计说明书》的不足,特别是软件系统结构模型建模不完善内容,然后根据OOD设计准则修改完善团队项目系统设计说明书。占整个文档任务的工作量比例:28%
  • 2.张琳:回答博客中的三个问题并,总结本次作业的实施过程并编写博文。占整个需求文档任务的工作量比例:23%
第二部分:系统详细设计说明
  • 1.陈润菊:在OOD的软件项目详细设计阶段,进一步细化分析系统设计模型,采用适当的建模方法完成团队项目的系统详细设计。占整个需求文档任务的工作量比例:25%
  • 2.沙沙:设计团队项目系统总体结构和数据库逻辑结构,描述团队项目的系统设计过程,撰写团队项目软件系统详细设计说明书。占整个需求文档任务的工作量比例:25%
  • 3.团队项目软件系统详细设计说明书由团队成员共同编写。

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

#一.对用户登录有图书信息添加购物车和订单的处理。# ##1.模块之间的关系## ###a.检索图书模块### ①直接被主模块会员购书模块调用,生成图书检索页面, 用户在文本框中输入检索内容,页面显示图书信息; ②该模块通过链接调用加入购物车模块,用户把需要购买的图书加入购物车。 ###b.加入购物车模块### ①通过检索模块被主模块调用,把图书信息添加到购物车; ②该模块调用提交订单模块, 用户把购物车中的图书作为订单提交。 ###c.提交订单模块### ①通过购物车模块被主模块调用,用户修改确认订单信息后, 点击提交按钮提交订单。 ##2.测试## ###a.测试技术要求### 1.进行人工静态检查, 保证代码的逻辑正确性、 清晰性、规范性、一致性; 2.进行动态测试, 通过设计测试用例, 执行待测程序来跟踪比较实际结果与预期结果来发现错误或缺陷。 ###b.检索图书### 1.测试搜索框的输入数据长度是否符合 3.11 中的规定,如果有不符合,提示该项“ ** 必须在 ** 长度内”,若符合,则满足要求; 2.测试搜索框的内容是否为空,若为空,提示“该框不能为空” , 若不为空,则满足要求。 ###c.提交订单### 测试订单中图书数量是否为0,若为 0,提示“图书数量不能为0,若大于 0,则满足要求。

二.管理员对信息的处理,对图书的增删改查。#

1.修改信息##

a.修改图书信息###

1.输入项中图书书号 (bid)必须是字符, 不超过 20 位,不能为空, 且不能与数据库中其他书号重复;
2.输入项中图书名字 (bname必须是字符,不超过50 位,不能为空;
3.输入项中图书作者 (bauthor)必须是字符,不能为空;
4.输入项中出版社 (bpress)必须是字符,不超过 20 位,不能为空;
5.输入项中出版日期 (btime)必须是 Date 类型,不能为空;
6.输入项中价格 (bprice)必须是 double类型, 小数点保留两位, 不能为空。

b.录入图书信息###

1.输入项中图书书号 (bid)必须是字符, 不超过 20 位,不能为空, 且不能与数据库中其他书号重复;
2.输入项中图书名字 (bname)必须是字符,不超过50 位,不能为空;
3.输入项中图书作者 (bauthor)必须是字符,不超过 20 位,不能为空;
4.输入项中出版社 (bpress)必须是字符,不超过 20 位,不能为空;
5.输入项中出版日期 (btime必须是 Date 类型,不能为空;
6.输入项中价格 (bprice)必须是 double类型, 小数点保留两位, 不能为空。

2.测试##

a.修改图书信息###

1.若图书书号与数据库中其他书号重复,则提示“书号重复,请重新填写”,若不重复,则满足要求;
2.分别测试所有输入框的输入数据长度是否符合 3.11 中的规定, 如果有不符合,提示该项“ ** 必须在 ** 长度内”,若符合,则满足要求;
3.分别测试所有输入框是否为空, 若为空, 提示“该框不能为空”, 若不为空,则满足要求;
4.若出现写数据库错误,则提示无法连接的具体原因。若无,则满足要求。

b.录入图书信息###

1.若图书编号与数据库中其他编号重复,则提示“编号重复,请重新填写”,若不重复,则满足要求;
2.若图书书号与数据库中其他书号重复,则提示“书号重复,请重新填写”,若不重复,则满足要求;
3.分别测试所有输入框的输入数据长度是否符合 3.11 中的规定, 如果有不符合,提示该项“ ** 必须在 ** 长度内”,若符合,则满足要求;
4.分别测试所有输入框是否为空, 若为空, 提示“该框不能为空”, 若不为空,则满足要求;
5.若出现写数据库错误,则提示无法连接的具体原因。若无,则满足要求。

6.问题:

  • 问题(1):何谓软件体系结构、软件设计模式?
  • 软件体系结构: (1)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。 (2)软件体系结构可以从概念、模块、运行、代码四个角度出发,对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。 (3)软件体系结构是一个抽象的系统规范,是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 软件设计模式: 又称“设计模式”,是面向对象软件设计中反复出现的问题的解决方案。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会 使新系统开发者更加容易理解其设计思路。
  • 问题(2):什么是C/S与B/S结构
  • C/S结构: (1)即Client/Server (客户机/服务器) 结构,是软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。 (2)客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。 (3)开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难。 B/S结构: 由于Client/Server结构存在的种种问题,因此人们又在它原有的基础上提出了一种具有三层模式(3-Tier)的应用系统结构浏览器/服务器(Browser/Server)结构。Browser/Server结构是伴随着因特网的兴起,对Client/Server结构的一种改进。从本质上说,Browser/Server结构也是一种Client/Server结构,它可看作是一种由传统的二层模式Client/Server结构发展而来的三层模式Client/Server结构在Web上应用的特例。 Browser/Server结构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。 B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。
  • 问题(3):什么是MVC设计模式?
  • (1)MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式: Model(模型)表示应用程序核心(比如数据库记录列表)。 View(视图)显示数据(数据库记录)。 Controller(控制器)处理输入(写入数据库记录)。 (2)MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。 (3)Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 (4)View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。 (5)Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 (6)MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
posted @ 2019-06-04 21:43  快活帮  阅读(282)  评论(1编辑  收藏  举报