实验 系统需求分析
一、目的与任务
目的:确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。
任务:可采用不同的软件开发技术,完成对项目的需求分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。
二、内容、要求与安排方式
1、实验内容与要求:
掌握项目的系统流程图,绘制数据流图,实体—联系图,编写数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型)。
2、撰写系统需求规格说明书。
3、实验安排方式:
本实验每组1人,每人1台计算机。
三、思考题
1、需求分析在软件开发中的重要性?
2、分析系统流程图,流程图和数据流图的区别和各自的特点。
3、怎样写合乎规范的数据流图和数据字典?
题目一:教务管理系统之子系统——学院课程安排
1.系统简介
每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。
2.限定条件
(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。
(2)学院中层干部的主讲课时不能超过4学时/周。
(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。
(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。
题目二:学校教材定购系统
1.系统简介
本系统可以细化为两个子系统:销售系统和采购系统
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。
采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
以上功能要求在计算机上实现。
2.技术要求和限制条件
(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。
(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。
(3)系统的外部项至少包括:教师、学生和教材工作人员。
(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。
题目三:学校内部工资管理系统
1.系统简介
假设学校共有教职工约1000人,10个行政部门和8个系。每个月20日前各个部门(包括系和部门)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送到财务处 。财务处于每个月月底将教职工的工资表做好并将数据送银行。每个月3日将工资条发给每个单位。若由员工调入或调出、校内调动、离退休变化,则由人事处通知相关部门和财务处。
2.技术要求和限制条件
(1)本系统的数据存储至少包括:工资表、部门汇总表、扣税款表、银行发放表等。
(2)除人事处、财务处外,其他职能部门和系名称可以简化表示。
(3)工资、奖金、扣款细节由学生自定义。
题目四:实验室设备管理系统
1.系统简介
每学年要对实验室设备使用情况进行统计、更新。其中:
(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。
(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。
2.技术要求及限制条件
(1)所有工作由专门人员负责完成,其他人不得任意使用。
(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。
(5)本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。
附:
实验题目(可选)
(1)学生管理系统
(2)图书借阅系统
(3)人事管理系统
(4)商店管理系统
(5)机票订购系统
(6)大学排课系统
例:机票预定系统
1.系统简介
航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
2.技术要求和限制条件
(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
(2)对于本系统还应补充一下功能:
1.旅客延误了取票时间的处理
2.航班取消后的处理
3.旅客临时更改航班的处理
(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。
机票预订系统需求规格说明书
1.引言
1.1 编写目的
本机票预订系统在可行性研究的基础上,是为了进一步明确机票预订系统的软件需求,以便安排项目规划与进度,组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2 项目背景
开发软件名称:机票预订系统。
项目任务提出者:民航及国际旅游开发公司。
项目开发者:<>K开发小组。
用户:民航及国际旅游开发公司。
实现软件单位:国际旅游开发公司
系统与其他软件,系统的关系:
机票预定系统将由两部分组成:置于个旅行社定票点的前台客户程序,以及置于航空公司的数据库服务器。本系统与其他系统的关系如下:
图1
1.3 定义
[专门术语]:
[缩写词]:
1.4 参考资料
1. 《软件工程导论》,张海藩,清华大学出版社。
2. 《实用软件工程》,郑人杰等,清华大学出版社。
3. 机票预定系统项目计划任务书 《》航空公司 1999/3
4. 机票预订系统可行性研究报告 《》软件开发小组 1999/3
2.任务概述
2.1 目标
本机票预订系统实现后,能够大大提高旅游局的机票预定服务效率。降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
2.2 运行环境
服务器sun工作站,终端为pc机。
运行环境:Linux
数据库:Oracle8
2.3 条件与限制
1.Client/Server结构总体设计方案对它的约束:
机票预订系统做为Client/Server 结构的一个应用系统,不可避免的要受到Client/Server结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。同时,由于信息的共享,机票预订系统还受到其它系统的信息约束。
2.人力、资金、时间的约束
机票预订系统实施的目标就是要带给轮胎生产公司看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。因此,在设计中,重点是企业间信息的网络交流,能提供各部门间的方便快捷的联系,并提高数据统计的即时性、准确性、方便性,给公司带来良好的效益。
3. 技术发展规律的约束
计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如图象和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。
3.功能需求
3.1系统的功能
图2 旅客订票数据流图
图3 旅客取票数据流图
3.2 功能划分
1.客户端子系统
客户端子系统负责将订票员在客户端输入的信息,订票或取票,进行有效性验证之后,将订票申请或取票申请数据打包,发送到服务器端,并接收从服务器返回的信息,根据订票或取票打印出账单或机票。
2.服务器端子系统
服务端子系统负责接收客户端子系统发送的数据,解包后判断是订票还是取票操作,执行相应的数据库操作,并将操作的结果返回给客户端。
4.性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能需求:
4.1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。
4.2.系统的开放性和系统的可扩充性
机票预订系统在开发过程中,应该充分考虑以后的可扩充性。例如企业中管理模块的加入(人事管理、工资管理、日常事务管理等)也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充为ERP系统。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
4.3.系统的易用性和易维护性
机票预订系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4.4.系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
4.5.系统的先进性
目前计算机系统的技术发展相当快,做为机票预订系统工程,应该保证系统在一段时间内是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
5.数据描述
5.1数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
5.2数据的一致性与完整性
由于系统的数据是共享的,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
5.3 实体—联系图
图4.E-R图
5.4数据库描述
数据库采用Oracle8i。
5.5数据字典
6.运行需求
机票预订系统中的各个子系统的硬件和软件的配置如下:
1.服务器端子系统的运行要求:
系统软件: Linux
数据库管理系统:oracle8i
硬件要求:Pentium III 450以上, 256M RAM, 14G HD
2.客户端子系统的运行要求:
系统软件: Window 20## Professional
硬件要求:Pentium 133以上, 32M RAM, 4.3G HD
第二篇:软件需求工程实验指导书
《软件需求工程》实验指导
一、软件需求工程实验的性质、目的和任务
软件需求工程实验是软件需求工程课程中重要的实践环节,其目的是贯彻理论联系实际的教学原则,在理解软件需求工程的过程、方法、工具的基础上学习掌握实际软件项目中的需求分析和需求管理,提高学生应用CASE工具进行软件需求分析和管理的的能力。
软件需求工程实验的任务:
1、 掌握应用软件分析、设计和实现的基本过程。
2、 掌握应用软件工程的分析、设计、实现的方法。
3、 了解应用软件系统开发的一般过程。
4、 学习使用CASE工具。
二、软件需求工程实验的基本内容和要求
内容和要求
本课程实验包括两个实验。
实验一、需求分析,该实验要求学生根据实际项目的要求,应用传统的结构化方法或者面向对象方法进行需求分析。目前根据分析技术的发展,推荐使用UML和Rataional Rose对需求进行分析。
实验二、需求管理,该实验要求学生根据实际项目的要求,应用项目管理的一般方法或者需求管理的专用方法,对实际系统的需求进行管理。推荐使用Rational RequsitePro工具进行需求管理。
其他要求:
1、 复习课程相关的预备知识
2、 根据软件需求工程实验指导撰写实验预习报告。
3、 认真做好实验,写出实验报告。
三、软件需求工程实验内容学时安排
四、实验报告要求
实验报告中应该包含实验目的、实验题目、实验计划、实验过程、实验结果等。
五、考核原则与标准
考核方式:成绩按“优、良、中、及格、不及格”五级记分制评定。
六、参考教材:
1、“软件需求工程”,毋国庆等, 机械工业出版社
2、“软件工程” 江开耀 西安电子科技大学出版社 2003。
七、实验指南
实验一 需求分析 4h
实验题目:需求分析
实验目的:通过采用结构化或者面向对象的方法对实际项目的需求进行分析,理解需求分析的过程,掌握需求分析的方法和技能。
实验内容:
1、 熟悉和掌握UML和Rational Rose工具的使用。在rose中创建新的模型,分别画出如下的图:用例图、类图、包图、活动图、顺序图、状态图等。
2、 根据如下项目,对系统进行需求分析。具体要求,绘制系统的用例图,对用例进行规格说明,绘制类图、活动图、顺序图和状态图等。
(1) 学生选课系统
(2) 进销存系统
(3) 餐厅点餐系统
(4) 个人博客系统
(5) 课程质量评测系统
(6) 毕业设计过程管理系统
(7) 作业管理系统
(8) 学生平时成绩管理系统
(9) 答疑系统
(10) 实验预约系统
(11) 也可自拟题目
实验步骤:
1、 安装Rational Rose。
2、 根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。
3、 针对每个功能用例使用《用例描述模板》,进行描述。
4、 分别使用活动图、顺序图描述用例执行过程。
5、 建立用例描述过程中涉及的对象模型,做出类图。
6、 对类图中重要的业务对象绘制状态图。
实验二 需求管理 4h
实验题目:需求管理
实验目的:通过采用项目管理或者需求管理的方法对实际项目的需求项进行管理,理解需求管理的过程,掌握需求管理的方法、工具和技能。
实验内容:
1、 熟悉和掌握Project的使用。
2、 熟悉和掌握Rational RequsitePro工具的使用。
3、 根据实验一项目,分别在Project和RequsitePro中创建出相关的需求项列表,定义优先级别及其关联关系,并根据需求项列表进行系统规模、工作量、成本和进度的估算。
4、 对于需求变更进行管理。
实验步骤
1、 安装RequsitePro和Project工具。
2、 打开RequsitePro自带示例工程,Learning Proejct Usecase,观察、学习其结构和内容。
3、 在RequsitePro中根据Usecase Template创建工程。
4、 在Use cases包下,创建用例项目(可以根据实验一的结果,也可以直接将Rose下面的用例模型直接导入到RequsitePro)。具体方法:鼠标选择Usecases包,右键-new-Requirement,选择type为Use case,输入用例名称(Name)、描述(Text)、版本描述(Revision)、属性(attributes):Priority(优先级)、type(类型)、status状态(proposed建议,Approved(批准),Incorporated(),Validated())、难度、稳定性等,Traceability可跟踪性,Hierarchy(层次结构),Discussions(讨论)。
5、 创建用例规格描述文档,鼠标选择Usecases包,右键-new-document
6、 将模型中的用例全部导入到Project中,分配每个用例的工期、开始时间和完成时间、前置任务、资源。打印甘特图和任务分配状态图。
7、