软件架构课程实验报告.docx
《软件架构课程实验报告.docx》由会员分享,可在线阅读,更多相关《软件架构课程实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
![软件架构课程实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/21/41386e45-0ec0-43ab-b871-0ea56f1e7b3e/41386e45-0ec0-43ab-b871-0ea56f1e7b3e1.gif)
软件架构课程实验报告
软件架构设计文档
班级:
姓名:
学号:
事业单位人事管理系统
版本:
V1.0
软件架构设计文档
日期:
历史修改记录
日期
版本
说明
作者
V1.0
完善功能模块说明
一,概述
1.1目的
本文档是对于人事单位干部管理系统进行详细设计和编码的重要依据。
对该软件的整个系统的结构关系进行了详细描述,阐述了系统的总体框架,包括物理,运行,数据结构,说明了体系结构所采取的设计策略和所有技术,并对相关内容作了统一的规定。
为今后的设计,编码,测试都提供了可以参考的模板并且提高效率,使整个开发过程做到资源利用最大化,减少由于需求变更而修改的时间,大大的降低了成本,节约了时间,也使得用户更加满意。
1.2对象与范围
本文档的主要读者包括:
1、本系统的设计人员:
包括模块设计人员(理解用户需求,在设计时把握用户需求)。
2、本系统的系统开发人员:
编码人员(了解用户需求,为编码提供模板)
3、本系统的测试人员(了解用户需求,为测试提供参考)
4、客户(检查是否满足需求)
本文档包含以下几个部分:
1、软件的架构设计
2、软件各模块描述
3、软件各结构分析
1.3名词与术语
数据库表单
储存用户数据对应的数据表
代码表
储存对应码值对应数据的数据库表
管理员
系统管理员
用户组
同类用户的分组
信息集
用户数据同类数据的集合
信息项
具体用户数据的项
二,总体结构的分析与设计
2.1设计目标与原则
为了降低系统耦合度,增加系统内聚性,在需求发生变更的时候能够在较短的时间内对系统做出修改,并重新投入使用,我们决定以分块式体系架构风格作为整个系统的体系风格,并严格按照一定的规则来进行接口设计,并以之为根据进行详细设计。
系统模块分为三个模块:
权限管理模块,数据采集浏览模块,数据分析模块。
2.2设计策略
这里我们采取四个步骤来执行我们架构设计的过程,分别是以下四个策略。
第一条策略是让关键需求决定架构:
关键需求决定架构有两个方面的涵义:
一方面,功能需求与非功能需求数量众多,应该控制架构设计时需要详细分析的用例个数;另一方面,不同非功能需求之间往往具有相互制约性,应该权衡非功能需求之间的关系,找到影响架构的重点非功能需求。
关键需求决定架构的策略有利于集中精力深入分析最为重要的需求。
当架构工程师把全部精力扑在相对较少的关键需求上时,可以更为深入的分析这些需求,有利于得到透彻的认识,从而设计出合理的架构。
软件架构强调的是整体,而整体性的设计决策必须基于对需求的全面认识;软件架构应该是稳定的,而遗漏了重要的需求的架构设计最终会面临返工的结局。
因此软件架构设计的第二条策略是全面认识需求:
1、将所有需求从不同的级别(组织级、用户级、开发级)分层梳理列表归纳总结,建立跟踪矩阵,既避免因遗漏需求而造成软件系统达不到要求,也避免开发人员一厢情愿也为用户制造没有实际意义的无用功能,同时,有助于软件架构设计人员对软件系统要求有全面的认识,清晰理清需求之间、需求与软件系统目的目标与核心业务、商业理由间的因果关系。
2、将所有需求划分为不同的类型(功能需求或用例、质量属性、约束与限制)进行梳理列表归纳总结,建立影响分析表,找出不同需求类型之间的相互支持、相互制约关系的影响,并在深思熟虑之后作出合适的需求权衡和取舍。
软件架构的目的是沟通,但沟通的对象不同,对软件系统的关注点也就不同;同时人类研究事物也是从不同的角度立场、横看成岭侧成峰的观察、了解、认知的。
因此软件架构的第三条策略是多立场、多视角探寻架构:
一次只从某一立场、某一视角出发围绕少数概念和技术展开,并分析对其它部分、其它立场视角分析结果的关系与影响。
软件架构的第四条策略是,尽早验证架构:
架构设计是现代软件开发中最为关键的一环,架构设计是否合理将直接影响到软件系统最终是否成功。
毕竟软件架构中包含了关于如何构建软件系统的一些最重要的设计决策,而这些决策能否使最终开发出来的软件系统满足预期要求,都是悬而未决的重大风险,因此必须尽早验证架构。
架构验证不可能全盘进行,必须精挑细选能够触发主要设计决策参与执行的、或有较高技术风险的、或最影响用户满意度的一些功能。
三,总体功能的分析与设计
3.1功能分析
通过对用户的需求分析,我们分析得出如下五块大的功能类。
并将对各个功能类进行详细的介绍。
一,用户登录和验证
1、用户的登录和身份验证
2、不同用户具备不同的权限
二,用户管理和权限分配
1、管理员对用户和用户组的功能划分
2、不同用户组的用户权限和功能由管理员指定
3、管理员可以新建和编辑用户
三,数据采集和修改
1、具备数据采集权限的用户可以采集新数据到系统中
2、具备数据修改权限可以对数据进行修改
四,数据浏览
1、根据用户的权限级别可以看到不同类别的用户数据
2、能够根据数据进行详细信息的浏览和搜索
五,数据分析
1、能够对用户采集的数据进行分析并采集
3.2具体设计思路
根据用户的需求和对需求分析得出的功能分类,以及之前提及的设计思路,我们可以得到以下的设计思路。
一,分模块设计
1,、我们将对系统分成三个模块,分别是用户的登录,身份验证和管理模块,以及对用户的数据采集和显示模块,还有对用户的数据分析和显示模块
2、这三个模块首先是身份验证模块,通过了身份验证之后根据其身份为其展示不同的模块内容(有的角色可以看但是不能改,有的角色既可以看又可以改。
)
二,模块之间的权限制约
1、这套系统的关键之处在于,对于用户的功能限制,这里我们将具备同类权限的用户创建一张表单,他们具备同样的权限。
同时,将各功能建立对应的代码。
并且为各个角色赋予唯一标示码,通过查询唯一标识码对应的功能代码表,我们将获取各个角色所具备的功能,并且将他们所具备的权限显示在页面上。
2、同时,涉及到各个模块的数据传递,我们一般只传递用户的唯一标识符,作为数据分析的依据。
三,各模块之间的数据传递
同理,在各模块传递人员信息的时候,也是按照人员的唯一标识符来进行人员身份的识别。
四,软件模块说明
4.1账户登录以及权限模块
该模块主要分为三个部分。
分别为:
一,用户登录验证部分。
该部分的设计思路大体为:
1、基本登陆:
对于用户的登录名和密码保存在数据库指定的表单里,密码部分用MD5加密保存。
2、单点登录:
将登录成功的用户的状态值设定为已登录,使得当账号处于已登录状态的时候不会有同一个账号登录。
3、用户登录注销时,除了改变在线状态的标识值之外,还将在系统中留下登录记录。
二,用户账号管理部分
整个系统的管理员账号,可以对用户进行分类,将同类功能的账号分组,并且可以对账号进行增删改的相关操作。
三,用户账号权限管理部分
根据系统的管理员的设定,每个用户的分组具备不同的操作功能,不同分类的账号,在登陆后,可以执行的操作和对数据操作的权限都依照管理员对用户组的设定来进行分别。
4.2数据采集浏览显示模块
该模块按照功能来分配分为两个部分。
一、数据采集(编辑)
这一部分的主要功能如下:
1、新增人员:
将新的人员信息增加到一个指定的部门下。
2、人员信息编辑:
对已存在的人员进行信息编辑。
3、人员删除:
将不存在(或调出)的人员进行删除。
二、人员信息浏览
该部分的主要功能即为浏览指定部门下的人员,可以查看该人员录取的详细信息。
4.3数据分析模块
该模块的功能分为两块:
一、数据分析
这一块的功能是对指定部门下所有人员的基本信息(年龄性别党派学历等)进行汇总分析,得出相关图表等内容,方便大家对该部门有一个大概的认识。
二、数据查询
这一块的功能是可以通过指定的搜索内容,得出自己想要人员的信息。
比如学历为硕士研究生的人员等等
五,软件架构视图
5.1运行架构视图
系统的运行架构视图如图1所示。
图5-1
程序在运行的时候,依据登录的账号类型进行判断,并且根据不同的账号,显示不同的界面,提供不同的功能和权限。
5.2数据架构视图
系统的数据架构如图5-2所示。
图5-2
从账号登录开始,就一直在和数据库进行交互,除了人员信息的采集,是对数据库的单向写入之外,其余的相关操作都读数据库有读取和写入等等操作。
5.3逻辑架构视图
系统的逻辑架构视图如图5-3所示。
图5-3
系统的三个模块在结构上相互独立,但是在功能上是相互关联的,用户登录的类型决定了进入哪些模块,在管理模块中进行的权限操作也影响到用户模块中的功能构造和相关权限。
5.4接口结构视图
系统的数据接口和传输主要有两条唯一标识符来决定。
1,人员标识符:
设定人员信息的唯一识别,包括人员信息的增删改和分析查询部分。
2,账户标识符:
账户身份的唯一识别量,包括登陆,功能权限和数据权限等等。
六,总结
该文档在介绍系统功能和模块的同时,对系统的架构从上到下,从简到繁,多角度的描述的系统的架构,并描述了该架构对于系统功能实现的意义所在,微程序的编码,测试人员提供了详细的架构问说明,使得系统在今后的编码和测试过程中更加严谨有序。
有效地提高了工作的效率和保证了系统的质量。