软件工程学习资料.docx
《软件工程学习资料.docx》由会员分享,可在线阅读,更多相关《软件工程学习资料.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程学习资料
第四章:
系统总体设计
这章是系统设计工作上的集中体现,主要分析教务管理系统设计目标,设计系统体系架构以及网络架构,还对系统主要功能模块进行E-R图分析,数据表设计。
4.1架构设计
架构设计可以有效降低系统项目失败的风险和系统设计中存在的丢失某些重要因素的风险,这有助于实现项目的业务目标,保证项目成功完成。
按照“总体结构、细化系统、分步实施、持续完善”这个工作思路,从系统功能需求和非功能需求出发,考虑系统高性能要求、安全可靠性、灵活性、扩展性需求,对系统进行总体特性分析,结合设计原则和技术路线作为指导,考虑校园网星型网络拓扑结构的特点及教务管理系统所处理数据信息量大而且复杂的情况,为了减轻系统维护量,提高系统的效率,根据系统的应用架构以及性能质量和要求,特别是集成要求和松耦合的设计原则,采用基于SOA的三层体系架构,如4-1图所示:
图4-1系统体系结构图
三层架构技术,是由二层结构的终端中应用构件独立出来组成的应用层,充分体现了“高内聚、低耦合”的思想,随着分布式技术发展从而不断成熟。
如今普遍采用嵌入ESB企业服务总线的平台实现,ESB是一个中间件群,确保系统可以实现服务接口、各种中间件、松耦合三个方面功能。
三层架构技术的出现,可以简化系统开发、更新和升级的工作,这是信息技术发展的必然趋势。
1)视图层是系统用户统一的接入接口。
该层作为用户统一的接入接口,是唯一用户可以看到的层,负责与用户的交互工作,展示用户接口,并用业务层类和对象驱动这些接口,它的主要功能是显示数据和接收用户的输入数据,提供统一的身份认证、会员管理、综合信息发布等功能,以此将各应用系统在用户界面形成一个整体。
2)控制层提供系统间业务服务集成。
该层支持多种方式的系统间消息、服务交互,包括实时交互方式、文件及消息交互方式,使跨系统的业务过程形成一个整体。
该层包括系统中核心的和逻辑规划、运作方法、管理模式等。
通过模块化的设计,实现系统的高可用性。
此层采用松方式,可以减少各业务逻辑间技术及实现上的依赖,为实现业务逻辑与表示逻辑的分离,灵活的适应用户业务逻辑的变化和系统的业务升级提供了可能。
3)模型层实现主数据的同步和管理。
该层负责数据库输入和维护,实时监视各应用的系统关键数据变化,迅速执行数据检索和更新。
模型层可以实现对象实体的持久化和数据存储并且保证数据一致性。
在设计上要注意表与表之间的联系,满足主数据表子数据表之间的关系。
在功能上对用户也要有一定的限制,慎重对待子数据表的删除操作,以免造成主数据表子数据表的数据在逻辑上的错误。
针对教务管理系统的特点、应用架构、性能、组网,分期建设及未来业务拓展需求,特别是集成要求和松耦合的设计原则,本系统整体集成架构在概念上分为接入层、应用层、服务器层三个层次。
依据上述思想,设计的系统架构图如图4-2所示:
图4-2教务管理系统架构图
在三层体系结构下,视图层用户是不能直接访问数据层的,只能通过控制数据库,完成业务处理。
这种结构优点如下:
1)开发人员可以只关注整个结构中某一层,容易用新的实现替换原有层次的实现。
业务逻辑放在控制层,只需在控制层进行,而视图层仅需处理信息输入和结果显示,系统之间通过规范的SOA服务机制,可以使系统具有良好的扩展性和可维护性。
2)降低层与层之间依赖,增加系统网络安全性。
业务人员只能通过系统来对数据信息进行检索和查询,不能直接访问后台数据库服务,避免系统发生故障时对数据库破坏,提高了数据安全性,保证系统安全
3)有利于标准化各层逻辑的复用。
由于每一层对应不同应用,有利于进行软件的工程化管理。
分层次技术架构各个层次之间定义严格接口机制,降低了层次之间耦合度。
系统网络架构
本系统中网络的接入环境是Internet先接入防火墙、上网行为管理、三层核心交换机,从核心交换机再接入到校园内的各部门接入交换机上。
出口使用防火墙来保护整个内网的安全。
通过上网行为管理,以此对P2P下载、在线电影等非工作需要的数据流进行封堵或限速,进行IP和MAC地址绑定、非法网站屏蔽、用户上网日志、定期统计日志报表等措施保证校园网络安全。
网络接入的网络拓扑结构如图4-3:
图4-3教务管理系统网络架构图
教务管理系统网络拓扑结构如图4-4所示。
校内的用户通过校园网进行系统访问,系统软件安装在WEB服务器上;通过三层核心交换机,实现与学生宿舍、图书馆、公共机房、各学院及行政部门网络连通;数据库服务器通过防火墙来与WEB服务器相连,对数据访问通过内部网络,避免外部网络环境攻击,保证数据信息安全性。
用户通过浏览器输入所要查询的信息,浏览器通过HTTP/HTTPS/WAP向Web服务器提出服务请求,Web服务器激活中间件,由中间件向数据库服务器发出查询请求,通过身份验证后,将查询到的结果转化为超文本标记语言HTML,并提交给服务器,接着由Web服务器返回给浏览器,最终呈现给用户。
图4-4教务管理系统网络架构图
采用上述的网络架构设计,能充分利用校园的网络资源,保证校园网络用户使用的前提下,可以减少网络设备及网络专线投资,同时有利于系统良好的开放性和安全性,将数据库服务器置于校园网内部,并且在校园网络前增加防火墙保护,提高系统数据安全性。
4.2功能模块分析
通常高校教务管理工作都使用二级管理模式,也就是校级教务处—院教务员。
其中,第一级的校教务处主要负责数据的维护以及整体数据分析统计工作;而第二级的院教务员主要负责数据录入、查询等工作,并做出局部数据统计分析。
据此,本系统在功能模块上做出了这样设计:
系统管理模块、学生学籍管理模块、学生成绩管理模块、教学计划管理模块、信息发布、信息查询模块、学生选课模块等。
这些子系统在功能上各有不同,具体为:
系统管理模块:
针对系统用户做出不同的管理权限设置;选课模块:
为选课操作提供支持,包括系统登录、页面显示、选课操作及修改等;教学计划管理模块:
作为一个核心功能模块,需要能和其他各个模块做出横向关联。
具体功能是针对教学计划、教授课程、教师、专业院系等方面的数据做出管理;信息发布模块:
用来发布相关的公共信息;成绩查询模块:
提供成绩查询的功能。
具体可见图4-5所示。
图4-5教务系统功能模块图
4.3系统业务流程分析
4.3.1用户登录流程分析
用户选择登录身份,学生,教师,系统管理员和访客等,不同身份,权限不同,其中访客可以不用登录便可进行浏览。
用户登录模块如图4-6所示,其中部门用户拥有最高的管理权限。
图4-6用户登录流程分析
4.3.2部门管理流程分析
部门管理子系统相对于系统的后台管理,部门身份包括学校教务处与各个院部,其中学校教务处具有最高管理功能,可以管理学校的一切教学事务。
部门管理子系统主要包括8个模块,其框架模块如图4-7所示。
图4-7部门管理子系统框架
1.公告管理
此功能模块包括公告发布、公告修改和删除功能。
教务处和各学院教学管理人员办都可以发布公告,公告已发布者身份署名。
在公告删除修改方面,教务处可以删除修改所有已发布法公告,但各个学院只能删除和修改自己发布的公告。
2.学生管理
教育法规定学生学籍要系统化、科学化规范化管理,因此学籍管理极为重要。
它主要对学生学科、学习成绩进行统计、对学生留级、休学、毕业等异常情况进行处理,以此得到学校和各级部门所需要各类统计图表、离校生、毕业生等信息查询的处理。
学生学籍管理主要是学生档案管理、毕业生档案管理、学生异动情况的处理、统计报表等信息管理。
用户还可根据此功能模块包括学生信息的录入、查询、学生密码管理、该生培养计划等管理,在培养计划功能中设置每位学生学期开设课程计划查询和管理功能。
这些信息和以学生身份登陆每位用户的详细信息相关联,在后台数据库中都有基本链接关系。
3.教师管理
对教师相关信息进行管理,是学校教务管理工作的主要部分。
为了充分反应学校的师资力量和教工的整体情况,可快速、准确地查阅、统计和分析教职工的有关资料,教师信息管理主要根据教务方面的相关要求对教师的业务档案和相关方面的教学信息进行有效管理。
此功能模块包括教师基本信息查询、密码修改和添加新教师用户等功能。
4.学院管理
包括院系信息查询、密码修改和新院系添加等功能。
5.专业管理
此功能模块包括专业信息查询、添加功能,查询时可根据所属院系进行条件查询。
新专业添加时,专业ID要求与所属院系ID具有一致性,从而确保数据直接连接。
6.班级管理
此功能模块包括班级信息查询、添加功能,查询时可根据“所属专业”进行条件查询。
由于院系、专业和班级的ID都具有一致性,故在添加的时候级别由高到底,即只有添加了院系以后才可以添加专业。
同理,班级添加也是在专业添加之后才进行。
删除时,级别相反,由低到高的进行。
7.课程管理
此功能模块包括课程的查询、添加和选课设置等功能。
8.系统管理
包括修改用户口令、删除修改用户信息、注销退出系统等具体信息功能。
4.3.3教师管理流程分析
在用户以教师身份登陆系统后,系统主要包含了五个主要功能模块,如图4-8所示
图4-8教师子系统框架
1.成绩管理
此模块主要提供授课列表查询和学生课程成绩录入功能。
2.授课查询
此模块主要提供学生选课查询和授课课表查询功能。
此功能模块中教师可以查询到自己的学期授课表的时间安排,以及自己所开设课程的学生选课情况、选课学生人数等相关信息。
3.信息维护
此模块主要提供教师个人信息的查询和密码修改功能。
4.系统维护
此功能模块与部门身份中的系统管理模块类似,包括注销登录和关闭系统两个功能。
4.3.4学生管理流程分析
在用户以学生身份登陆系统后,系统主要包含了五个主要功能模块,如图4-9所示。
图4-9学生子系统框架
1.网上报名
此模块主要提供学生网上报名功能,包括英语四、六级报名和其他等级考试报名等。
2.信息查询
此模块主要提供学生信息查询功能,包括个人信息查询、课表查询、成绩查询培养计划查询等。
3.网上选课
此模块主要提供学生网上选课功能,包括网上课程选课、实验课程选课和重修报名选课等。
4.系统维护
此模块主要提供学生用户系统维护功能,包括关闭系统、注销系统和密码修改等。
其次,访客用户登录系统后,可以及时浏览学校的教务公告,以及了解学校规章制度等。
4.4数据库设计
信息的提供、查询、保存和更新时用户的具体需求,同样的,数据库设计时就必须能充分满足其相应信息的输入和输出。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
4.4.1概念结构设计
由于教务管理系统中部门管理子系统、教师管理子系统以及学生管理子系统所涉及到的角色主要是教务管理人员、教师和学生,所以根据前面对系统做的需求分析、模块设计,就可以做出能够满足用户需求的各种实体以及它们之间的关系。
本系统主要实体包括部门院系、教师、学生、专业、班级、课程、课程计划、选课表、成绩等,其关键E-R图,如图4-10。
图4-10系统关键E-R图
排课管理是教务管理重要功能之一,主要表示了课程与班级之间的关系,其E-R图如图4-11所示。
图4-11排课管理E-R图
学籍管理E-R图,主要表示了对学生学籍的管理,包括学生的学籍异动,学生在校期间的奖罚等相关的关系,其E-R图如图4-12所示。
图4-12学籍管理E-R图
教学计划管理是教务管理重要功能之一,主要表示了院系与专业教学计划之间的关系,其E-R图如图4-13所示。
图4-13教学计划管理E-R图
4.4.2逻辑结构设计
从实体关系图分析基础上可以建立起数据库表和字段。
教务管理系统数据库的表数量较多,主要包括:
部门信息、教师信息、学生信息、专业信息、班级信息、课程信息、课程设置、选课、成绩、教师信息、职称、政治面貌、籍贯、民族和学历等等。
具有代表性的表单包括:
部门信息表、教师信息表、学生信息表、专业信息表、班级信息表、课程信息表、课程计划表、选课表、学生成绩表、教师信息表,具体的表结构设计如表4-1至表4-10所示,显示各个表单中的数据类型大小以及简短描述。
1.部门信息表,存储各个学院和教务处等部门的信息。
表4-1部门信息表
2.教师信息表,存储所有教师的信息,这样做的目的是可以方便对教师统一管理。
表4-2教师信息表
3.学生信息表,存储所有学生的信息,方便对学生进行集中管理。
4-3学生信息表
4.专业信息表,存储所有学生的信息。
表4-4专业信息表
5.班级信息表,存储所有班级的信息。
表4-5班级信息表
6.课程信息表,存储所有课程的信息。
表4-6课程信息表
7.课程计划表,存储所有课程计划的信息。
表4-7课程计划表
8.选课表,存储所有选课的信息。
表4-8选课表
9.学生成绩表,存储学生成绩的信息。
表4-9成绩表
10.教室信息表,存储所有教室信息。
表4-10教室信息表
4.4.3安全结构设计
数据库系统是教务管理系统核心部份,数据库系统管理存储数据是各个部门的宝贵信息资源,其安全性是信息安全的重中之重。
因此数据库的安全性设计,可以有效保护数据库,防止不合法访问和破坏。
数据库安全设计必须保护数据库防止受到非法用户的越权使用、窃取更改破坏数据。
故为了保证数据库安全,必须进行安全性控制。
其安全性目标如下:
1.保证数据独的立性问题,降低程序对数据及数据结构依赖。
2.简化应用程序对数据访问,应用程序得以在更为逻辑层次上访问数据。
3.解决数据有效性问题,保证数据逻辑一致性。
4.提供数据共享,集中统一管理数据。
5.防止用户对数据库的非法使用,以避免数据的泄露、篡改或破坏。
6.系统失效后数据库恢复,使数据库不丢失数据。
7.保证数据安全性,保证数据所有者的利益。
数据库的安全性设计主要包括以下几个方面:
1.存取管理安全性设计
存取管理安全设计包括用户认证和访问控制。
用户认证主要包括身份验证和身份识别。
通过身份验证,阻止未授权用户的访问;用户身份识别,可以防止用户的越权访问。
系统采用口令密码的方式进行身份验证,而用户身份识别则以数据库的授权为基础。
只有经过数据库授权的用户才是合法的用户。
数据库授权技术包括授权用户表、系统的读出\写入规则、自动查询修改技术。
访问控制是从计算机系统处理功能方面对数据提供保护,是数据库系统内部对已经进入系统用户的访问控制,是安全数据的屏障。
DBMS中对数据库的访问控制建立在操作系统和网络安全机制基础之上。
只有被识别被授权的用户才有对数据库中的数据进行输入、删除、修改和查询等权限。
通常采用功能模块授权和访问控制两种方法进行控制。
2.数据库加密安心性设计
为了防止对数据的未授权访问,对数据库中存储的重要数据进行加密处理,以实现数据存储的安全保护。
数据库加密以后,不需要了解数据内容的系统管理员不能见到明文,大大提高了关键数据的安全性。
3.建立安全的审计机制
审计就是对指定用户在数据库中的操作进行监控和记录的一种数据库功能。
为了保证数据库系统安全审计功能,还需要考虑到系统是否能够对安全侵害事件做出自动响应和提供审计自动报警功能。
当系统检测到危害系统安全的事件发生并达到预定值时,要给出报警信息,同时自动断开用户的连接,终止服务器端相应线程,并阻止该用户再次登录。
4.建立视图机制
为不同用户定不同视图,通过视图机制把需要保密的数据对无权用户隐藏起来,从而对数据提供安全保护。
视图机制最主要功能是保证应用程序数据独立性。
在实际的数据库应用系统中,通常是视图机制和授权机制配合使用,首先用视图机制屏蔽掉保密数据,然后在视图上面进一步定义其存取权限。
4.5本章小结
本章深入介绍教务管理系统的系统设计。
首先介绍系统设计的目标和原则,在此基础上进行系统总体框架和模块功能设计,明确了系统主要子系统组成,并完成对教学管理系统的数据库设计,最后针对系统的安全问题进行了安全性设计,为系统的开发理清思路,为系统的实现奠定坚实基础。