工作室管理系统概要设计说明书
工作室管理系统 概要设计说明书
1引言
1.1编写目的
此文档对工作室管理系统概要设计进行说明。
预期的读者有 (甲方)的需求提供者、项目负责人、相关技术人员等,项目组成员。
1.2背景
软件学院工作室管理中心是以方便同学及导师为宗旨设计的,让管理员、导师通过网络,方便的了解工作室同学的状况。对于即将进入工作室学习的同学,可以通过工作事管理中心,进行工作室学习方向的确定,这就避免了同学选择方向时,因工作室已满而不得不转方向。对于已经在工作室学习的同学,导师可以通过本签到系统,方便的了解同学的出勤状况,历史缺到次数。简单的新闻系统,使同学们能够及时了解工作室最新动向。通过站内短信,同工作室,不同工作室之间都可以进行短信交流,也可以进行短信群发。工作室管理中心提供了一个讨论区,同学可以就最新的帖子进行评论,也可以和导师交流最新技术。个人日志功能免除了同学手写日志的苦恼,日志直接提交至导师,导师也可以及时了解同学当天的学习进展。网站链接功能则是由导师或同学添加一些认为好的学习网站,这样能更好的进行知识交流。
在实际使用中,本系统可以发挥互联网的优势、在网络上建立一个工作室管理中心,使得工作室管理更合理。让导师更清楚的掌握学生的出勤状况及学习进度。工作室选向更人性化,让学院更好、更早的进行安排。
1.3定义
无
1.4参考资料
工作室管理系统需求规格说明书 工作室管理系统详细设计说明书
2总体设计
2.1需求规定
工作室管理系统按模块可以分成三部分,一是一般用户浏览的内容管理模块, 二是系统管理,三是内容和审核管理,而它们各自又有具体的小模块组成。具体需求见工作室管理系统需求规格说明书。
2.2运行环境
操作系统:Win2003/XP, Linux WEB服务器:Tomcat 5.5以上
数据库服务器:MySQL5.0以上,能够处理数据并发访问,访问回馈时间短。
2.3基本设计概念 2.1.系统整体方案
(1)工作室管理系统主要特性
我们从以下五个方面确定目标系统特性如下:
用户界面的复杂度:数据的静态显示/可定制视图(customizable view) 用户界面的部署约束:基于独立的桌面电脑或专用工作站的浏览器 用户的数量和类型:组织内的日常使用者,总共几百人
系统接口类型:通过HTTP协议提供服务,未来可以使用SOAP的SOA技术 性能:主要是独立的数据更新,有少量并发处理
从上述特性我们可以判断工作室管理系统属于中大型项目,因此我们使用基于Struts-Spring-Hibernate框架的分层架构设计方案。
(2)架构分层
在工作室管理系统项目架构设计中,我们使用分层模式。具体地说,我们将工作室管理系统应用在职责上分成3层:表示层(Presentation Layer)、持久层(Persistence Layer)和业务层(Business Layser)。每个层在功能上都应该是十分明确的,而不应该与其他层混合。每个层要相互独立,通过一个通信接口而相互联系。
(3)模式和框架使用:
在分层设计基础上,我们将使用设计模式和框架,这些是可以重用的资产。
1)MVC模式
MVC模式就是一种很常见的设计模式。所谓的MVC模式,即模型—视图—控制器(model—view--controller)模式。其结构图如下:
图4-1 MVC架构图
1、Model端
在MVC中,模型是执行某些任务的代码,而这部分代码并没有任何逻辑决定用户端的表示方法。Model只有纯粹的功能性接口,也就是一系列的公共方法,通过这些公共方法,便可以取得模型端的所有功能。
2、View端
在MVC模式里,一个Model可以有几个View端,而实际上多个View端是使用MVC的原始动机。使用MVC模式可以允许多于一个的View端存在,并可以在需要的时候动态注册所需要的View.
3、Controller端
MVC模式的视图端是与MVC的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态,而这种更新是通过控制器端进行的。控制器端通过调用模型端的方法更改其状态值。与此同时,控制器端会通知所有注册了的视图刷新用户界面。
那么,使用MVC模式有哪些优点呢?MVC通过以下三种方式消除与用户接口和面向对象的设计有关的绝大部分困难:
1、控制器通过一个状态机跟踪和处理面向操作的用户事件。这允许控制器在必要时创建和破坏来自模型的对象,并且将面向操作的拓扑结构与面向对象的设计隔离开来。这个隔离有助于防止面向对象的设计走向歧途。
2、MVC将用户接口与面向对象的模型分开。这允许同样的模型不用修改就可使用许多不同的界面显示方式。除此之外,如果模型更新由控制器完成,那么界面就可以跨应用再使用。
3、MVC允许应用的用户接口进行大的变化而不影响模型。每个用户接口的变化将只需要对控制器进行修改,但是控制器包含很少的实际行为,它是很容易修改的。
面向对象的设计人员在将一个可视化接口添加到一个面向对象的设计中时必须非常小心,因为可视化接口的面向操作的拓扑结构可以大大增加设计的复杂性。
MVC设计允许一个开发者将一个好的面向对象的设计与用户接口隔离开来,允许在同样的模型中容易地使用多个接口,并且允许在实现阶段对接口做大的修改而不需要对相应的模型进行修改
2)框架
根据项目特点,我们使用三种开源框架:表示层用Struts;业务层我们用Spring;而持久层则用Hibernate。如图1-1所示。
表示层
业务层
持久层
图1-1 Struts-Spring-Hibernate架构
1 表示层
一般来讲,一个典型的Web应用的前端应该是表示层。这里可以使用Struts框架。 下面是Struts所负责的:
管理用户的请求,做出相应的响应
提供一个流程控制器,委派调用业务逻辑和其他上层处理 处理异常
为显示提供一个数据模型 用户界面的验证
以下内容,不该在Struts表示层的编码中经常出现,与表示层无关的。 与数据库直接通信
与应用程序相关联的业务逻辑及校验 事务处理
在表示层引入这些代码,则会带来高耦合和难以维护的后果。 2 持久层
典型的Web应用的后端是持久层。开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运的是,有几个对象/关系映射(Object/Relation Mapping,ORM)开源框架很好地解决了这类问题,尤其是Hibernate。Hibernate为Java提供了持久化机制和查询服务,它还给已经熟悉SQL和JDBC API的Java开发者创造了一个学习桥梁,使他们学习起来很方便。Hibernate的持久对象是基于POJO(Plain Old Java Object)和Java集合(collections)的。此外,使用Hibernate并不妨碍你正在使用的IDE(Integrated Development Enviroment)。
下面是Hibernate所负责的: 如何查询对象的相关信息。
Hibernate是通过一个面向对象的查询语言(HQL)或者正则表达的API来完成查询的。HQL非常类似于SQL,只是把SQL里的table和columns用Object和它的fields代替。HQL语言容易理解且文档也做得很好。HQL是一种面向对象查询的自然语言,很容易就能学会它。
如何存储、更新、删除数据库记录。
如Hibernate这类的高级 …… 此处隐藏:2833字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




