教师住房管理信息系统设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教师住房管理信息系统设计说明书
第一部份软件工程
1968年,北大西洋公约组织的学术会议第一次创造了“软件工程”一词,提出“软件工程”概念。通过工程化的方法来开发软件,解决软件危机。三十年余年来,尽管软件的差错就象汽车一样时有抛锚的时候,但软件的发展速度远远超过了任何传统工业,而期间并未出现真真的软件危机。这在很大程度上归功于“软件工程”。如今软件工程成了一门学科。
软件工程简单的讲,主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规都是朴实无华的,平凡之人皆可领会,而关键在于运用。软件工程方法是应该事先掌握,在整个软件设计过程中都必须遵照执行的,而不能把它看成是事后解决问题的锦囊妙计,对预料将要出现的问题,必须控制每个实践环节,防患于未然。研究软件工程将随着软件工程的开始,直到软件被废弃研究工作才结束。
软件工程中最基本的概念是软件生命周期。一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。软件生命周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程统。通常,将软件生命周期分为五个阶段:需求分析、系统设计、编码实现、系统测试和运行维护。
需求分析和系统设计是软件开发过程中最核心的活动。典型的针对需求分析和系统设计的软件开发方法有:结构化分析方法、面向数据结构的方法和面向对象方法。
结构化分析方法(structured analysis,简称SA)是一种面向数据流进行需求分析的方法,适合于数据处理类型软件的需求分析。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。下面的需求分柝和系统设计就是以结构化分析方法为前提的。
面向数据结构的方法是结构化方法的变形,它注重数据结构而不是数据流,是从数据结构方面分析,即分析信息结构,并用数据结构图来表示,在此基础上进行需求分析,导出软件的结构。其特征是:信息结构是层次式;数据结构的表达要求用顺序、选择、重复等合成构造;具有将层次式数据结构映射到程序结构的映射机制。
一、需求分析
一目录概述背景:
系统目标完成的任务、不完成的任务、业务模式、业务状况、用户需求、业务需求、使用围、功能要求、权限管理性能、需求业务流程与其他系统的关系业务、流程图业务、逻辑业务分解。
业务描述数据分析、数据单据数据、分类数据描述附件概述。
1.1 背景:该教师住房管理信息系统是按课题要求所完成的。
面向的用户: 全校住学校宿舍的教师
因此该系统的最终用户是全校的住学校宿舍的教师,同时还有对于住房分配的相关管理者。他们的权限各有不同。要求使用本系统的用户对计算机能够熟练的使用,知道基本的操作。
1.2系统目标
1.2.1 系统应完成的目标
通过计算机完成教师住房管理:用计算机高速、快捷的完成从大量的户主中提取相关信息,以反映住房情况;计算机联网后,数据在网上传递,可以实现数据共享、避免重复劳动,规住房分配管理行为、从而提高了分配效率和水平;住房管理信息系统以计算机为工具,通过对住房管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事住房管理政策的研究实施,分配计划的制定执行和分配质量的监督检查,从而全面提高分配的合理性。
1.2.2系统不完成的任务:
1系统不统计对于户主住房地址等信息的管理。
2系统同时对输入仅提供简单的输入格式是否合格检查,不提供对输入的核对检查,要确定输入是否正确,还需工作人员自己手工完成。
1.3业务模式(略)
1.4现行组织机构及业务状况
用户目前完成这些工作是通过传统的手工操作方式,易发生数据丢失、统计错误、劳动强度高、且速度慢,通过计算机工具和本系统来提高速度、改善现状。
2.1业务需求
2.1.1使用围
高校教师住房情况以及可分配的房源,随时可以查询,输出。
2.1.2功能要求
户主档案管理:户主的一般情况(每个已注册户主的、性别、职称等)
2.2 性能需求
1.网络环境下的多用户系统在上述已有的硬件环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询、调用,达到信息共享,数据的完整性、准确性。录入数据采用表格方式,限制录入数据类型及取值围以保证数据的完整性及准确性。
2.系统具有部分反悔修改功能,系统备有的修改功能均可反悔。
3.数据完成的时间性,如房源的分配,只有在户主相关申请后才可以进行分配。
4.数据安全性本系统采用二级安全保障:
第一级:依赖于网络本身对用户使用权限的规定。
第二级:在程序模块过使用密码控制功能对用户使用权限加以限制。如前面的数据收集前的系统权限表。
二、概念结构图
二、系统设计
系统设计是把需求转化为软件系统的最重要的环节:系统设计的优劣在根本上决定了软件系统的质量.o:系统设计主要着力于系统“如何做”,它包含如下四方面容:体系结构设计、模块设计、数据结构与算法设计、用户界面设计。在系统设计时,通常分为概要设计和详细设计两个阶段。详细设计产生程序员可用的模块说明,即数据结构说明及加工描述。
1.概要设计
概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。概在概要设计过程中,复审系统计划与需求分析,确定系统具体的实施方案,构建软件的体系结构。概要设计还要确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。要确定各模块间的联系,确定数据结构、文件结构、数据库模式,以及确定测试方法与策略。
·体系结构设计
体系结构是软件系统中最本质的东西,它是对复杂事物的一种抽象。良好的体系结构是普遍适用的,它可以高效地处理多种多样的个体需求。体系结构设计时应在一定的时间保持稳定。’
软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。.体系结构(Architcture)_词在英文里就是“建筑”的意思。我们把Dewayne Perry和Alex Wolf的定义作为参考:软件体系结构是具有一定形式的结构化元素,耳p构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来:这,定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
体系结构有许多种,包括常用的层次结构。
层次结构是把比较复杂的事情,进行分层,然后—层一层地去完成。在实现时,高层的工作总是建立在低层的工作之上。层次关系主要有两种:上下层关系和顺序相邻关系。
上下层关系非常常见,如学校的组织结构,最高层是学校,下面院系,院系下面是学系。在权限上学校的权限高于院系,学校可以指挥院系,而反过来不行。
对于顺序相邻关系,,我们可以把计算机网络的OSI参考模型来理解, OSI有七个层次,在通讯时,只能在相邻两层之间发生,信息只能被一层一层地顺序传递下去。发送方和接收方传递的方向刚好相反。
体系结构设计要求:通过分层,把每个功能逐步独立起来,并且保证每个功能都有相应的模块来实现;要确定模块间的调用关系,对模块间接口做总体描述,明确模块间信息的传递。
◆模块设计
在设计好软件的体系结构后,宏观上就明确了各个模块应具有的功能,在哪一个层次上,与其他功能模块的关系。我们习惯从功能上划分模块,保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能独立”并不意味着模块之间保持绝对的孤立。一个系统要完成某项任务,需要各个模块相互配合才能实现,此时模块之间就要进行信息交流。模块设计主要说明每个模块“做什么”、简要说明数据输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口等联系。
评价模块设计优劣的三个特征因素:“信息隐藏”、“聚与耦合”和“封闭、开放性”。
信息隐藏:是尽量避免某个模块的行为去干扰同一系统中的其它模块,在我们学习面向对象程序设计,类的封装性就是为了实现信息隐藏。
聚与耦合:聚(Cohesion)是一个模块部各成分之间相关联程度的度量。耦合(C0upling)是模块之间依赖程度的度量。聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱聚,而强聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强聚,弱耦合。
封闭、开放性:如果一个模块可以作为一个独立体被其它程序引用,则称模块具有封闭性。如果一个模块可以被扩充,则称模块具有开放性。
模块的“封闭、开放性”实际上对应于软件质量因素中的可复用性和可扩充性。采用面向过程的方法进行程序设计,很难开发出既具有封闭性又具有开放性的模块。采用面向对象设计方法可以较好地解决这个问题。 2.详细设计
详细设计的目的是为软件中的每一个模块确定使用的算法和块数据结构,并用某种选定的表达工具给出清晰的描述。主要任务:
·为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;.·确定每一模块使用的数据结构;
·确定模块接口的细节,包括对系统外部的接口和用户界面,对系统部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。