山大软件需求分析作业.docx
- 文档编号:2871232
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:23
- 大小:332.81KB
山大软件需求分析作业.docx
《山大软件需求分析作业.docx》由会员分享,可在线阅读,更多相关《山大软件需求分析作业.docx(23页珍藏版)》请在冰点文库上搜索。
山大软件需求分析作业
第一章教务管理系统整体设计
学校教务管理系统是针对学校大量的教学工作而开发的管理软件。
它以计算机为主要手段,以日常教学有关的数据为主要管理对象,满足学校各教学职能部门日常教学工作需要并为领导提供基本教学信息。
实现教务管理工作的自动化、规范化和系统化。
利用教务管理信息系统,办公人员可以减轻劳动强度,提高工作效率,提高日常数学工作的科学化水平,为教学管理工作的决策提供可靠的依据。
1.1系统功能总体设计
1.学生各科成绩放在教务处服务器上,包括基础课和专业课。
2.系统开始时,为保证数据安全,要求输入口令及登录人员用户名,防止非法侵权访问数据。
3.学籍等信息的管理由学工人员负责,主要包括学生基本信息管理、新生注册管理、在校生注册管理、学籍的变动、毕业管理和报表打印管理等。
4.课程及成绩的管理由教工人员负责,主要包括成绩录入、成绩修改、成绩查询、成绩统计、成绩分析等。
总成绩的打印,由报表窗口综合各科成绩构成的报表视图来完成。
5.学位的管理课程及成绩的管理由教工人员负责,主要包括学位分类、学位申请要求、学位申请完成进度等。
1.2教务管理业务流程
1.学籍管理
学籍管理业务流程包括新生入学名单审核、建立学籍、学籍变动和统计分析等业务过程,这个业务流程包括了较多的处理业务,既有新生入学登记业务,也有在院期间学生学籍管理业务,还有统计报表业务。
学生信息管理业务流程图如图1所示,业务流程描述为:
学校招生办拿到新生名单,并对新生名单进行审核,审核后对新生进行编班并形成新生名册。
学生对自己基本情况进行审核,形成学生基本情况表,由学生基本情况表建立学生学籍,并对学籍的变动情况进行统计。
图1
2.课程管理
课程是教师教学的依据,是连接教师和学生的载体,课程是帮助学生成才的重要依据,学校课程的制定应该充分考虑社会对人才的需求。
课程管理主要是对课程基本信息的添加、修改和删除。
3.成绩管理
成绩管理由教师根据期末考试成绩表提交成绩,教务处根据成绩表进行统计分析,成绩管理业务流程图如图2所示,业务流程描述为:
教师对学生考试成绩进行登记,形成学生成绩库,学校有关领导可以对学生成绩进行统计分析,并形成报表。
图2
1.3系统体系结构分析
教务管理信息系统体系结构的好坏,不仅影响着系统的运行效率、安全性、可维护性,更影响系统使用的方便性及可靠性。
近年来,随着计算机技术与网络技术突飞猛进的发展,在系统设计过程中,系统体系结构的选择也是系统设计人员遇到的主要问题之一。
当今投入使用的计算机网络模式主要有四种:
主机终端模式、文件服务器模式、客户机服务器模式(Client/Server,简称C/S)和Web浏览器服务器模式(Browser/Server,简称B/S)。
主机终端模式由于硬件选择有限,硬件投资得不到保证,己被逐步淘汰了。
而文件服务器模式只适用小规模的局域网,对用户多、数据量大的情况就会产生网络瓶颈,尤其是在互联网上不能满足用户需求。
因此,针对教务管理系统内容复杂、项目繁多、管理面广等特点,系统平台模式主要考虑C/S模式和B/S模式,而究竟选择哪种模式,常常难于取舍。
下面结合系统的功能具体分析采用C/S模式和B/S模式的优缺点。
1.3.1C/S模式
C/S模式是基于局域网的客户机/服务器结构,它主要由客户端应用程序(Client)和服务器端管理程序(Server)组成。
在MIS系统中,用户与数据的交互主要通过客户应用程序来完成,数据库及其它系统资源主要由服务器程序来完成,通过将任务在客户端和服务器端进行合理分配,可以充分利用两端硬件环境优势,降低系统的通讯开销,增强数据的操纵能力和事务的处理能力。
在这种模式下,用户是请求的发起者,服务器是请求的处理者和应答者,一台客户机还可以向不同的服务器请求服务。
服务器和客户机都是利用网络来发送请求和应答,客户机将数据存取的请求通过网络发送到服务器,服务器在接收到请求后,利用个人计算机的资源进行数据处理。
C/S结构将功能很强的数据库管理系统(OBMS)、桌面工具和应用信息资源分布在服务器和所有工作站上。
基本思想是“一分为二”,前端Client运行应用程序,如人机I/O,逻辑处理和屏幕显示等,后端Server运行全部或部分数据库管理系统;并进行文件管理和通信管理,为前端客户提供后端的数据库服务、文件服务及通信服务。
C/S结构的直接优点:
1.由于系统的整个处理工作被分配在前、后端两个子系统上,网络上的信息流通量将大大减少。
2.由于服务器,特别是专用服务器的性能大多优于客户端的工作站,因此放在服务器上运行的共享数据库管理系统可以充分发挥其效能,并使所有工作站受益。
3.由于应用部分大多放在PC工作站上执行,当需要对每个客户系统升级时不会引起很大的开销,换言之,功能强大的后台数据库使得无能力运行复杂DBMS的较过时的PC机延长了使用寿命。
4.客户端和服务器分开的另一个好处是工作站的独立性,用户不必局限于一种类型的操作系统和平台,在一个以SQLServer为基础的C/S系统中,其工作站可以是Macintosh,Unix工作站或它们的任意组合,也可运行若干种操作系统中的任意一种。
工作站独立性的必然结果是应用程序的独立性。
1.3.2B/S模式
B/S模式是建立在广域网基础上的浏览器/服务器结构,是随着Internet技术发展而兴起的一种新模式。
该模式以Web技术为基础,客户端通过Browser浏览器结合多种Script语言以及ActiveX技术与Web服务器进行信息交互。
Web服务器启用相应的进程来响应客户请求,并将处理结果返回给客户机的浏览器。
数据库服务器Server负责协调不同的Web服务器发出的SQL请求,对数据库进行相应的管理。
这种模式具有跨平台、跨地域的特点,用户操作界面简单,适合于多种群体的不同数据源的请求。
WEB服务器通过与后端数据库的动态连接和动态网页技术实现对后端数据库的操作和管理,并建立动态内部页面,最终实现用浏览器查询所有网络服务器上的信息。
其中浏览器构成系统的表示层,WEB服务器及应用服务器构成系统的应用层,而数据库服务器构成系统的数据层,因此也可以说B/S模式的信息系统由表示层、应用层和数据层组成。
这种体系的信息系统利用WEB服务器的信息服务能力和数据库服务器的数据管理能力,共同构造信息服务系统。
B/S结构的优点:
1.界面统一(全部为浏览器方式),操作相对简单。
2.由于B/S采用瘦客户端模式,使系统的开放性得到很大的改善,系统对将要访问系统的用户数的限制有所放松。
3.系统的相对集中使得系统的维护和扩展变得更加容易。
例如,数据库存储空间不够,可另外加一个数据库服务器;系统要增加功能,可以新增加一个应用服务器来运行新功能等。
4.由于web支持底层的TCP/IP协议,使web网与目前使用的几乎所有的局域网都可以做到无缝连接,从而彻底解决了异构系统之间的连接问题。
5.业务规则和数据捕获的程序容易分发。
1.3.3C/S模式与B/S模式比较
目前主要采用C/S和B/S两种模式开发管理信息系统的软件,这两种模式各有其优缺点:
1.网络环境不同
B/S和C/S模式都是基于远程服务器的,一个是用网页形式展现,一个使用客户端展示。
B/S系统对服务器要求比较高,因为所有计算几乎所有的运算都放在服务器端,而C/S模式却可以把多个运算都放在客户端,从而减少服务器端压力。
B/S模式在局域网或广域网环境下都能使用,面向不同的用户群,地域分散,C/S模式一般建立在专用和小范围的局域网网络环境,处理用户面固定。
2.开发成本不同
采用C/S模式开发的系统,初期开发费较低,周期也相对要短,但随着应用范围的扩大,投资需要不断增加;B/S模式软件一般只有开发初期的一次性投入,便于软件项目的控制,但开发费用相对较高,周期长,需要的投资比较大。
3.软件重用不同
B/S模式采用面向对象技术,系统集中管理配置,客户端都是标准的浏览器,大规模部署使用B/S应用不会引起系统管理难题,也不会增加系统管理的难度,B/S模式的重用性好。
C/S模式中应用逻辑的改变意味着客户机端代码的重写,并需要更新所有客户机程序。
因此大规模部署使用C/S应用会带来很多的系统管理难题,例如每当系统作一个小修改时,所有客户端都必须重新升级,增加了系统管理的难度,因此C/S模式的重用性较差。
4.运行性能不同
B/S模式支持更多的客户连接,根据访问量动态配置Web服务器、应用服务器以保证系统性能。
但是C/S模式在逻辑上比B/S模式少一层结构,因此C/S模式的网络通讯量要低于B/S模式,减轻网络负担,提高用户的工作效率。
C/S模式采用线程技术,每当有一连接请求就增加一个线程,当客户请求数量增多时将消耗大量的资源,还有可能导致系统崩溃,因此C/S模式适于用户数量不多的情况。
5.对安全要求不同
B/S模式是建立在广域网上,面对不可知的用户群,还用于发布部分可公开信息,因此对安全的控制能力相对较弱。
C/S模式一般面向相对固定的用户群,对信息、安全的控制能力很强。
因此安全度需要比较高的服务一般采用C/S模式。
通过以上的比较分析可以看出:
C/S模式适合用户少、数据处理量大、交互性强,数据查询灵活,且地点固定、计算机分布范围较小的基于局域网的系统,其缺点是使用范围有一定的局限性、需要客户安装专门的软件、系统维护比较麻烦;B/S模式适合于用户多,跨平台作业,数据处理量不大,计算机分布范围广的基于广域网的系统。
这种模式不需安装专门的前端应用程序,只需要各种平台的用户安装浏览器,就可以访问并在一定程序上处理有关信息,其操作更加简单,不需接受专门的培训。
1.3.4C/S模式与B/S模式相结合的教务管理系统
针对北京电子科技职业学院自动化工程学院的现状,单独采用C/S模式存在着一定的缺陷,第一,由于每一客户端都要安装应用程序,对人力资源要求较高,不便于系统的维护;第二,某些子系统,如学生选课子系统,在C/S模式下,如果学生同时选课人数多,终端请求的数量增加,服务器产生的进程增多,会造成服务器系统资源的枯竭或进程间的死锁,系统不稳定甚至崩溃;第三,这种模式在一定程度上限制了网上信息的发布。
通过以上分析可以看到,在职业学校教务管理系统中分别应用C/S模式或B/S模式都存在着一定的缺陷。
对于复杂处理,安全性能要求高、交互性强、使用人员少的部分采用了C/S模式,而在安全性和交互性不高、功能相对单一,使用的人多,只需要使用浏览器就可以方便地访问地范围内使用B/S模式,充分利用两种模式各自的优势,为不同的子系统选用不同的系统平台,构建一种将两种模式交叉并行使用的混合模式。
两种模式交叉并行使用的方案优越性表现在:
第一,能经济有效地利用校园网资源,简化部分客户端程序;第二,能保证复杂功能的交互性和一般功能的易用性,使系统的维护简便、布局合理、网络效率高;第三,能保证敏感数据的安全性。
第二章教务管理系统需求分析
2.1性能需求
性能需求是指相互消息传递顺利,界面友好,运行时间满足使用需要,安全性得到完全保证。
在高系统配置、很容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。
在开发系统的每个阶段,均需要考虑彼此间的认证与权限,尤其要注意认证,即确定谁是特定用户,并针对安全源验证该用户的身份。
在处理完识别用户的方法之后,必须使得有相应权限的用户,才能够使用系统的特定功能,简单地说,需要一种方法来决定特定用户进行什么样的操作。
2.1.1数据流图
学校每学期开始之前,老师都要进行课程设置管理,是否增开课程、取消课程和填写课程信息等,然后交由教务处进行审批。
教务处根据各位老师的申请,结合实际情况确定这学期开设的课程,并分派教学资源,如上课时间和教室等。
这些工作完成后,在开学时,对这学期所有开设的课程提供给学生,学生根据自己的兴趣和爱好进行选课。
等选课结束后,对选课结果进行统计,把选课名单提供给相应的任课老师,同时也要给出每位学生的选课表。
等课程结束后,任课老师根据教务处提供的选课名单对选课学生进行课程成绩的评定。
待成绩都录入后,同学应能查询自己所选各门课程的成绩。
针对上述情况,开发一个教务管理系统,以减轻老师和教务处工作人员的负担,同时也方便了同学对选课情况及成绩的查询。
本教务管理系统主要包括课程设置、教学安排、学生选课、课程管理、成绩查询等功能。
系统的数据流图如图2.1所示。
根据图2.1所示的数据流程图,可以得出如下教务管理系统中需要的数据项和数据结构。
课程:
课程号、课程名称、授课老师、学分、学时、上课时间、上课地点、
课程简介、课程状态。
选课结果:
记录号、选课人、所选课程。
成绩单:
记录号、学生、课程、成绩。
所需如下数据支持。
学生:
学号、姓名、班级。
教师:
员工号、姓名、所属院系。
1.教师身份验证模块的数据流图如图2.2所示
2.课程设置申请模块的数据流图如图2.3所示。
3.课程管理模块的数据流图如图2.4所示。
4.学生身份验证模块的数据流图与教师身份验证模块的数据流图相似,这里不再给出。
5.学生选课模块数据流图如图2.5所示。
6.成绩查询模块数据流图如图2.6所示。
7.教务管理人员身份验证模块的数据流图与教师身份验证模块相似,这里不再给出。
8.课程设置审批模块的数据流图如图2.7所示。
9.课程资源分配模块的数据流图如图2.8所示。
10.选课结果查询管理模块的数据流图如图2.9所示。
11.成绩统计模块数据流图如图2.10所示。
12.打印子系统的数据流图因打印什么数据而确定,这里不详细给出每一种打印结果的数据流图。
2.2教务管理系统的用例(USECASE)分析
统一建模语言UML由视图(View)、图(Diagram)、模型元素(ModelElement)和通用机制(GeneralMechanism)等几个部分组成。
通用机制用于表示其他信息,比如注释、模型元素的语义等。
另外,它还提供扩展机制,使UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。
1.定义UseCase
每一个UseCase都有一个活动者与系统交互执行的有关事例序列。
在教育信息管理系统的项层,可以确定4个UseCase:
“课程管理”、“成绩管理”、“学籍管理”、“学位管理”。
图3成绩管理
图4学籍信息管理
图5课程信息管理
图6学位管理
2.顺序图(SequenceDiagram)和协作图(CollaborationDiagram)
顺序图和协作图均表示一组对象之间的动态协作关系。
其中顺序图反映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。
顺序图和协作图是同构的,即两者之间可以相互转换。
协作图在UMLZ.O中改名为通信图(CommunicationDiagram)。
课程信息添加顺序图如图6所示。
图6课程信息添加顺序图
第三章系统详细设计
职业学校的教育与社会联系比较紧密,其办学定位、办学理念,教学改革以及课程建设等,都紧随社会处于持续的变化与调整过程之中,因此在专业设置上比较灵活,且教学模式多样,课程变动比较大。
比如同一课程由于开设专业不同、开设年级不同,其课时数、学分数及必修选修类别也不一样,因此教务管理信息系统所涉及的信息量很大,数据库的设计直接决定着管理系统的质量。
3.1数据库设计
分析学院情况,创建一个名为user的数据库,所有的数据项都以表的形式放在数据库中,部分表如下:
1.教学计划表:
记录各年级各专业教学计划内容。
2.教学大纲表:
存储各专业教学大纲的文件。
3.教学任务表:
记录各学期教学任务执行情况。
4.课程基本信息表:
记录全校开设的课程基本信息。
5.选课信息表:
记录全校学生各学期的选课信息。
6.专业信息表:
标识全校各专业名称、专业代码等内容。
7.学籍基本情况表:
各类学生的基本情况数据。
8.新生录取情况表:
录取的基本信息。
9.学籍变动表:
记录学生基本信息变动情况,如转专业、转学等。
10.教师基本信息表:
任课教师基本信息。
11.考试信息表:
记录考试基本信息,以便开展考务管理上作。
12.免考信息表:
记录学生免考信息,以便审批、记录免考成绩。
13.补考信息表:
记录补考学生信息、考试科目等相关信息内容。
14.考试成绩信息表:
记录学生考试成绩记录,区别各学期的成绩,记录学生己获学分、作出进一步选课或参加补考。
15.教学评估表:
记录各门课对教师评估结果。
16.班级信息表:
对专业班级进行管理,以便进行毕业审核等相关操作。
17.教室信息表:
记录教室基本信息,以便辅助信息化管理。
18.教材信息表:
记录各班级使用教材信息。
部分表的具体设计信息如下:
教师基本信息表(tbUser),包括的数据字段有:
职工编号、姓名、密码、出生日期、籍贯、家庭地址、联系电话、职务、职称、科系编号等。
其中职工编号是关键字段
班级信息表(ClassInfo),包括的数据字段有:
班级代码、学历层次、人数、
班主任、所属系代码、专业代码。
其中班级代码是关键字段。
课程信息表(LessonInfo),包括的数据字段有:
课程代码、课程名、类别、
课时、学分、教室和授课教师等。
其中课程号是关键字段。
学籍信息表(StudentInfo),包括的数据字段有:
学号、姓名、性别、出生日期、政治面貌、班级代码、父亲、母亲、地址、邮编、电话、邮箱和备注。
其中学号是关键字段示。
成绩信息表(CourseInfo),包括的数据字段有:
学生课程号、学号、姓名、班号、课程号、考试状态和成绩等。
其中学生课程号是关键字段。
3.2模块设计
由于在用户登录和用户管理的过程中,需要反复对数据库进行相同的操作,也需要反复访问用户的信息,因此为了便于日后维护代码,使系统具有良好的移植性,本系统创建并使用了一些通用模块,如:
数据编辑模块EditData、用户登录模块和用户管理模块DBuser,以及水晶报表模块frmViewer。
1.数据编辑模块EditData
数据编辑包括添加数据、删除数据、查询数据和更改数据,由于在用户信息管理、学生信息管理及成绩信息管理等中要多次反复用到数据编辑,因此把这四种操作封装在EditData类中。
通过Insert函数、Delete函数、Search函数及来Update函数实现数据的添加、删除、查询和更新。
其中添加数据的Insert函数代码如下所示。
SharedFunctionInsert(ByValConnStrAsString,ByValstrSQLAsString)As
Integer
'创建SqlConnection实例
DimconnAsSqlConnection=NewSqlConnection(ConnStr)
'创建SqlCommand实例
DimmyCommandAsSqlCommand=NewSqlCommand(strSQL,
conn)
'count表示受影响的行数,初始化为
DimcountAsInteger=0
Try
'连接数据库
conn.Open()
'执行SQL命令
count=myCommand.ExecuteNonQuery()
CatchexAsSqlException
MsgBox(ex.ToString())第四章系统设计与实现
CatchexAsException
MsgBox(ex.ToString())
Finally
conn.Close()
EndTry
Returncount
EndFunction
2.Dbuser通用模块类
在用户登录和用户管理的过程中,需要反复对数据库进行相同的操作,也需要反复访问用户的信息,为了便于日后维护代码,使系统具有良好的移至性,这里把对用户的操作封装在Dbuser通用模块类中。
Dbuser类调用通用模块EditData中的方法和数据库交互,负责用户登录与用户管理的相关操作,将相应的结果传递到用户界面。
设计Dbuser类的目的是要实现如下的一些功能:
用户登录认证
添加用户信息
修改用户信息
编辑用户信息
删除用户信息
DBuser类包括UserName、Password、UserNo等属性,包括AssUser、DelUser、EditUser、LoginConfirm等方法。
具体代码如下:
Private_UserNameAsString
Private_PasswordAsString
Private_UserNoAsString
Private_EMailAsString
Private_PhoneAsString
Private_PowerAsString
Private_AddressAsString
'声明用户名的属性
PropertyUserName()AsString
Get
Return_UserName
EndGet32
Set(ByValvalueAsString)
_UserName=value
EndSet
EndProperty
'声明密码的属性
PropertyPassword()AsString
Get
Return_Password
EndGet
Set(ByValvalueAsString)
_Password=value
EndSet
EndProperty
'声明用户编号的属性
PropertyUserNo()AsString
Get
Return_UserNo
EndGet
Set(ByValvalueAsString)
_UserNo=value
EndSet
EndProperty
'声明电子邮箱的属性
PropertyEMail()AsString
Get
Return_EMail
EndGet
Set(ByValvalueAsString)
_EMail=value
EndSet
EndProperty
'声明电话的属性
PropertyPhone()AsString
Get
Return_Phone
EndGet
Set(ByValvalueAsString)
_Phone=value
EndSet
EndProperty
'声明权限的属性
PropertyPower()AsString
Get
Return_Power
EndGet
Set(ByValvalueAsString)
_Power=value
EndSet
EndProperty
'声明地址的属性
PropertyAddress()AsString
Get
Return_Address
EndGet
Set(ByValvalueAsString)
_Address=value
EndSet
EndProperty
其中,LoginConfirm方法用于对用户输入的用户名和密码信息进行认证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 作业