项目 | 内容 |
---|---|
这个作业属于哪个课程 | 任课教师博客主页链接 |
这个作业的要求在哪里 | 作业链接地址 |
团队名称 | 3+1团队 |
团队博客地址 | https://home.cnblogs.com/u/3-1group |
项目名称 | 一起种水果 |
1.团队项目github仓库地址链接
https://github.com/HaiYou667/3-1Growingfruits
2.团队项目系统设计改进总结
面向对象设计模式是"好的面向对象设计",所谓"好的面向对象设计"是那些可以满足"应对变化,提高复用"的设计。面向对象分析是提取和整理用户需求,并建立问题域精确模型的过程,原则是独立、简单,设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程,尽管分析和设计的定义有明显的区别,但是在实际的软甲年开发过程中二者的界限是模糊的,从OOA到OOD是逐渐扩充、反复迭代的过程,是对各组成部分的增加,
在本周的理论课上我们学习了面向对象设计方法,面向对象设计模式解决的是"类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面。面向对象设计模式描述的是软件设计,因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达。
面向对象设计遵循模块化、抽象、信息隐藏、弱耦合、强内聚、可重用的设计准则。
我们组的设计采用三层架构将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL),区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
采用了MVC的设计模式,MVC就是 Model-View-Controller:
● Model(模型)表示应用程序核心(比如数据库记录列表)。
● View(视图)显示数据(数据库记录)。
● Controller(控制器)处理输入(写入数据库记录)。
严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。MVC主要用于表现层,3层主要用于体系架构,3层一般是表现层、中间层、数据层,其中表现层又可以分成M、V、C,(Model View Controller)模型-视图-控制器。MVC是表现模式,三层架构是典型的架构模式。
本周项目进展:本周我们实现了系统的登录和注册页面,在登录和注册采用正则表达式对用户信息进行判断,具体代码如下图所示:
前台页面如下图所示(讲真,不怎么好看......):
3.问题探究
(1)何谓软件体系结构、软件设计模式?
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
自从软件系统首次被分成许多模块,模块之间有相互作用,组合起来有整体的属性,就具有了体系结构,好的开发者常常会使用一些体系结构模式作为软件系统结构设计策略。软件体系结构是设计抽象的进一步发展,满足了更好地理解软件系统,更方便地开发更大、更复杂的软件系统的需要。
事实上,软件总是有体系结构的,不存在没有体系结构的软件。
软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
设计模式共有23种类型,可分为三种类型:
● 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式,属于创建型模式。
● 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式,属于结构型模式。
● 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式,属于行为型模式。
(2)什么是C/S与B/S结构
C/S结构即Client/Server架构,即客户端/服务器架构。通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
C/S结构开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难。
B/S架构即Browser/Server (浏览器/服务器) 结构:客户端基本上没有专门的应用程序,应用程序基本上都在服务器端。
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 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
4.团队成员在系统设计的具体分工及占整个系统设计文档任务的工作量比例
团队分工及所占比例
团队成员 | 分工 | 所占比例 |
---|---|---|
王雯涵 | 分析项目系统设计说明书初稿的不足,编写博客 | 25% |
郭佳 | 分析项目系统设计说明书初稿的不足,编写《团队项目软件系统设计改进》 | 25% |
麻存滔 | 分析项目系统设计说明书初稿的不足 | 25% |
邹立源 | 分析项目系统设计说明书初稿的不足 | 25% |