当前位置:首页 >> 建筑/土木 >>

《软件设计案例分析》大作业 王曦(1-20)


《软件设计案例分析》大作业 2011-2012(1)

华东交通大学 《软件设计案例分析》课程大作业 ——图书管理系统设计方案

专业班级: 软件工程+会计 1 班



院:

软件学院

学生姓名:

王曦

r />
号: 20082110090120



数:



期: 2011-2012(1)

任课教师:

彭仁夔

系统设计方案
一、 系统总体需求 项目名称: 项目名称:图书管理系统 1)功能性需求

能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除。 能够实现对会员档案的查询和编辑管理。 能够进行罚款功能。 能够进行借阅历史的查询功能。 具体为: 密码设置:不同种类的用户有不同的权限,管理员和会员有自己的密码,登 录系统后分别进行自己权限内的操作,可以防止越权操作。 资料维护:为了存放图书、会员档案的全部数据,本系统将每一本图书和每 位会员的信息进行管理。系统维护包括对各种表记录的修改、删除、添加等 操作。 系统查询:可以按图书编号、借阅证编号等相关信息进行查询。 系统管理:进行会员管理、数据备份等。 报表统计:包括统计图书信息、会员信息、借阅信息和罚款信息等。 其它操作:包括修改密码、添加用户、页面设置等。
2)非功能性需求
1 / 21

《软件设计案例分析》大作业 2011-2012(1)

2)性能需求 精度规定: 精度规定: 1、对于日期型数据项,根据实际要求,提供“年/月” “ 年/月/日” “ 年/ , , 月/日/时” “ 年/月/日/时/分”等 4 种精度要求。 , 2、对于图书资料,数据精度到个位。 3、对于遗失书籍赔偿数额,数据精度到小数点后 1 位。 时间特性要求: 时间特性要求: 本软件由于数据库尚小,响应时间、更新处理时间,数据传输、转换时间, 计算时间都非常快,如下: 1、响应时间应在 1 秒内 2、更新处理时间:由系统运行状态来决定 3、数据的转换和传送时间:10 秒之内 灵活性: 灵活性: 在操作方式上完成了从手工输入到电脑操作的转变, 操作系统可以是 Win98、 Win ME、Win NT4、Windows 2000 及 Windows XP 等,后台数据库支持从 SQL Server7.0、2000 到未来版本,而有些系统只能在特定的某一版本运行。支持千 万甚至亿级馆藏量。本管理系统的硬件功能对于 1000 以下使用计算机用户的绝 对支持,如果超过规定用户则停止对多余用户的服务进行禁止访问,而且管理员 用户始终允许访问。

3)故障处理需求 正常使用时不应出错,若由于服务器开机过长数据读写频繁导致硬盘损坏, 使数据库遭到破坏, 可以使用定时备份数据库更新数据库的方法在数据库破坏时 恢复数据库,同时有必要定时检查服务器,交换机等硬件设备以防临时出错,做 到万无一失。

4)其他需求 (1)完整性:要求在发生意外时(如断电) ,保证数据不丢失。 (2)安全性:有用户登入界面,要求提供身份验证,只有通过了身份验证才可 以登陆该软件,密码输入三次不正确,则强行关闭该软件。
2 / 21

《软件设计案例分析》大作业 2011-2012(1)

(3)可维护性:当软件运行发生错误时,能够快速、准确对其定位、诊断和修 改恢复。 (4)可理解性:对于本软件提供的各种菜单、按钮,其功能应该一目了然,易 于理解。
二、 系统设计方案 注:系统设计重点从 WEB 应用系统的后台通用性设计着手,从用户管理和权限管理等 通用性的功能出发,结合 RBAC 的思想,设计好系统的权限及用户管理。业务功能完 成图书信息管理和借阅管理。 1)系统数据库设计

针对图书馆管理系统的需求, 通过对图书馆管理工作过程的内容和数据流程分析, 设计 出如下的数据项 书库图书信息,包括数据项有:图书编号、书名、书号、类别、出版社、作者、ISBN、 书库图书信息 印张、字数、版次、印数、定价、开本、是否在库、是否损坏、是否遗失、入库时间、 图书介绍 学生信息,包括数据项有:学生编号、学号、姓名、性别、系别、班级、级别、已借图 学生信息 书、照片 借书信息,包括数据项有:图书编号、学生编号、是否归还、书名、姓名、学号、书号、 借书信息 系别、班级、已借图书、出版社、作者、借阅日期、图书类别、是否续借 供货商信息,包括数据项有:供货商序号、供货商、城市、地址、电话、传真、邮政编 供货商信息 码、EMAIL、联系人、首次合作时间 定单信息,包括数据项有:定单序号、书名、书号、类别、出版社、作者、ISBN、印 定单信息 张、字数、版次、印数、定价、开本、详细信息、供货商序号、供货商、联系人、城市、 订购数量、订购价格、交付方式、交货日期、定单日期、是否验收、验收日期 过期图书信息,包括数据项有:图书编号、书名、书号、学生序号、学生姓名、系别、 过期图书信息 班级、过期时间 员工信息,包括数据项有:员工序号、姓名、密码、类别、性别、家庭住址、联系电话、 员工信息
3 / 21

《软件设计案例分析》大作业 2011-2012(1)

职务、出生日期、照片 罚款信息,包括数据项有:流水号、罚款原因、罚款金额、日期 罚款信息

2)系统架构设计

系统概要设计(架构设计 系统概要设计(架构设计)
1 系统体系结构
图书管理系统选择三层体系结构来实现。如图所示。系统由 5 个节点组成, 应用服务器负责整个系统的运行总体协调工作,数据库服务器负责数据库的管 理。业务管理、查询管理以及维护管理分管各个模块的内容。

数数数 服服服

应应服 服服

业服业 理

查查业 理

维维业 理

系统体系结构图 系统体系结构图 体系结构

2 系统功能模块

图书馆管理系统需要实现的功能主要有四大块: “日常工作管理”、 “基本 资料维护”、“查询”、和“系统管理”模块。其中日常工作管理和基本资料维护 是整个系统的核心。

4 / 21

《软件设计案例分析》大作业 2011-2012(1)

模块框架图

2.1“工作 模块 工作”模块 工作 借书处理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据 库中插入一条借书记录,该记录包括会员 ID、图书 ID、借出日期、还书期 限。 还书处理:主要功能是输入借阅证编号、图书 ID,在借阅登记表中找到相应 的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并 保存在借阅历史记录表中。 缴纳罚金:输入会员 ID,显示该会员的姓名、图书编号、罚款金额和罚款原 因,如果会员交纳了罚金,则将借阅登记表的允许借阅标志置为“Y”。删除 罚款记录表中该会员对应的记录,将这一条记录同时插入到罚款历史记录表 中。 2.2“资料维护 模块 资料维护”模块 资料维护 图书资料维护:包括新书的入库,以及现有书籍资料的修改,删除。 会员资料维护:包括新会员的资料入库,以及现有会员资料的修改和删除 2.3“查询 模块 查询”模块 查询 图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包 括:”图书分类”、”图书号”、”图书名称”、”作者”、”出版社”。 会员资料查询:根据相应的会员资料进行所需查询。 “借阅证编号”、”会员
5 / 21

《软件设计案例分析》大作业 2011-2012(1)

姓名”、”身份证号”以及”止借标志”。 借阅历史记录查询:根据相应的借阅信息进行所需查询。此查询包括:”借 阅证号”、”图书号”、”借书日期”、”还书日期”。 罚款历史记录查询:根据相应的罚款信息进行所需查询。此查询包括:”借 阅证号”、”罚款日期”、”罚款原因”。 2.4“系统管理 模块 系统管理”模块 系统管理 系统登录: 管理员和会员登录系统, 系统按照身份赋予他们各自不同的权限。 会员注册:实现新会员注册功能。 数据备份:对现有的数据库信息的保存。

三、 系统详细设计

1 系统详细设计编码规范
1) C#语言编码规范 语言编码规范 采用 Pascal 大小写、Camel 大小写和匈牙利大小写相结合的办法 标志符 大小写方式 示例



Pascal Pascal Pascal Pascal Pascal Pascal IPascal Pascal Pascal camel
6 / 21

AppDomain ErrorLevel FatalError ValueChanged WebException RedValue IDisposable ToString System.Drawing typeName

枚举类型

枚举值

事件

异常类

只读的静态字段

接口

方法

命名空间

参数

《软件设计案例分析》大作业 2011-2012(1)

属性

Pascal IPascal _camel _匈牙利 camel / 匈牙利

BackColor ILogin _userName _txtUserName textLength / iLength

中间层方法接口

私有字段

控件命名

局部变量

2) SQL 编码规范 1)字符大小写问题:因为 SQL 语言对于关键字不区分大小写,所以 SQL 语句的关键字全部使用大写字母表示。对于字段名,也全部使用大写。而对于表 名,应该与实际表名的大小写一致(否则在某些情况下会出错) ,除非使用别名。 如: SELECT ID, NAME FROM EMPLOYEE WHERE ID = ‘123’ 2)别名:表别名:单表不使用别名; 以上多表,且字段名需要表名来限定,此时需要别名; SELECT ST1.NAME,ST2.NAME AS LEADERNAME FROM STUDENT ST1,STUDENT ST2 WHERE ST1.LEADERID = ST2.ID AND ST1.ID <> ST2.ID 以上是自连接,此时必须使用别名 字段别名: 字段别名:SELECT ID,NAME FROM STUDENT; 不使用字段别名 SELECT ID,NAME,COUNT(*) STU_COUNT FROM STUDENT 表示的字段是表达式,此时使用别名,以方便取值 SELECT STU.NAME,CLS.NAME FROM STUDENT STU,CLASS CLS WHERE STU.BELONGCLASSID = CLS.ID 以上是选择列表中出现了相同的字段名,此时必须使用别名 3)换行:为了使 SQL 语句清晰,便于理解和维护,需要对 SQL 语句做一 : 些处理,包括换行。 换行遵循如下原则: 每一个子句另外一行; 如果一个子句过长, 建议将子句再换行, 换行的原则是在标点符号 (如逗号) 后,SQL 关键字前面换行,并且要有一个缩进(TAB 键) ,每个函数或表达式是 一个整体,不要在其之间换行。如: SELECT ITEMID, PRODUCTID, AVG(LISTPRICE),
7 / 21

《软件设计案例分析》大作业 2011-2012(1)

AVG(UNITCOST) FROM ITEM WHERE NAME LIKE ‘%ABC’ AND SUPPLIER=’1’ AND STATUS = ‘P’ GROUP BY ITEMID, PRODUCTID 4)嵌入式 SQL:在 OOP 语言中,对于嵌入式 SQL 语言的书写,要遵循如 下规范: 所有的表名、字段名都应该使用常量,为的是在以后数据表的结构或字 段名有所变化的情况下,能够减少或杜绝遍布程序各处的 SQL 语句的变更,而 只在定义常量的地方改变一下即可 1.3.ASP.NET 编码规范 . ASP.NET 方面的编码规范主要是控件命名方面的规范, 其他的请参照 C#的编码 规范

8 / 21

《软件设计案例分析》大作业 2011-2012(1)

2.系统核心模块的详细设计及代码实现 系统核心模块的详细设计及代码实现
1)系统流程分析 ) 根据开发图书管理系统的需求分析,本系统设计了三种用户,分别为系统管 理员、教师和学生。 系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户 登录后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入 读者管理界面、图书管理界面、图书借还界面、系统查询界面、排行榜界面,在 读者界面中,管理员添加和修改学生或教师信息、用户可以查看自己信息,在图 书管理界面管理员可以添加和修改图书信息、用户可查看图书,在图书借还界面 完成读者借书还书的操作, 系统查询界面管理员可以查看借出去的图书信息及库 存的信息、用户可以查找自己的所需的图书,排行榜界面主要是可以让用户知道 哪些图书受到读者的喜爱。读者(老师和学生)使用读者帐号登陆系统后,可以 查询自己所需要的图书的信息、 也可以查询自己个人的基本信息及图书的借还信 息,还能查看排行榜的信息。读者的借书和还书过程是通过管理员完成的。 2)主要功能模块设计和实现 )
1.图书实体类:包括图书的基本信息
9 / 21

《软件设计案例分析》大作业 2011-2012(1)

public class BookModel { public BookModel() { _BookID = 0; _ManID = ""; _BookName = ""; _Writer = ""; } public BookModel(int bookid,string manid,string bookname,string writer) { _BookID = bookid; _ManID = manid; _BookName = bookname; _Writer = writer; } private int _BookID; /// <summary> /// 图书编号 /// </summary> public int BookID { get { return _BookID; } set { _BookID = value; } } private string _ManID; /// <summary> /// 管理编号 /// </summary> public string ManID { get { return _ManID; } set { _ManID = value; } } private string _BookName; /// <summary> /// 图书名 /// </summary> public string BookName { get { return _BookName; }
10 / 21

《软件设计案例分析》大作业 2011-2012(1)

set { _BookName = value; } } private string _Writer; /// <summary> /// 作者 /// </summary> public string Writer { get { return _Writer; } set { _Writer = value; } } } 2)借阅信息实体类:包括借和还书的公用属性 public int BorrowID { get { return _BorrowID; } set { _BorrowID = value; } } private string _CardID; /// <summary> /// 借书证号 /// </summary> public string CardID { get { return _CardID; } set { _CardID = value; } } private string _ManID; /// <summary> /// 管理编号 /// </summary> public string ManID { get { return _ManID; } set { _ManID = value; } } private string _BorrowDate; /// <summary> /// 借书日期 /// </summary> public string BorrowDate
11 / 21

《软件设计案例分析》大作业 2011-2012(1)

{ get { return _BorrowDate; } set { _BorrowDate = value; } } private string _ReturnDate; /// <summary> /// 还书日期 /// </summary> public string ReturnDate { get { return _ReturnDate; } set { _ReturnDate = value; } } 3)读者实体类:包括读者的基本信息 //读者实体类 public class ReaderModel { public ReaderModel() { this._ReaderID = 0; this._ReaderName = ""; this._CardID = ""; this._Tel = ""; } /// <summary> /// 构造用户实体 /// </summary> /// <param name="readerid">读者编号</param> /// <param name="readername">姓名</param> /// <param name="cardid">借书证号</param> /// <param name="tel">联系电话</param> public ReaderModel(int readerid,string readername,string cardid,string tel) { this._ReaderID = readerid; this._ReaderName = readername; this._CardID = cardid; this._Tel = tel; } private int _ReaderID; /// <summary>
12 / 21

《软件设计案例分析》大作业 2011-2012(1)

/// 读者编号 /// </summary> public int ReaderID { get { return _ReaderID; } set { _ReaderID = value; } } private string _CardID; /// <summary> /// 借书证号 /// </summary> public string CardID { get { return _CardID; } set { _CardID = value; } } private string _ReaderName; /// <summary> /// 姓名 /// </summary> public string ReaderName { get { return _ReaderName; } set { _ReaderName = value; } } private string _Tel; /// <summary> /// 联系电话 /// </summary> public string Tel { get { return _Tel; } set { _Tel = value; } } } 4)用户实体类:主要为用户的基本信息和权限属性 public class UserModel { public UserModel() { _UserID = 0; _UserName = ""; _PassWord = "";
13 / 21

《软件设计案例分析》大作业 2011-2012(1)

_Level = ""; } private int _UserID; /// <summary> /// 用户 ID /// </summary> public int UserID { get { return _UserID; } set { _UserID = value; } } private string _UserName; /// <summary> /// 登录名 /// </summary> public string UserName { get { return _UserName; } set { _UserName = value; } } private string _PassWord; /// <summary> /// 登录密码 /// </summary> public string PassWord { get { return _PassWord; } set { _PassWord = value; } } private string _Level; /// <summary> /// 权限 /// </summary> public string Level { get { return _Level; } set { _Level = value; } } 5) string string string string } 图书归还处理代码 CodeStr = e.Item.Cells[0].Text; userCode = e.Item.Cells[2].Text; borrowDate = e.Item.Cells[4].Text; sql_update1;
14 / 21

《软件设计案例分析》大作业 2011-2012(1)

string sql_update2; string today = this.getToday(); sql_update1 = "update lendInfo set status=1, returnDate='" + today + "' where bookcode='" + CodeStr + "' AND usercode='" + userCode + "' AND borrowDate='" + borrowDate + "'"; sql_update2 = "update bookinfosheet set num=num+1 where code='" + CodeStr + "'"; SqlTransaction trans = null; try { conn.Open(); trans = conn.BeginTransaction(IsolationLevel.Serializable); cmd = new SqlCommand(sql_update2, conn, trans); cmd.ExecuteNonQuery(); cmd.CommandText = sql_update1; cmd.ExecuteNonQuery(); trans.Commit(); conn.Close(); DataGrid1.EditItemIndex = -1; BindGrid(); Msg.Text = "归还成功!"; } catch (SqlException ex) { trans.Rollback(); Msg.Text = "归还失败,请重试!"; return; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } }

四、 系统测试及部署

1、系统的关键测试用例 、
1.1 单元测试 1)黑盒单元测试
用例:001 登录界面

15 / 21

《软件设计案例分析》大作业 2011-2012(1) 用例目的 前提条件 输入/动作 输入:管理员 ID:admin,密码: admin 输入:管理员 ID: admin,密码: admin 输入:管理员 ID:admin,密码: 密码输入格式不正确 admin 与期望相吻合 密码越界 吻合 测试管理员能否正常登录 操作系统正常运行,以及各硬件配置恰当 期望的输出/相应 登录成功 实际情况 与期望相吻合

用例:002 用例目的 前提条件

借书 测试用户能否正常借书 操作系统正常运行,用户一卡通正常,扫描仪正常以及各硬件配置 恰当 输入/动作 期望的输出/相应 显示器显示用户信息及书本信 息,及显示是否可借,是否欠款 显示用户超出借书范围(最多四 本) 吻合 实际情况 与期望相吻合

《软件设计实例分析》以及用户 登录信息 将六本书从扫描仪扫描经过

用例:003 用例目的 前提条件 输入/动作 《软件设计实例分析》从扫描仪扫 描经过 《C#程序设计》 从扫描仪扫描经过

还书 测试用户能否正常还书 操作系统正常运行,用户一卡通正常,扫描仪正常以及各硬件配置恰当 期望的输出/相应 显示用户是否超期,未超期还书成 功 显示用户超期天数(4 天) 吻合 实际情况 吻合

用例:004 用例目的 前提条件 输入/动作 《软件设计实例分析》从扫描仪扫 描经过 《JAVA 程序设计》从扫描仪扫描 经过

续借功能 测试用户能否正常续借 操作系统正常运行,用户一卡通正常,扫描仪正常以及各硬件配置恰当 期望的输出/相应 显示用户是否超期,未超期还书成 功 显示用户超期天数(4 天) , 吻合 实际情况 吻合

用例 005 用例目的 前提条件 输入/动作 输入:书名《java 高级编程》

新书入库 测试新书是否能正常入库 操作系统正常运行,用户一卡通正常,扫描仪正常以及各硬件配置恰当 期望的输出/相应 显示新书信息,并记录到数据库 16 / 21 实际情况 吻合

《软件设计案例分析》大作业 2011-2012(1) 书号 01 号 出版社:人民邮电出版社 输入:书名《一千零一夜》 书号 02 号 出版社:人民邮电出版社 输入:书名《软件设计实例分析》 书号 03 号 出版社:华东交通大学出版 社 出版社输入不合法 与实际情况吻合 书号不符合 吻合

2)白盒单元测试 )
路径检查表
检查项 数据类型问题 (1)变量的数据类型有错误吗? (2)存在不同数据类型的赋值吗? (3)存在不同数据类型的比较吗? 变量值问题 (1)变量的初始化或缺省值有错误吗? (2)变量发生上溢或下溢吗? (3)变量的精度不够吗? 逻辑判断问题 (1)由于精度原因导致比较无效吗? (2)表达式中的优先级有误吗? (3)逻辑判断结果颠倒吗? 循环问题 (1)循环终止条件不正确吗? (2)无法正常终止(死循环)吗? (3)错误地修改循环变量吗? (4)存在误差累积吗? 内存问题 (1)内存没有被正确地初始化却被使用吗? (2)内存被释放后却继续被使用吗? (3)内存泄漏吗? (4)内存越界吗? (5)出现野指针吗? 文件 I/O 问题 (1)对不存在的或者错误的文件进行操作吗? (2)文件以不正确的方式打开吗? (3)文件结束判断不正确吗? (4)没有正确地关闭文件吗? 错误处理问题 (1)忘记进行错误处理吗? (2)错误处理程序块一直没有机会被运行? 是 有 无 无 无 有 无 无 不泄露 为越界 未出现 正确 是 否 无 无 有 有 无 发生 够 有(数据类型书写错误) 有 无 结论

17 / 21

《软件设计案例分析》大作业 2011-2012(1) (3)错误处理程序块本身就有毛病吗?如报告的错误与实际 错误不一致,处理方式不正确等等。 (4)错误处理程序块是“马后炮”吗?如在被它被调用之前 软件已经出错。 无 无

1.2 集成测试
1)接口测试
接口 A(外部接口) 输入/动作 从扫描仪扫描经过 已去磁的一卡通从扫描仪经过 校园一卡通 期望的输出/相应 用户信息显示在显示器 未能显示用户信息,提示错误 吻合 出现错误,与期望相吻合 实际情况

接口 B(外部接口) 输入/动作 借的书从扫描仪器扫描 欲还书从扫描仪扫描 欲续借书从扫描仪扫过

扫描仪器 期望的输出/相应 扫描仪器扫描到的信息输入电脑 扫描到用户信息,以及是否到期 扫描用户信息,更新数据库 不能扫描到用户信息,提示错误 吻合 吻合 吻合 出现错误,与期望相吻合 实际情况

已去磁的书从扫描仪扫过 接口 C(外部接口) 输入/动作 输入《水浒传》进行查询

SQL数据库接口 期望的输出/相应 访问成功,显示是否可借 吻合 实际情况

接口 D(管理员登录 接口) 输入/动作

管理员登录

期望的输出/相应 登录成功 吻合

实际情况

管 理 员 ID:0078002010, 密 码 : hujianfeng 用 户 名 : abcdefghijklmnopad, 密 码:hujianfeng 用户名: 123456, 密码: hujianfeng …

用户名超过边界,显示错误

吻合

用户名为非字符,显示错误

吻合

接口 E(内部接口) 输入/动作 输入书名: 《哈姆雷特》 输入书名:abddfdfdfdfdafds 输入书名:空(不输入)

查询 期望的输出/相应 显示有或者没有此书 显示输入格式不对 提示请输入书名 实际情况 与期望情况万和 吻合 吻合

1.3 系统测试
1)性能测试
性能 A 描述 用例目的 前提条件 系统的负载能力 测试系统的负载能力 负载之前系统正常运行 18 / 21

《软件设计案例分析》大作业 2011-2012(1) 输入数据 在系统中进行借书功能 在模拟工具中模拟一千台电脑同 时在图书馆管理系统中进行相关 操作 期望的性能(平均值) 系统正常运行 系统瘫痪 吻合 吻合 实际性能(平均值)

性能 B 描述 用例目的 前提条件

系统的承压能力 测试系统的承压 承压测试之前系统正常运行

输入数据 系统正常运行的同时,打开 1000 个页面 同时进行借书和新书入库操作

期望的性能(平均值) 系统崩溃 吻合

实际性能(平均值)

系统正常运行

吻合

极限名称 A 前提条件

最大并发用户数量 系统正常 输入/动作 输出/响应 系统正常 系统正常 系统反应慢 是否能正常运行 能 能 不能

10 个用户并发操作 20 个用户并发操作 100 个用户并发操作

2)可靠性和健壮性测试
异常输入/动作 容错能力/恢复能力 造成的危害、损失

管理员 ID 输入:abc 借书时,先扫描条形码,再扫描 一卡通 借书操作,将电源关闭 正在进行新书入库操作时,强制 关闭窗口 一百台电脑都在进行借还书操 作

容错能力强,正常恢复 提示扫描顺序不当

未造成危害 未造成危害

重启时,系统恢复正常 重启时,系统正常

未造成危害 为造成危害

系统提示,系统繁忙。

造成轻微的损失, 有些用户借书失 败

任务 A 描述 连续运行时间 故障发生的时刻 24 小时 75 小时 95 小时

测试系统的运行时间 100 小时 故障描述 系统提示连续运行时间过长 系统存在漏洞 系统连续运作,温度过高 统计分析

任务 A 无故障运行的平均时间间隔 任务 A 无故障运行的最小时间间隔 任务 A 无故障运行的最大时间间隔 19 / 21

0.025S 0.001S 0.05S

《软件设计案例分析》大作业 2011-2012(1) 任务 B 描述 连续运行时间 故障发生的时刻 1 小时 6 小时 一卡通已经部分销磁 系统提示温度过高,动关机 测试系统的耐高温情况 10 小时 故障描述

统计分析 任务 B 无故障运行的平均时间间隔 任务 B 无故障运行的最小时间间隔 任务 B 无故障运行的最大时间间隔 0.02S 0.008S 0.5S

3)安全性测试
假想目标 A 前提条件 想方设法截取或破译口令 系统口令正常或者已设口令 非法入侵手段 安装窃取口令的软件 否 是否实现目标 代价-利益分析 代价大于利益

假想目标 B 前提条件

想法设法去破坏系统的保护机制 系统已经安装相应的保护机制 非法入侵手段 是否实现目标 否 代价-利益分析 代价大于利益

安装绕过杀毒软件的木马

2、系统的主要测试结果 、
关于每一条测试用例的实际结果在第一部分的测试用例表格里面已经有所 描述,以下将从单元、集成和系统三个方面对测试用例结果进行综述。 1)单元测试:采用黑盒测试和白盒测试相结合的办法,其中主要对于登录、 借书\还书功能采用等价类测试,对于入库统计功能采用边界值测试,对于数据 结构和关键算法采用全路径测试。测试结果等同于预期。 2)集成测试:继承测试主要是针对接口和一些全局变量的测试。为了提高 效率,采用的的是自顶向下的继承方法。测试结果等同于预期。 3)系统测试:该部分包括性能测试、可靠性和健壮性测试以及安全性和部 署测试,采用场景法和 RUP 的一些思想,提高了测试效率。测试结果等同于预 期。

3、系统部署 、
第一步: 控制面板》程序》打开或关闭 Windows 功能, 把能选的都选上。 第二步: 计算机》管理》服务和应用程序》Internet 信息服务(IIS)管理器 第三步:
20 / 21

《软件设计案例分析》大作业 2011-2012(1)

新建一个网站,将网站的物理路径指定到刚才的那个 web 项目,然后我就直接 在浏览器中浏览网站,出现访问权限的问题,按照网上的解决办法:给网站文件 夹加入 IIS_IUSRS 用户权限(这一步很关键) ,并且我将“身份验证”中能选上都 选上,“目录浏览”设为为允许目录浏览。 第四步: 之后再浏览网站,出现了如下错误“HTTP 错误 500.24 - Internal Server Error 检 测到在集成的托管管道模式下不适用的 ASP.NET 设置。”于是我将该网站对应 的“应用程序池”的“托管管道模式”设置成了“经典” . 第五步:再一次浏览网站,这回终于可以正常的在浏览器重打开了,点击 html 静态页面可以正常的显示(页面上按钮也都可以正常使用) ,将 IIS 的 ISAPI 和 CGI 限制中 Asp.Net v4.0 设置为允许

设计总结及分析

五、 系统设计方案的亮点与不足

1.代码结构 代码结构 1)复用性:可考虑在公共函数命名空间下加入常用的登录权限判断、用户 信息查询等常用方法,提供代码的复用性。 2)安全性:本系统登录密码采用的是未加密的直接保存方式,可以考虑采 用 MD5 加密机制 2 .UI 设计 1)界面友好:本系统的界面功能显示过于集中,不便于用户熟悉和使用。 应该进一步进行界面 UI 设计的优化和细化。 力图使界面更加和谐更加易 于操作。 2)界面美观:本系统界面过于粗糙,应当选择更加精细美观的图片,图表 等使得界面更加吸引人 。
六、 系统设计心得体会

这次才 C#实例开发程序设计,我主要采用 ASP.NET 作为主要的开发语言, Microsoft SQL Server2005 作为后台数据库, 结合软件工程设计和数据库编程的 有关知识,开发了这个图书管理系统。 通过这次软件工程课程设计, 我对于 C#技术开发即.NET 网络编程的相关步 骤和流程有了更深刻的理解,熟悉并掌握了 Microsoft SQL Severe2005的数据库 的相关使用,另一方面,也对 SQL 语言作为嵌入式语言的功能有了更深刻的体 会。同时,我也发现自己对于C#实际开发和数据库设计的知识掌握的还不够, 设计和编程能力还有待于进一步提高。这次课程设计给了我一个锻炼自己,强化 专业知识的机会,通过这次课程设计,我也得以一窥.NET 设计的广袤天地,我 相信,只要认真学习,多借鉴别人的经验,多思考,多实践,就一定能够成为一 个合格的软件设计人员,能够翱翔在软件开发的天地。 同时,在这里感谢我的指导老师和我的同学对我的帮助和指导

21 / 21


相关文章:
《软件设计案例分析》大作业 王曦(1-20)
《软件设计案例分析》大作业 2011-2012(1) 华东交通大学 《软件设计案例分析》课程大作业 ——图书管理系统设计方案 专业班级: 软件工程+会计 1 班 学 院: ...
科技文检索
设计; 艺术表达; 形象设计是将诸多服饰美要素分析、...1 《气候变化框架公约》研究 杨兴 武汉大学 稿时间...王曦; 武汉大学; 环境与资源保护法学 2005 博士 【...
更多相关标签:
管理案例分析作业1 | 管理案例分析作业4 | 创业案例分析作业答案 | 电大会计案例分析作业 | 电大财务案例分析作业 | 财务案例分析网上作业 | 作业成本法案例分析 | 财务案例分析大作业 |