




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程实践报告 个人部分 姓 名: 学 号:班 级: 设计题目: 成 员: 指导教师: 课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日目录第一章 图书管理系统需求分析-41、引言-42、具体需求分析-42.1 系统指导思想和建设目标-42.2 总体功能设计-42.3用户的特点-42.4需求规定-53、利用Visio绘制DFD图-74、数据字典-8第二章 UML工具的使用-91、用例图-92、类图-103、时序图-114、协作图-125、状态图-136、活动图-11第三章 软件源代码管理-151、SVN是什么-162、SVN用途-163、用SVN进行软件源代码管理-16 3.1 在Windows下面建立SVN Repository-17 3.2新增档案及目录到Repository中-18 3.3更新档案及目录-21第四章 使用软件测试工具-211、运用NUnit工具软件进行白盒测试用例设计及自动测试-221.1 Nunit介绍-221.2 Nunit进行程序测试-26 2、运用Webstress工具软件进行性能自动测试-262.1webstress功能简介-262.2用webstress进行web主机性能测试-32 2.3实验体会-32第一章 图书管理系统需求分析1、引言本次作业选用系统:“图书管理系统”用以实现图书、读者以及日常工作等多项管理。同时对整个系统进行需求分析。为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特设计该图书管理系统以提高图书馆的管理效率。使用该系统之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。2、具体需求分析2.1 系统指导思想和建设目标2.1.1 系统指导思想立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。2.1.2 系统建设目标(1)要解决的问题:(以某学校为参照) 随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。设计一个功能完整、操作简便、界面友好的学生信息管理系统。(2)系统开发的目的:提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。(3)系统名称:图书管理系统2.2 总体功能设计系统要能实现如下功能:读者:读者注册办证读者预约读者借书读者还书管理员:读者信息管理 ,图书信息管理 编目 采购员:采购2.3用户的特点(1)本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。管理员和读者都是经常性用户。(2)系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。维护人员为间隔性用户。2.4需求规定在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。为系统维护人员提供权限管理、数据备份等通用功能。3、利用Visio绘制DFD图在小组中,我负责绘制读者信息管理,图书信息管理,编目三个加工处理的数据流图。读者信息管理DFD图图书信息管理DFD图编目DFD图4、数据字典读者信息管理数据流名称:读者登陆信息 简述:图书管理员对读者登陆信息进行检查数据流来源:图书管理模块数据流去向:检查读者登陆模块数据流组成:管理员编号+借阅证号等 数据流名称:读者信息 简述:图书管理员对读者登陆信息进行记录数据流来源:检查读者登陆模块数据流去向:读者表数据流组成:借阅证号等数据流名称:读者查询简述:借阅管理员输入的读者登录信息数据流来源:借阅管理员数据流去向:读者登录检查系统数据流组成:读者姓名+读者编号等数据流名称:读者查询结果简述:登录系统在检查读者输入的读者信息后返回个借阅管理员的结果数据流来源:登录系统数据流去向:借阅管理员数据流组成:读者姓名+编号等图书信息管理数据流名称:图书维护需求 简述:对目前读者库图书进行维护数据流来源:图书管理模块数据流去向:图书维护模块数据流组成:管理员编号+图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价+数量等 数据流名称:库存图书统计 简述:对目前读者库内存书进行统计数据流来源:图书管理模块数据流去向:图书维护模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价+数量等 数据流名称: 借阅情况统计 简述:对目前外借的、不在读者库的图书进行统计数据流来源:图书管理模块数据流去向:图书维护模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+出库日期+作者+单价+数量+借阅证号等 数据流名称:读者情况统计 简述:对借阅者进行统计数据流来源:图书管理模块数据流去向:图书维护模块数据流组成:借阅证号+图书名+条形码号+出版社+出版日期+出库日期+作者+单价+数量+金额+借阅期限等编目数据流名称:图书采编信息简述:图书采编信息数据流来源:图书购买后,由图书馆采编人员整理后,输入计算机数据流去向:采编管理模块。图书采编信息将采编数据存入数据库(图书表)数据流组成:图书编码,图书类别,书名,作者,出版社,出版日期,单价,购买数量数据流量:300本/日高峰流量:800本/日第二章 UML工具的使用图书管理系统1、用例图2、类图3、时序图管理员添加图书信息时序图管理员删除图书信息时序图管理员添加读者信息时序图4、协作图管理员添加图书信息协作图管理员删除图书信息协作图5、状态图图书的状态图读者状态图6、活动图管理员管理读者信息活动图管理员管理图书信息活动图第三章 软件源代码管理1、SVN是什么?简单的说,你可以把SVN当成你的备份服务器,更好的是,他可以帮你记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当你有任何修改时,都可以上传到 Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果你需要从Repository下载曾经提交的档案。你可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。2、SVN的用途:SVN Repository可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。SVN有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。SVN可以让不同的开发者存取同样的档案,并且利用SVN Server作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在SVN Server上面,请他自己去SVN Server上面就可以取得最新版本。而且,SVN Server也可以做到当您上传新版本后,自动发信给相关的成员。SVN的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份。3、用SVN进行软件源代码管理3.1 在Windows下面建立SVN Repository.在E盘下面建立了一个名为软件源代码管理的文件夹。打开后按下鼠标右键后,选择TortoiseSVN-Create repository here。点击OK后看到弹出下面窗口表明SVN repository已经成功的建立了。接下来就是要把您的档案备份进来。在D盘建立一个Working文件夹,所谓的Working目录其实就是您平常用来存放工作档案的地方。通常我们会等到自己的工作做的一个段落的时候再进行备份。所以我们平常都是在 Working目录下面工作,等到适当时机在commit到repository中。打开后按下右键后选择SVN checkout。看到如下窗口,对于SVN来说,repository的位置都是URL。点OK后看到下一窗口这样就表示动作完成。按下OK按钮后,再到您刚刚建立的目录下。您将会看到working目录下面多了一个名为.svn的目录(这个目录是隐藏的,如果您的档案管理员没有设定可以看到隐藏目录,您将无法看到它) 。3.2新增档案及目录到Repository中将开发的程序放在建立的working目录下面的my_ prj子目录,在my_prj目录的icon上面,按鼠标右键,并且选择TortoiseSVN-Add,出现如下画面按下OK后会看到这样就表示成功了。有一点要注意的是,这个Add的动作并未真正的将档案放到Repository中。仅仅是告知SVN准备要在Repository中放入这些档案。working目录中的档案与Repository中的档案还没有同步。现在要多一个commit的动作。让这些档案真正的放入到 Repository中。可以在my_prj目录的icon上或者是my_prj目录内的空白处按下鼠标右键,并且选择SVN commit。在档案列表的上方是Message栏,可以在栏中输入本次commit的目的。这是十分重要的字段,当commit的次数很多时,可以靠这个讯息知道版本与版本之间的差异。当输入好Message,按下OK之后,就可以看到如下的窗口出现,通知已经将指定的档案送到Repository中。3.3更新档案及目录在想要更新的档案或目录icon上面按下鼠标右键。并且选择SVN Update。正常的状况下,可以看到如上的窗口。在这个窗口中会显示有哪些文件更新了。如果没有看到档案更新的相关信息,这表示您的目录中的档案已经是最新的,所以无须进行更新。更新至特定版本有时需要回溯至特定的日期或是版本,这时就可以利用SVN的Update to revision的功能。在想要更新的档案或目录icon上面按下鼠标右键。并且选择TortoiseSVN-Update to revision。出现如下窗口:在这个Update窗口中,您可以选择更新到最新版本(HEAD)。也可以选择更新到某个指定的版本(Revision)。按下Show log按钮可看到如下内容:所有曾经做过的动作,及其日期与对应的版本都会列在这个窗口上面,只要在你想要的版上面点一下,让他变成反白,然后按下OK。这个版本就会自动填入Update窗口中的Revision字段中。您只要再按下一次OK,这个版本就会被取出来到您的硬盘中。第四章 使用软件测试工具1、运用NUnit工具软件进行白盒测试用例设计及自动测试1.1 Nunit介绍NUnit是一个单元测试框架,专门针对于.NET来写的.其实在前面有JUnit(Java),CPPUnit(C+),他们都是xUnit的一员.最初,它是从JUnit而来.现在的版本是2.2.接下来我所用的都是基于这个版本.NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig, 后来开发团队逐渐庞大起来.在开发过程中, Kent Beck 和Erich Gamma2位牛人也提供了许多帮助.看来对于NUnit还真是下了一番力气了.NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NET的特性,比如反射,客户属性等等.最重要的一点是它适合于所有.NET语言.1.2 Nunit进行程序测试在大型项目开发过程中,软件开发和测试是同步进行的。程序代码由软件开发人员编写,而测试代码由测试工程师编写,因此这两种代码应该分别保存在不同的类文件中,以便统一管理。步骤1:在vs2008中创建C#类库,名为CompareMaxNumber。步骤2:创建C#类文件,名为LargestNumber.cs。此代码由软件开发人员编写,用于判定list列表中的最大值。using System; using System.Collections.Generic; using System.Text; namespace CompareMaxNumber public class LargestNumber public static int MaxNumber(int list) int max = Int32.MinValue; for (int i = 0; i max) max = listi; return max; 步骤3:创建C#类文件,名为TestLargestNumber.cs。此代码由软件测试人员编写,用于测试LargestNumber.cs中的逻辑。调试前给该工程添加一个NUnit的引用,具体为:右键点击:引用- 添加引用-选择nunit.framework,然后在TestLargestNumber.cs文件中添加一个引用:using NUnit.Framework。using System;using System.Collections.Generic;using System.Text;using NUnit.Framework;namespace CompareMaxNumber TestFixture class TestLargestNumber Test public void TestLargestSequense() Assert.AreEqual(9,LargestNumber.MaxNumber(new int 8, 7, 9); Assert.AreEqual(9, LargestNumber.MaxNumber(new int 7, 8, 9 ); Assert.AreEqual(9, LargestNumber.MaxNumber(new int 9, 8, 7 ); Test public void TestLargestnegative() Assert.AreEqual(-7, LargestNumber.MaxNumber(new int -9, -7, -8 ); Test,ExpectedException(typeof(ArgumentException) public void TestLargestSmallNumber() Assert.AreEqual(1, LargestNumber.MaxNumber(new int 1 ); LargestNumber.MaxNumber(new int ); Assert.AreEqual(0, LargestNumber.MaxNumber(new int 0 ); Test public void TestLargestRepetition() Assert.AreEqual(9, LargestNumber.MaxNumber(new int 9, 3, 5, 9 ); 步骤4:配置CompareMaxNumber的属性。右击CompareMaxNumber-属性.步骤5:启动调试,即可自动弹出nunit程序,点击run开始测试,运行结果如下:测试没有通过!这是因为程序没有对list列表为空作判断。当list.Length为0时,应该抛出异常。在LargestNumber.cs中加上如下代码,再次运行nunit.exe,测试通过。if (list.Length = 0) throw new ArgumentException(Empty list); 即: LargestNumber.cs中代码为:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace CompareMaxNumber public class LargestNumber public static int MaxNumber(int list) int max = Int32.MinValue; for (int i = 0; i max) max = listi; if (list.Length = 0) throw new ArgumentException(Empty list); return max; 再次运行测试结果通过2、运用Webstress工具软件进行性能自动测试2.1webstress功能简介Webserver Stress Tool 是一个可以模拟使用者浏览网页的程序。你可以设定欲模拟浏览端的使用者人数与点击网页连结的频率,让 Webserver Stress Tool 为你进行流量的测试。你就可以提供客观的测试数据而不只是抽象的感觉,也可以减轻许多自行测试的麻烦。 Webserver Stress Tool 可以提供的网页流量测试报表相当的多样,而且可以根据测试使用者或是测试目标 URL 为基准产生报表。在网页管理人员最关心的图形化报表方面,webserver Stress Tool 一共提供了根据频宽,连结点击分布频谱等图形化报表。部分报表甚至提供三度空间的图形化浏览选项,充分满足各种不同的图形化报表需求。2.2用webstress进行web主机性能测试步骤1:设置测试选项“Test Type”项目设置测试类型。分为Clicks测试固定读取网页数量、TIME测试固定时间内的LOADING、RAMP 在固定时间内逐渐增大LOADING量。查看“User Simulation”项目,将“Number Of Users”模拟访问者的人数设置为:10,“Click Delay”设置指定的时间间隔20MS。步骤2:设置网站链接在“Stress Test”列表中点击“URLs”按钮,查看右侧设置视图的“URLs”项目,在“Number Of URLs”下拉列表中设置URL。然后我们查看URL列表,在其中的“URL”列中,输入指定的网址。如果访问该站点需要用户名及密码,则在列表的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业设计的兴起
- 工业蒸汽安全培训课件
- 年度安全培训费用申请
- 平面设计概念课件
- 供应链管理咨询服务合同6篇
- 平面构成与构图学课件
- 委外安全培训的理由
- Flunisolide-d4-生命科学试剂-MCE
- Etacelasil-CGA-13586-生命科学试剂-MCE
- 公考河北真题2025
- 施工安全生产风险分级管控和隐患排查治理双重预防机制建设实施方案
- 【MOOC】化学与社会-大连理工大学 中国大学慕课MOOC答案
- 精细化工技术-大学专业介绍
- 餐饮财务问题的研究报告
- 慢性疾病运动干预中心服务要求(征求意见稿)
- 林同炎与美洲银行大厦
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 人教版八年级历史上册 第一、二单元 单元测试卷( 2024年秋)
- 二次抵押贷款合同
- DZ/T 0462.5-2023 矿产资源“三率”指标要求 第5部分:金、银、铌、钽、锂、锆、锶、稀土、锗(正式版)
- 糖尿病合并尿路感染
评论
0/150
提交评论