1、产品,可能拥有众多用户,不可能由每个用户验收,此时多采用称为 、 测试的过程,以期发现那些似乎只有最终用户才能发现的问题。 测试是指软件开发公司组织内部人员模拟各类用户对即将面市的软件产品(称为 版本)进行测试,试图发现错误并修正。 测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。经过 测试调整的软件产品称为 版本。紧随其后的 测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用 版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对 版本进行改错和完善。 (4)系统测试 软件开发完成后,还要与系统中其他部分配套运行,进
2、行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 计算机软件是基于计算机系统的一个重要组成部分,软件开发完毕后应与系统中其他成分集成在一起,此时需要进行一系列系统集成和确认测试。对这些测试的详细讨论已超出软件工程的范围,这些测试也不可能仅由软件开发人员完成。 在系统测试之前,软件工程师应完成下列工作:(1)为测试软件系统的输入信息设计出错处理通路;(2)设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;(3)参与系统测试的规划和设计,保证软件测试的合理性。 系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能工作并完成
3、所赋予的任务。下面简单介绍几类系统测试。 (1)恢复测试 恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。 (2)安全测试 安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。 例如: 想方设法截取或破译口令; 专门定做软件破坏系统的保护机制; 故意导致系统失败,企图趁恢复之机非法进入; 试图
4、通过浏览非保密数据,推导所需信息。 理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是使非法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。 (3)强度测试 强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;定量地增长数据输入率,检查输入子功能的反映能力;运行需要最大存储空间(或其他资源)的测试用例;运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例等等。 (4)性能测试 对于那些实时和嵌入式系统,软件部分既使能满足功能要求,也未必能够满足性能要求
5、。虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能系统。性能测试是为了完成这一任务。性能测试有时与强度测试相结合,经常需要其他软硬件的配套支持。 ,北软考研“ 8 H1 S9 Q+ h3 j J2、用况图1) 、概述:就是由参与者、用况以及它们之间的关系所构成的图。作用:主要用来明确需求;用来辅助分析;用来辅助设计,特别是用户界面的设计;用来指导测试。北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软
6、件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研 C+ m6 y0 : T. W2) 、概念北软论坛,北京大学软件与微电子学院,PKU,MSE,北软 ,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研. m8 d3 X. O) Q% w4 V. E- aA、系统边界:一个系统所包含的所有系统成分与系统以外各种事物的分界线。一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!( J) l T0
7、V2 7 4 g* u! NB、参与者:在系统边界以外,与系统进行交互的事物-人员、设备、外系统。一个参与者定义了一组功能上密切相关的角色,当一个事物与系统交互时,该事物可以扮演这样的角色。C、用况:对参与者使用系统的一项功能时所进行的交互过程的描述。北京大学软件工程硕士|MSE|北京大学软件与微电子学院| 北软论坛$ k+ J7 v“ D4 V k5 9 B6 E% $ a3) 、关系A、参与者之间的关系泛化(继承):如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,它们再从中继承。B、用况之间的关系泛化(继承):子用况继承父用况的行为和含义;子用况可以增加或覆盖父用况
8、的行为;子用况可以出现在父用况出现的任何位置。北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛. x* I R4 d8 f D5 F9 _! k扩展:从用况 A 到用况 B 的扩展关系是指,用况 B 的实例是可以被用况 A 指定的行为扩充(服从于在扩展中指定的特定条件) ,行为被插入到由 B 中的扩展点定义的位置。包含:从用况 A 到用况 B 的包含关系表明,用况 A 的一个实例也包含了用况 B 所指定的行为,在用况 A 中定义的位置包含该行为。 北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软
9、微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研; b# T+ i1 p7 F / j) C; 扩展与包含的异同北软论坛,北京大学软件与微电子学院,PKU,MSE, 北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研 2 7 t : Y y9 f2 e资利税率 51.48% 14 投资回报率 32.79% 15 回收期年 4.55 16 设备数量台(套) 105
10、17 年用电量千瓦时 579244.55 18 年用水量立方米 25599.35 19 总能耗吨标准煤 73.38 20 节能率 23.04% 21 节能量吨标准煤 27.14 22 员工数量人 911 N 访问网址: /境发生变化的情况下,企业在经营利润、产品成本、市场份额等方面的变化趋势。 18 / 16 访问网址: / 19 / 17 访问网址: /1.系统背景分析全校性选修课的目的在于扩大学生知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,完全全学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。网上选课系统的出现使
11、同学们能够更加自主、便捷、准确的进行选课。但是,现行的选课方式也存在着一些问题。例如,什么课程容易拿学分选什么,别人选什么我选什么,哪一类课程还缺多少学分不清楚,甚至有的为凑学分随便选几门课或者干脆让别人代选,完全不顾自己的兴趣爱好,个人所长,完全不顾自己的专业方向、有无先修课程等,造成了选课的混乱。这种现象在低年级比较突出,在高年级也存在。而且,随着选修课比重的加大,这种情况将越来越严重。这种情况主要是由于学生对自己的专业培养计、可选课程等信息了解得不够造成的。虽然学校也刊发了相关的手册,网上也可以查询,但因为范围太大,科目太多,看或查的人并不多。怎么样才能解决这个问题,使大家能够更合理的进
12、行选课,也使得选修课能更好发挥其作用呢?本“选课指导系统”就是针对此目的而开发的一种软件。该系统放在学校服务器上,学生在选择选修课前,可以上网进行查询。用户(学生)输入其学号与密码后,系统便调出其所有相关信息,包括已修课程、已修课程的成绩、专业培养计划、全校性可选课程,系统进行综合分析后,得到一些可行的方案,供用户参考,并提出合理建议。2 用户需求分析鉴于上述分析,我们认为系统应该从同学们切实利益出发,为同学们提供快递,准确的信息查询服务,并提帮助指导功能。用户需求分为信息需求和功能需求:2.1 信息需求分析系统能够为用户提供的信息应该包括:1. 选修课成绩信息:以往各学期所有选修课的成绩,不
13、及格者应特殊标记;2. 选修课的类别信息:以往各学期所有选修课应归属哪一类(共六大类:自然科学类、文化素质类、跨专业类、计算机类、专业基础类、专业类。不同学院可能有些不同).3. 已修学分信息:每一类已修的总学分; 4. 还需修学分信息:每一类还需修的总学分; 5. 专业培养计划信息:各专业各学期的教学安排信息; 6. 课程信息:包括课程的学分、学时、机时、先修课、教师、授课内容、类别、开课单位等信息; 选课范围信息:提供下学期每类课可选修的范围,应注意是否与必修课冲突,是否有先修课等细节。2.2 功能需求分析从功能上讲,系统应该能够为用户提供以下几种功能:1.成绩查询功能:可以让用户方便地查
14、询已修课成绩;2.提供选课范围:考虑到用户可能对专业培养计划不甚了解,对已修课程归类不太了解,系统应该为用户提供每学期的选课范围;3.建议功能:提供选课方案建议,供用户参考;4.保密功能:为用户保密个人信息,并提供密码修改功能。另外从系统的性能上考虑,查询应该快速、便捷,数据要及时更新。考虑到多用户同时操作,系统应具备用户浏览自动排队功能,避免系统因拥挤而崩溃。2.系统目标分析鉴于现在学生在选课时存在不少误区,以及由此产生的选课混乱。本系统是面向广大学生的查询系统分析的系统,它应该达到以下几个基本目标:1.为学生选课提供辅助决策依据(即建议和指导),帮助学生正确地进行选课;2.为选课提供其他相
15、关信息;3.系统设计3.1 功能设计(1)为用户提供选修课成绩的查询服务;(2)为用户提供下学期的选修课的选择范围,避免学生误选;(3)为用户提供按课程性质分类的已修课程的学分总数及还需修学分数,使学生在选修下学期课程时作到心中有数。(4)根据用户兴趣爱好提供多种选课方案,供用户参考; (5)为用户保密信息,并提供密码修改功能; (6)为用户提供选修课程的详细信息; 3.2 数据库设计3.2.1 数据库组成本系统数据包括四部分:1. 学生成绩信息数据库:在这个数据库中,记录了学生从入学开始的所有选修课的成绩。数据库结构为 表 Score(学生课程表)表 LessonInfo(课程信息)字段名称
16、 数据类型 字段大小 索引 说明 ID 自动编号 长整型 有 记录序号 fStrStudentID 文本 8 无 学 号 fStrLessonName 文本 50 无 课程名称 fIntScore 数字 整型 无 课程成绩 fIntLessonID 数字 整型 无 课程编号 字段名称 数据类型 字段大小 索引 说明 fIntLessonID 自动编号 长整型 有 课程编号 fStrLessonName 文本 50 无 课程名称 fIntCredit 数字 单精度型 无 课程学分 fStrTeacher 文本 26 无 任课老师 fStrLessonInfo 备注 课程简介 2.专业培养计划信息
17、数据库 在这个数据库中,记录了各专业的培养计划,即每学期的选课范围,数据库结构为:表 PlanX(选修课程)fStrForelesson 文本 100 无 先修课程 fIntPeriod 数字 整型 无 总学时 fIntClassPeriod 数字 整型 无 课内学时 fStrObject 文本 30 无 授课对象 fStrUnit 文本 30 无 开课学院 fStrReferenceBook 文本 80 无 参考书目 fIntSort 数字 数字 无 课程类型 字段名称 数据类型 字段大小 索引 说明 fIntLessonID 数字 整型 有 课程编号 fStrLessonName 文本 5
18、0 无 课程名称 fIntSort 数字 整型 无 课程类型 fIntno 数字 长整型 无 课程号 fIntCredit 数字 双精度型 无 课程学分 fIntSemester 数字 整型 无 课程所在学期 fStrForeLesson 文本 50 无 先修课程 fIntPlan 数字 整型 无 是否在培养计划 3.全校性选修课程信息数据库在这个数据库中,记录了全校性任选课的信息,数据结构为:表 Plan(各年级选修课学分要求)4 学生个人信息数据库: 用以记录学生的姓名、学号、学院等个人信息。数据库结构为:表 Student(学生信息)字段名称 数据类型 字段大 小 索引 说明 fStrG
19、rade 文本 2 无 年级 fIntNature 数字 整型 无 自然科学类 fIntCulture 数字 整型 无 文化素质类 fIntEconomic 数字 整型 无 跨专业经济类 fIntComputer 数字 整型 无 计算机类 fIntProfessionalBase 数字 整型 无 专业基础课 fIntProfessional 数字 整型 无 专业课 字段名称 数据类型 字段大小 索引 说明 ID 自动编号 长整型 有 记录序号 fStrStudentName 文本 10 无 学生姓名 fStrStudentID 文本 8 无 学生学号 fStrGrade 文本 2 无 学生年级
20、 fIntClass 数字 整型 无 学生班级 3.2.2 数据流程图3.3 程序设计3.3.1 模块化设计本系统按功能分为六大模块:3.3.1.1 模块流程图fStrDepartment 文本 30 无 所在学院 fStrPassword 文本 8 无 学生密码 3.3.1.2 模块功能说明成绩查询模块根据用户输入的学号信息、从学生成绩数据库中搜索出已经选修的课程的成绩,找类别,显示给用户,并注明是否为培养计划内选修课程。同时列出各类选修课共需修的学分、已经修的学分和还需修的学分;选课范围查询模块根据用户的已经选修课程的成绩和其专业培养计划,确定出用户每类选修课、下学期可选修的范围;选课建议
21、模块根据用户成绩、专业培养计划、兴趣爱好,提供多种可供选择的选课方案供用户参考;课程信息模块提供信息简介,如学分、学时、教师、课程内容、先修课程等;其他功能模块包括修改密码,查看专业培养计划,进入选课系统等。3.4 输入输出设计3.4.1 输入输入信息应该以简单为准则。本系统一般仅需用户输入学号与密码,第一次登录时,应输入个人兴趣爱好等。3.4.2 输出1. 输出的基本要求是直观、表达清楚。本系统采用了表格输出的方式。并加了一些跳转的功能,帮助用户准确获取信息。 2. 输出应该考虑用户需要。本系统加入了许多快捷链接,是用户根据自己的需要跳过某些步骤。 3.5 用户界面设计本着界面友好、醒目、简
22、洁、大方的原则,本系统作到了以下几点:1. 无背景图案:可提高速度,使界面简洁; 2. 输出信息采用有边表格形式; 3. 输入信息采用间隔底色的无边表格形式; 4. 文字输出信息:采用 3 号字,其他采用 2 号字。 4.系统使用说明进入系统以后,看到主界面,在“输入学号”“和输入密码”输入框中输入你的学号和密码,默认密码为“6666”,建议在登录前通过左边“修改密码”项修改你的密码,以便对你的个人信息进行保密;点击“登录”按钮,系统将分类显示你的以往选修课的成绩和已经修的学分和还应该修的学分;点击下方的“下一步查看选课范围”,系统将分类显示你以后可以选修的课程的范围以及课程的部分信息;点击每门课程后面的“详细信息”,你可以浏览到课程的详细信息,为你选课提供参考依据;点击界面左边的“重新登录”可以重新登录该系统;点击“我要选课”可以连接到学校的“学生选课系统”;点击“培养计划”可以查看你所在专业的培养计划;点击“我要留言”可以写下你对该系统的意见和建议,以及你对的选课的体会;5.总结附录6.1 参考文献软件工程主编 彭 重庆大学出版社 2011-2。 _ 名称:_