已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 教师住房管理信息系统设计说明书 第一部份软件工程 1968 年,北大西洋公约组织的学术会议第一次创造了“软件工程”一词,提出“软件工程”概念。通过工程化的方法来开发软件,解决软件危机。三十年余年来,尽管软件的差错就象汽车一样时有抛锚的时候,但软件的发展速度远远超过了任何传统工业,而期间并未出现真真的软件危机。这在很大程度上归功于“软件工程”。如今软件工程成了一门学科。 软件工程简单的讲,主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴 实无华的,平凡之人皆可领会,而关键在于运用。软件工程方法是应该事先掌握,在整个软件设计过程中都必须遵照执行的,而不能把它看成是事后解决问题的锦囊妙计,对预料将要出现的问题,必须控制每个实践环节,防患于未然。研究软件工程将随着软件工程的开始,直到软件被废弃研究工作才结束。 软件工程中最基本的概念是软件生命周期。一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。软件生命周期 是指软件产品或软件系统从产生、投入使用到被淘汰的全过程统。通常,将软件生命周期分为五个阶段:需求分析、系统设计、编码实现、系统测试和运行维护。 需求分析和系统设计是软件开发过程中最核心的活动。典型的针对需求分析和系统设计的软件开发方法有:结构化分析方法、面向数据结构的方法和面向对象方法。 结构化分析方法 (称 一种面向数据流进行需求分析的方法,适合于数据处理类型软件的需求分析。结构化分析方法使用数据流图 数据字典 描述,面向数据流问题的 需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。下面的需求分柝和系统设计就是以结构化分析方法为前提的。 面向数据结构的方法是结构化方法的变形,它注重数据结构而不是数据流,是从数据结构方面分析,即分析信息结构,并用数据结构图来表示,在此基础上进行需求分析,导出软件的结构。其特征是:信息结构是层次式;数据结构的表达要求用顺序、选择、重复等合成构造;具有将层次式数据结构映射到程序结构的映射机制。 一、 需求分析 一目录概述背景: 系统目标完 成的任务、不完成的任务、业务模式、业务状况、用户需求、业务需求、使用范围、功能要求、权限管理性能、需求业务流程与其他系统的关系业务、流程图业务、逻辑业务分解。 业务描述数据分析、数据单据数据、分类数据描述附件概述。 景 :该教师住房管理信息系统是按课题要求所完成的。 面向的用户 : 全校住学校宿舍的教师 因此该系统的最终用户是全校的住学校宿舍的教师,同时还有对于住房分配的相关管理者。他们的权限各有不同。要求使用本系统的用户对计算机能够熟练的使用,知道基本的操作。 统目标 统应 完成的目标 通过计算机完成教师住房管理 :用计算机高速、快捷的完成从大量的户主中提取相关信息,以反映住房情况;计算机联网后,数据在网上传递,可以实现数据共享、避免重复劳动,规范住房分配管理行为、从而提高了分配效率和水平;住房管理信息系统以计算机为工具,通过对住房管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事住房管理政策的研究实施,分配计划的制定执行和分配质量的监督检查,从而全面提高分配的合理性。 统不完成的任务 : 1 系统不统计对于户主住房地址等信息的管理。 2 系 统同时对输入仅提供简单的输入格式是否合格检查,不提供对输入的核对检查,要确定输入是否正确,还需工作人员自己手工完成。 2 务模式 (略 ) 行组织机构及业务状况 用户目前完成这些工作是通过传统的手工操作方式,易发生数据丢失、统计错误、劳动强度高、且速度慢,通过计算机工具和本系统来提高速度、改善现状。 务需求 用范围 高校教师住房情况以及可分配的房源,随时可以查询 ,输出。 能要求 户主档案管理 :户主的一般情况(每个已注册户主的姓名、性别、职称等) 能需 求 息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询、调用,达到信息共享,数据的完整性、准确性。录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确性。 统备有的修改功能均可反悔。 如房源的分配,只有在户主相关申请后才可以进行分配。 第一级 :依赖于网络本身对用户使用权限的规定。 第二级 :在程序模块中通过使用密码控制功能对用 户使用权限加以限制。如前面的数据收集前的系统权限表。 二、 概念结构图 管理员身份验证 主控对话框 户主相关信息 房源相关信息 户主信息浏览 户主信息查询 房源信息处理 房源申请处理 家庭信息查询 户主身份验证 主控对话框 户主相关信息 房源相关信息 户主信息处理 户主信息查询 家庭信息处理 房源申请信息 3 二、系统设计 系统设计是把需求转化为软件系统的最重要的环节:系统设计的优劣在根本上决定了软件系统的质量 o:系统设计主要着力于系统“如何做”,它包含如下四方面内容:体系结构设计、模块设计、数据结构与算法设计、用户界面设计。在系统设计时,通常分为概要设计和详细设计两个阶段。详细设计产生程序员可用的模块说明,即数据结构说明及加工描述。 1概要设计 概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。概在概要设计过程中,复审系统计划与需求分析,确定系统具体的实施方案,构建软件的体系结构。概要设计还要确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。要确定各模块间的联系,确定数据结构、文件结构、数据库模式,以及确定测试方法与策略。 体系结构设计 体系结构是软件系统中最本质的东西,它是对复杂事物的一种抽象。良好的体系结构是普遍适用的,它可以高效地处理多种多样的个体需求。体系结构设计时 应在一定的时间内保持稳定。 软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。体系结构 (词在英文里就是“建筑”的意思。我们把 定义作为参考:软件体系结构是具有一定形式的结构化元素,耳 p 构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来:这,定义注重区分处理构件、数据构件和连接构件,这一方法在其他 的定义和方法中基本上得到保持。 体系结构有许多种,包括常用的层次结构。 层次结构是把比较复杂的事情,进行分层,然后 层一层地去完成。在实现时,高层的工作总是建立在低层的工作之上。层次关系主要有两种:上下层关系和顺序相邻关系。 上下层关系非常常见,如学校的组织结构,最高层是学校,下面院系,院系下面是学系。在权限上学校的权限高于院系,学校可以指挥院系,而反过来不行。 对于顺序相邻关系,我们可以把计算机网络的 考模型来理解, 七个层次,在通讯时,只能在相邻两层之间发 生,信息只能被一层一层地顺序传递下去。发送方和接收方传递的方向刚好相反。 体系结构设计要求:通过分层,把每个功能逐步独立起来,并且保证每个功能都有相应的模块来实现;要确定模块间的调用关系,对模块间接口做总体描述,明确模块间信息的传递。 模块设计 在设计好软件的体系结构后,宏观上就明确了各个模块应具有的功能,在哪一个层次上,与其他功能模块的关系。我们习惯从功能上划分模块,保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能独 立”并不意味着模块之间保持绝对的孤立。一个系统要完成某项任务,需要各个模块相互配合才能实现,此时模块之间就要进行信息交流。模块设计主要说明每个模块“做什么”、简要说明数据输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口等联系。 评价模块设计优劣的三个特征因素:“信息隐藏”、“内聚与耦合”和“封闭、开放性”。 信息隐藏:是尽量避免某个模块的行为去干扰同一系统中的其它模块,在我们学习面向对象程序设计,类的封装性就是为了实现信息隐藏。 内聚与耦合:内聚 (一 个模块内部各成分之间相关联程度的度量。耦合 (模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。 封闭、开放性:如果一个模块可以作为一个独立体被其它程序引用,则称模块具有封闭性。如果一个模块可以被扩充,则称模块具有开放性。 模块的“封闭、开放性”实际上对应于软件质量因素中的可复用性和可扩充性。采用面向过程的方法进行程序设计,很难开发出既具有封闭性又具有开放 性的模块。采用面向对象设计方法可以较好地解决这个问题。 2详细设计 详细设计的目的是为软件中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。主要任务: 为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述; 确定每一模块使用的数据结构; 确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。 4 为每一个模块设计出一组测试用例,以 便在编码阶段对模块代码 (即程序 )进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。 三、编码实现 编码实现是将设计结果转化为可执行的程序代码,这是程序员的主要任务。 要将设计结果转化为语言代码,首先必须正确理解需求分析中要求“做什么 ?”。要详细阅读概要设计书和详细设计书,明确自己需要完成的模块和其他 模块之间的联系 (接口规范 ),外部提供的数据元素和自己输出的数据元素等。 一个大的系统是由一个团队共同协作完成的,必须完全按照设计书的要求来完成相应模 块的程序编码。 一个好的程序编码,在完成模块功能的前提下,应该做到程序简单易懂、运行可靠、性能稳定和执行效率高等特点。 1在编码实现过程中还应该注意做到: 所使用的标识符应有一定的约定,尽可能采用有一定含义的名字,可以顾名思义; 在程序设计时,尽可能加上注解; 书写格式要规范,采用缩进等格式; 这样,可以便于阅读和理解程序,为今后维护提供便利条件。 2采用标准的控制结构 根据详细设计的流程,采用标准的和详细设计要求一致的分支和循环结构,不准随意的 用 句或多余无效的循环等。 3数据输入、输出要求 数据的在输入、输出过程中,要求做到: 人机操作界面要友好,操作方便,对于前后界面之间、相同类似操作界面间等风格要一致。如 同的对话框界面等。 从外部提供的数据 (输入数据 )要进行合法性或有效性检查,防止无效数据输入。如性别输入,只有男或女两者之一,在输入时应根据约定只能提供男女两种数据形式。 如果数据是根据约定输入 (是为了方便数据的输入 ),应该提示相关约定信息。如性别输入时 用 M 表示男,用 F 表示女,则在输入时,应该包含上面的约定信息。 输入的数据格式尽可能和日常的表示方式一致。如日期,我们通常的表 示是年月日格式。 数据输出时,尽可能输出易懂的信息,如果是符号,要提示符号的约定。如性别输出是应该输出男或女,如果输出的是符号,则需说明 M表示男, F表示女,便于别人理解。 程序要具有“傻瓜”功能,不会因为用户输入信息等环节偶然的错误,而导致程序非正常退出。 除此之外,还可以提供在线帮助等方式,来方便用户使用。 四、系统测试 系统测试就是通过测试 活动使软件系统达到需求时提出的各项要求,检测和排除错误。测试总是在假设程序中存在缺陷的前提下,再通过执行程序来发现并最终改正缺陷。 世界上没有完美无缺的程序,任何程序都或多或少的存在错误,系统测试的目的是尽可能多的去发现程序所存在的错误,提高程序的质量。 要尽可能多的发现程序中的错误不是一件轻而易举的事情。需要找到相关的测试的方法,而要找出系统中所有的错误,那只是一种设想。试想一下目前我们使用非常广泛的 作系统,还一直被程序的许多漏洞所困扰,微软一直在提供相关的补丁,使系统能稳 定的运行。 测试一个系统,一定要明确是寻找系统中的缺陷和错误,如果是去证明系统的正确性,那么测试的时候,就会按照系统的流程去测试,这样就不可能发现程序中的错误,这样的测试是毫无意义,也是没有必要的。 一个成功的测试示例在于发现了至今尚未发现的缺陷。 对一个系统的测试内容有: 功能性测试:测试软件功能是否满足设计要求,当给定合理的数据输入,系统能否得到预期的结果。功能性测试是系统成立的前提。 容错性测试:当给定的数据偏离合理数据范围时,系统能否正常运行而不至于系统瘫痪或不会得出 啼笑皆非的结果。 性能与效率测试:性能与效率测试主要是测试软件的运行速度和对资源的利用率。一个好的系统应该尽可能低的占用计算机资源,且运行效率高。 易用性测试:系统提供的使用方法是否方便。一个好的系统应该有好的应用界面,使用户操作方便、输入输出直观。 当对系统进行具体测试时,有多种测试手段: “白盒测试”是指开发人员从程序内部对上述内容进行测试。“白盒测试”针对程序内部逻辑结构,对 5 所有逻辑路径进行测试。测试时,从检查程序的逻辑着手,得出测试数据。 “黑盒测试” (又 称为功能测试或数据驱动测试 )是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 五、运行维护 运行维护是将系统投入运行,并对投入运行的软件进行修改调整,使软件系统能适应外界环境的变化、实现功能扩充和质量改善。 前面我们已经提到,系统不可能是完美无缺的。当系统投入使用后,系统中的缺陷就会不断暴露出来,系统投入使用的开始,也是系统不断维护的开始。系统维护的终结,也是系统“死亡”的时刻。 维护主要分三类: 纠错性维护: 由于前期的测试不可能揭露软件系统中所有替在的错误,用户在使用软件时仍将会遇到错误,诊断和改正这些错误的过程称为纠错性维护。 适应性维护。由于新的硬件设备不断推出,操作系统和编译系统也不断地升级,为了使软件能适应新的环境而引起的程序修改和扩充活动称为适应性维护。 完善性维护。在软件的正常使用过程中,用户还会不断提出新的需求。为了满足用户新的需求而增加软件功能的活动称为完善性维护。 参考资料: 1本章的部分内容引用了浙大林锐博士的 、 、 输出: 、 、 功能:建立查询总表 调用以下模块: 模块 模块名: 入: 、 输出: 功能:将 、 存入指定的 中。 模块 模块名: 入: 、 输出: 功能:将 中信息折算成分数,并按总分从高到低排成 。 10 模块 模块名: 入: 、 输出: 、 和 中的一项或几项的屏幕形象或纸面现象。 功能:将 、 和 中的一项或几项在屏幕或打印机上显示出来。 模块 模块名: 入: 、 输出: 功能:将 按总分从高到低排序。 调用以下模块:无 模块 模块名: 入: 输出: 的屏幕或纸面形象。 功能:将 在屏幕或纸面上显示。 调用以下模块:无 注释:该模块与数据流图中的加工 对应。 四 详细设计( 语言) 系统中所用的数据结构模块 i; 后续函数中所需的中间变量 日期类 年、月 ; 等级表类 00; 姓名 职称( 1教授 ;2副教授 ;3教师 ;4助教) 参加工作日期 最后学历( 1博士 ;2硕士 ;3本科 ;4其他) 原住房等级( 1集体宿舍; 2一室; 3一室一厅; 4二室; 5二室一厅; 6三室; 7三室一厅) 职称分、工龄分、年龄分、学龄分 总分 ; 家庭成员类 00; 成员姓名 ( 1 2 出生日期 ; 户主类 00; 户主姓名 户主性别( 1 2 户主职称( 1教授 ;2副教授 ;3教师 ;4助教 ;) 出生日期 参加工作日期 11 最后学历( 1博士 ;2硕士 ;3本科 ;4其他 ;) ; 教师住房信息类 户主 家庭人数 00; 家庭成员类家庭成员数组 现住房等级( 1集体宿舍; 2一室; 3一室一厅; 4二室; 5二室一 厅; 6三室; 7三室一厅;) 现住房面积(单位:平方米;) 分数 申请住房等级( 1集体宿舍; 2一室; 3一室一厅; 4二室; 5二室一厅; 6三室; 7三室一厅; ) 教师住房信息类指针 ; 户主信息输入模块 ; p1=p2=n=1; 分别输入户主个人信息及家庭成员信息并输出存储在文档中 ) if(n=1)p2=p1= n+; if(2) ; 再次输入户主个人信息及家庭成员信息并输出存储在文档中 申请住房信息输入模块 教师申请住房信息 ; a; p1= (=*a) 输入与申请住房相关的各类信息 12 2); if(0)1)s=s+20; 职称分计分系统 if(2)s=s+16; if(3)s=s+12; s=s+8; p,q; p=( 工龄分 q=( 年龄分 s=s+p+q; 学龄分 if(1)s=s+ if(2)s=s+s=s+2; s; p1= 类信息输出模块 申请一室住房名单(按顺序排名并存盘) 申请一室一厅住房名单(按顺序排名并存盘) 申请二室住房名单(按顺序排名并存盘) 申请二室一厅住房名单(按顺序排名并存盘) 申请三室住房名单(按顺序排名并存盘) 申请三室一厅住房名单(按顺序排名并存盘) 输出婚后仍分居集体宿舍者的户主姓名及出生年月,这类教师的总数。 输出未住上三室一厅或三室的副教授、教授姓名及现住房标准,这类教师的总数。 输出未住上一室一厅及以上等级的具有博士学位的教师姓名及住房标准。 输出全校教师人均 (包括家庭人口 )住房面积 。 5 编程(略) 第三部份成绩评定标准 第四部分用户说明书 本教师住房管理系统全部代码均由 C+编写而成,用于教师住房信息的创建、修改、删除、排序、查找以及查询相关教师住房信息。 使用本软件,只需运行其中的“教师住房管理系统 可。 13 本系统主要功能如下: 1 创建存储教师住 房信息。 2 分房时,为申请者输入申请信息 (存盘 )。 3 对于所有分房者按申请等级不同 (共 6 级 )分别按分数高低列表 (一种等级一张表 )输出 (同时存盘 )。 4 各类信息的查询 A输出婚后仍分居集体宿舍者的户主姓名及出生年月,这类教师的总数。 B输出未住上三室一厅或三室的副教授、教授姓名及现住房标准,这类教师的总数。 C输出未住上一室一厅及以上等级的具有博士学位的教师姓名及住房标准。 D输出全校教师人均 (包括家庭人口 )住房面积。 本系统具体操作如下: 1 创建存储教师住房信息 当 打 开 本 系 统 进 入 管 理 界 面 , 出 现 如 下 界 面 输入 1 进入教师住房信息创建系统,系统如图: 14 这时用户可按照自己的信息输入,系统会为用户自动将信息存盘。输入完后将进入下一界面: 此时,如需创建下一教师住房信息,输入 1 继续,否则输入 2。本此操作为介绍所需(户主押书凯,家庭成员吴凯刘烨李聪),为简便起见,直接进入下一程序。输入 2 后界面如下: 2. 分房时,为申请者输入申请信息 (存盘 )。 接 1 最后一张图,输入 1 后界面如下: 此时便是第 2 条功能,申请者输入申请信息。输入信息后,界面如下: 3 对于所有分房者按申请等级不同 (共 6 级 )分别按分数高低列表 (一种等级一张表 )输出(同时存盘 )。 上述操作完成后,会自动生成 件“教师申请住房信息”、 “教师住房信息 ”: 此时结束申请信息的输入后会出现如下界面: 输入 1 进入。 然后出现如下界面: 15 按照系统提示可进行相关信息的查询( 此次查询包含有第 3 条功能需求的部分 )和第 4 条的功能如下: A输出婚后仍分居集体宿舍者的户主姓名及出生年月,这类教师的总数 B输出未住上三室一厅或三室的副教授、教授姓名及现住房标准,这类教师的总数 C输出未住上一室一厅及以上 等级的具有博士学位的教师姓名及住房标准 D输出全校教师人均 (包括家庭人口 )住房面积 此前信息为“押书凯申请三室一厅”,所以我们选择第 6 条查询功能: 系统会自动弹出申请三室一厅的人数及其信息,继续输入 8 进行查询: 其余各条功能在此不再一一演示。每输入一项查询操作,便会自动生成相应的 件: 16 最后输入 2 退出信息管理系统。 第五部分程序设计日志 教学住房管理系统 工作日志 作者: 组成员: 期 考勤 内容 勤 初步接触课程设计任务,由刘老 师讲解。开始选择设计课题,定为“教师住房管理系统”。 四人共同讨论了关于高校教师住房管理系统的任务 成系统分析报告的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鼻炎药品现状研究报告
- 饼干加工工艺研究报告
- 餐馆装修预算管理方案
- 绿色金融的信息技术应用实践研究
- 乐力钙与牙釉质矿化研究
- 热修复优化区块链节点管理
- 市区合伙购房合同范本
- 正规学校合同范本
- 押金的合同范本
- 基于物联网的食品质量监测技术研究
- 高考688个高频词汇 word版
- GB/T 41664-2022低NOx燃油燃气燃烧器评价方法与试验规则
- GB/T 41000-2021聚碳酸酯(PC)饮水罐质量通则
- GB/T 25021-2010轨道检查车
- GB/T 22427.9-2008淀粉及其衍生物酸度测定
- GB/T 20897.4-2019充气艇第4部分:发动机额定功率为15 kW及以上且船长在8 m~24 m之间的艇
- 班会-学霸的炼成
- 临安遗恨-古筝+钢琴五线谱
- 抽象代数复习习题及答案
- 薪酬管理分析报告5篇
- 台海局势之我见课件
评论
0/150
提交评论