1、实验一 软件需求分析实验项目名称:软件需求分析实验目的:1) 掌握系统的功能描述、性能描述方法;2) 掌握需求分析工具数据流程图、数据字典等;3) 掌握系统需求分析的步骤和方法。 实验内容:用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流程图和数据字典。实验步骤:1) 到相关单位进行需求分析2) 综合利用Internet网和相关书籍整理并完善需求分析。3) 画出系统数据流图(分析系统是事务型还是变换型)4) 得出系统数据字典1. 软件系统需求描述:(从功能,性能上进行描述)功能需求:确定新系统应做什么,这算最主要的需求.该系统就是对A公司的人员信息进行录入,修改,删除,查找以及表单
2、输出.性能需求:给出所开发的新系统的技术性能指标,包括存储容量限制,运行时间限制,安全保密性等.2. 软件系统数据流程(由加工、数据流、数据存储、源点和终点四种元素组成):顶层数据流图11)2) 1层数据流图3) 000000002层数据流图3. 软件系统数据字典1) 数据流条目员工信息表(DD_hrworker):名字: 员工信息表别名:员工信息描述:记录企业员工的基本信息定义:员工信息表=员工编号+员工姓名+1级部门+2级部门+性别+职位+电子邮件+身份证号+ 出生日期+民族+户籍所在地+婚姻情况+毕业学校+专业+学历+毕业时间+入职时间+联 系电话+家庭住址+紧急联系人+紧急联系电话离职
3、信息表(DD_hrlworker):名字:离职信息表别名:离职信息描述:记录企业离职员工的信息定义:员工信息表=员工编号+员工姓名+1级部门+2级部门+性别+职位+电子邮件+身份证号+ 出生日期+民族+户籍所在地+婚姻情况+毕业学校+专业+学历+毕业时间+入职时间+离 职时间+离职成本+离职类型+联系电话+家庭住址+紧急联系人+紧急联系电话员工转正信息表(DD_hrrenew):名字: 员工转正信息表别名:转正信息描述:记录企业引进转正员工的信息定义:员工转正信息表=转正编号+转正员工的编号+转正员工姓名+转正时间+原定转正时间+ 试用期工资+转正工资借调信息表(DD_hrborrow):名字
4、:借调信息表别名:借调信息描述:记录企业借调人员相关信息。定义:借调信息表=借调编号+借调员工编号+原部门编号+原部门主管编号+原岗位+现部门编 号+现部门主管编号+现岗位+借调开始时间+拟定借调终止时间+实际借调终止时间调动信息表(DD_hrmobilize):名字:调动信息表别名:调动信息描述:记录企业人员调动相关信息。定义:调动编号+调动员工编号+原部门编号+原部门主管编号+原岗位+现部门编号+现主管编 号+现岗位+调动开始时间部门信息表(DD_hrdepartment):名字:部门信息表别名:部门信息描述:记录企业部门的相关信息。定义:部门信息表=部门编号+部门名称+部门主管+上级部门
5、+部门级别+部门地址+部门电话+ 部门开业时间社保信息表(DD_hrinsurance):名字:社保信息表别名:保险信息,社保信息描述:记录企业员工社保的相关信息。定义:社保信息表=保险编号+员工编号+员工姓名+保险起始时间+保险类型+公积金账号+公 积金开始时间合同信息表(DD_hrcontract):名字:合同信息表别名:合同信息描述:记录员工与企业所签订的合同信息。定义:合同信息表=合同编号+员工编号+员工姓名+入职时间+合同生效日期+合同终止日期+ 续签日期+续签终止日期员工编号:名字:员工编号别名:描述:唯一地标识员工的特殊关键域。定义:员工编号=企业标识(88)+所在部门(01)+
6、职位(21)+入职年份(11)+编号(01)位置:员工信息表,离职信息表,员工转正信息表,借调信息表,调动信息表,社保信息表, 合同信息表。4. 实验小结 需求分析是一项重要的工作,也是最困难的工作。通过本实验,运用所学知识,全面收集与实验有关的相关讯息,逐步完善需求分析报告。实验二 软件概要设计实验项目名称:软件概要设计实验目的:1)掌握系统总体结构的设计;2)掌握系统接口设计、数据结构设计等;3)掌握系统概要设计的步骤和方法。实验内容主要解决实现该系统需求的程序模块设计问题(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等)。实验
7、步骤1) 首先确定系统总体设计方案(分清系统是事物型还是加工型)。2) 完成系统的模块结构图及模块的功能说明。3) 完成系统的接口设计4) 完成系统的数据结构设计1. 软件系统模块结构图:信息查询界面查询条件数据库操作结果身份验证信息维护信息修改信息添加信息删除结果显示数据汇总更新内容新数据被删除项2. 接口设计5.1.1外部接口在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用 M
8、S VISUAL C+ 进行编程,在界面上可使用VISUAL C+ 所提供的可视化组件,向WINDOWS 风格靠近。 5.1.2.内部接口身份认证模块的返回值决定当前用户是否可以进入人员信息模块和工资管理模块,身份通过以后再根据用户本身的权限判定进入哪一个子功能模块,并且判断其相应的操作权限,这些采用返回值的方式由用户本身的权限标志决定。3 数据结构设计 数据结构与程序的关系DBMS 的使用上系统将采用 SQL SERVER, 系统主要需要维护2张数据表(这里不写登录表):人员基本信息数据表NO项目名称主键类型Byte1职工编码Int42姓名Char83性别Char24出生日期Date85民族
9、Char106政治面貌Char107文化程度Char88毕业学校Char209毕业时间Date810所学专业Char2011外语语 种Char612参加工作年月Char613入本厂年月Char614籍贯Char815家庭住址Char4016电话Char1417身份证Char1818养老保险号码Char1819职务职称Char1620岗位Char1021合同开始时间Date822合同结束时间Date823录入时间Date824录入人Char825修改时间Date826修改人Char8工资信息表NO项目名称KEY类型Byte1职工编码Int42姓名Char83职浮Float64岗位工资Float6
10、5劳效工资Float66副食补贴Float57洗理费Float58自行车Float59托保费Float510工种保健Float511加班费Float512夜班费Float513奖金Float514价格补贴Float515肉食补贴Float516其他Float517风险金Float518合计Float719房租Float520病假工Float521事假工Float522统筹金Float523扣款Float524实发工资Float725签字Char823录入时间Date824录入人Cahr825修改时间Date826修改人Cahr84. 出错处理设计出错输出信息程序在运行时主要会出现两种错误:1、
11、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如操作超时等,产生的问题,称为硬错误。对于软错误,须在查询/维护模块判断输入数据的正确性,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置,数据库内容返回操作之前的状态。出错处理策略主机必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是数据库上:在断电后恢复过程可采用 SQL SERVER 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。在硬件方面要选择较可靠、稳定的服务器机种,保证系
12、统运行时的可靠性。5. 实验小结: 本次开发以一个企业为背景,在深入了解企业管理结构的基础上,力争开发一个实用性强的系统软件。实验三 软件详细设计实验项目名称:软件详细设计实验目的:1)掌握模块的程序描述;2)熟练使用流程图、等详细描述工具3)掌握详细设计的步骤和方法。实验内容:进行软件系统的结构设计、逐个模块的描述(包括各模块的功、性能、输入、输出、算法、程序逻辑、接口等等)实验步骤: 1)首先进行程序系统的结构设计。 2)然后对主要程序进行描述。 注:应该同时进行用户界面设计。1. 软件系其中的3个模块的详细设计(画统程序流程图): 合同管理DFD图程序描述:人事部合同管理员查询、删除、修
13、改、新增合同信息的操作。 社保管理DFD图程序描述:人事部管社保管理员查询、删除、修改、新增社保信息的操作。 部门管理DFD图程序描述:人事部管理员查询、删除、修改、新增部门信息的操作。3. 实验小结: 本实验进一步定制细节,明确软件需求安排项目规划与进度,组织软件开发与测试,便于企业管理。实验四 软件测试和调试实验项目名称:软件测试和调试实验目的:1) 掌握软件测试的基本技术和概念;2) 掌握软件测试的方法;3) 掌握程序调试的常用技术。实验内容:用课堂上介绍的方法,对上一实验的程序,进行测试,并要求测试通过,然后撰写软件测试说明书。实验步骤:1) 首先设计测试方案(分别采用白盒法和黑盒法)
14、。2) 进行测试。3) 对于出错的程序进行修改。4) 并不断循环直至程序符合要求。5) 写出测试说明书。1.测试项目 用 户 登 录 2.设计测试用例15个(白盒法10个,黑盒法5个);输入“张三”,密码“123”,点击“用户” 期望结果:显示主页面 输入“李敏”,密码“125”,点击“用户” 期望结果:显示错误界面 用户名为空,密码为空 提示错误 输入“张三”,密码“234”,点击“用户” 期望结果:显示错误界面 测试内容:修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,再次输入密码 期望结果:显示错误界
15、面,返回上一次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息测试内容:管 理 员 修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,再次输入密码 期望结果:显示错误界面,返回上一次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息 所有密码为空 提示错误信息 测试内容:用 户 修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,
16、再次输入密码 期望结果:显示错误界面,返回上一次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息 测试内容:用 户 登 录 输入“张三”,密码“123”,点击“用户” 期望结果:显示主页面 输入“李敏”,密码“125”,点击“用户” 期望结果:显示错误界面 用户名为空,密码为空 提示错误 输入“张三”,密码“234”,点击“用户” 期望结果:显示错误界面 测试内容:修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,再次输入密码 期望结果:显示错误界面,返回上一
17、次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息测试内容:管 理 员 修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,再次输入密码 期望结果:显示错误界面,返回上一次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息 所有密码为空 提示错误信息 测试内容:用 户 修 改 密 码 输入旧密码“123”,输入新密码,再次输入密码 期望结果:显示成功信息,进入登录界面 输入旧密码“110”,输入新密码,再次输入密码
18、 期望结果:显示错误界面,返回上一次界面 输入旧密码“123”,输入新密码“1234”,再次新密码“2345” 期望结果:提示错误信息 3.对多开发软件测试结果的评价:登陆界面可行4. 实验小结; 对测试和调试有个大概的了解实验五 UML用例图实验项目名称:UML用例图实验目的:) 根据系统的功能分析系统的用例组成;) 确定用例图中的执行者,执行者与用例之间的关系) 能分析每一个用例的事件流实验内容:系统的用例图的设计和实现实验步骤:) 系统需求分析系统中的角色主要包括:系统管理员,部门管理员,应聘者。系统的用例应包括:登陆用例文档、添加员工信息用例文档和考勤管理用例文档。初始用例模型图如下,
19、在图中人力资源管理部门人员通过员工对基本信息管理员工的基本信息,另外还有培训、招聘、考勤等,系统管理员管理权限以及数据维护。) 确定事件流小型企业人事管理系统的分析) 用ROSE画出用例图 添加个人信息 查看个人应聘信息员工 更新数据库 修改个人应聘信息 登陆系统 系统管理员 考勤管理 添加员工信息 删除员工信息老板 查看员工信息 修改员工信息 实验学时:2学时1. 系统需求分析2. 主要事件流3. Rose2003软件设计系统的用例图主要操作步骤:步骤1:确定参与者在获取用例前首先要确定系统的参与者, 开发人员可以通过回答以下的问题来寻找系统的参与者。(1) 谁将使用该系统的主要功能。(2)
20、 谁 将需要该系统的支持以完成其工作。(3) 谁将需要维护、管理该系统,以及保持该系统处于工作状态。(4) 系 统需要处理哪些硬件设备。(5) 与该系统那个交互的是什么系统。(6) 谁或什么系统对本系统产生的结果感兴趣。步骤2:识别用例用例图对整个系统建模过程非常重要,在绘 制系统用例图前,还有许多工作要做。系统分析者必须分析系统的参与者和用例,他们分别描述了“谁来做”和“做什么”这两个 问题。识别用例最好的方法就是从分析系统的参与者开始,考虑每一个参与者是如何使用系 统的。使用这种策略的过程中可能会发现新的参与者,这对完善整个系统的建模有很大的帮助。用例建模的过程是一个迭代和逐步精华的 过程
21、,系统分析者首先从用例的名称开始,然后添加用例的细节信息。这些信息由简短的描述组成,它们被精华成完整的规格说明。在识别用例的过程 中,通过回答以下几个问题,系统分析者可以获得帮助。(1) 特定参与者希望系统提供什么功能。(2) 系 统是否存储和检索信息,如果是,由哪个参与者触发。(3) 当系统改变状态时,是否通知参与者。(4) 是 否存在影响系统的外部事件。(5) 哪个参与者通知系统这些事件。步骤3:用例间的关系1关联关系(Association) 包含关系(Include)包含关系把几个用例的公共步骤分离成一个单独的被包含用例。被包含用例称作提供者用例,包含用例称作客户用例,提供者用例提供功
22、能给客户使用。 用例间的包含关系允许包含提供者用例的行为到客户用例的事件中。包含关系使一个用例的功能可以在另一个用例中使用,如下所述。(1) 如果两个以上用例有大量一致的功能,则可以将这个功能分解到另外一个用例中。其它用例可以和这两个用例建立包含关系。(2) 一个用例的功能太多时,可以用包含关系建模两个小用例。要使用包含关系,就 必须在客户用例中说明提供者用例行为别包含的详细位置。这一点同功能调用有点类似。事实上,它们在某种程度上具有相似的语义。扩展关系(Extend)相对于包含关系一定要执行的特性,扩展关系(extend)则是一种可选择执行的关系。以自动柜员机(ATMSystem)为例,打印
23、收 据(print receipt)与提款之间的关系就比较适合采用扩展关系,如下图所示。在提款流程结束之前,会询问顾客是否需要打印收据,所以打印收据不是一段必要的流 程,而是一段可选择的流程。泛化关系(Generalization)一个用例可以被特别列举为一个或多个用例,这被 称为用例泛化。当父用例能够被使用时,任何子用例也可以被使用。在UML中用例泛化与其它泛化关系的表示法相同,用一个三角箭头从子用例指向父用例。在用例泛化中,子用例表示父用例的特殊形式。子用例从父用例处继承行为和属性,还可以添加、覆盖或改变继承的行为。如果系统中一个或多个用例是 某个一般用例的特殊化时,就需要使用用例的泛化关系。.4. 实验小结:大致了解了ROSE的使用方法,但实际操作经验不住,要多加练习 .