当前位置:文档之家› 软件分析设计报告(实例)

软件分析设计报告(实例)

软件系统 分析与设计实例
计算机与通信学院 张聚礼
zhjl@
第一讲:软件系统分析与设计实例
开发大系统时可采用从面向对象分 析到设计顺序进行; 对于小系统,这两个阶段可以是交 替进行的。 分析与设计工具主要采用:计算机 辅助软件工程(CASE)软件工具。
§1.1 分析阶段的任务
面向对象分析,就是抽取和整理用户需求并建立 问题域精确模型的过程。
4. 调 用 getBook()
5. 调 用 getReader()
6. 调 用 saveRecord()
7. 返 回 借 书 页 面
8. 将 书 和 借 阅 证 递 还 读 者
: Reader
2. 还书 还书时序图:
: 读者
: 图书管理员
1. 递 交 待 还 的 图 书
record_delete.j sp
首先,系统分析员对需求文档进行分析; 然后,需求建模; 最后,需求评审。 面向对象分析形成三个模型:
✓ 对象模型 ✓ 动态模型 ✓ 功能模型
§1.2 设计阶段的任务
在面向对象设计阶段,将集中研究系 统的软件实现问题,包括:
✓ 体系结构设计; ✓ 用户界面设计; ✓ 数据库设计;
§1.3 分析与设计实例
以“图书管理系统”为实例,从其业务来看:系统 要处理的数据就是描述图书和读者信息的各种数据, 因此如何组织这些数据、如何操作这些数据、如何 为操作这些数据提供交互界面等就是系统分析和设 计的主要任务。
实例详细介绍从分析模型转换成设计模型的过程。 它在分析模型的基础上完成在实现环境的类建模、 状态建模、协作建模、用户界面原形等,实现从分 析到软件实现之间的跨越。
第四步:建立动态模型
提示:借书和还书的过程是实例系Fra bibliotek中较重要而且较 复杂的流程,因此在这里列出它们的时序图。
1. 借书 借书时序图:
: 读者
: 图书管理员
1. 递 交 图 书 和 借 阅 证
record_save.jsp
: Record
: Book
2. 输 入 读 者 证 号 和 图 书 编 号
3. 调 用 borrowBook()
: Record
2. 输 入 图 书 编 号 3.调用returnBook( ) 4. 调 用 getRecord()
5. 调 用 isExpired()
6. 调 用 delet eRecord()
8. 将 书 和 借 阅 证 递 还 读 者
分析对象模型得到“类图”
第二步:描述类与类中的方法
1.图书类描述 类名:Book 类属性:
属性名
bookId bookName author publisher price abstracts catelog status
属性解释
图书编号 图书书名 图书作者 图书出版社 图书单价 图书摘要 图书分类 图书状态
类方法:
方法名
savaReader
方法功能
添加读者信息
返回值类型
void
deleteReader 删除读者信息
void
updateReader 修改读者信息
void
getReader
根据id查找某个读者的 详细信息
getReaders 查询读者信息
List
3. 借阅记录类描述 类名:Record 类属性:
3.2 对读者信息操作的界面类
✓添加读者页面; ✓多条读者记录的列表显示; ✓显示读者详细信息; ✓读者信息更新页面; ✓读者信息查询页面
3.3 对借阅记录信息操作的界面类
✓添加借阅记录页面; ✓查询借阅记录结果的列表显示; ✓借阅记录信息查询页面 ✓还书页面
3.4 对帐号信息操作的界面类
✓添加帐号页面; ✓查询帐号记录结果的列表显示; ✓帐号信息更新页面; ✓帐号信息查询页面
数据类型
String String String String Double String String String
类方法:
方法名
savaBook
方法功能
添加图书信息
返回值类型
void
deleteBook 删除图书信息
void
updateBook 修改图书信息
void
getBook
根据id查找某本图书的详 细信息
getBooks
查询图书信息
List
2.读者类描述 类名:Reader 类属性:
属性名
readerId readerName address phone email
属性解释
读者证号 读者姓名 读者联系地址 读者电话号码 读者电子邮件
数据类型
String String String String String
第一步:建立分析的对象模型
候选 类
描述
类名
注 释
图书 在所系以统它中应,该需 是要系保统存的图对书象的。基本信息,Book
持久
读者 在所系以统它中应,该需 是要系保统存的读对者象的。基本信息,Reader 持久
借阅 记录
在系统中,需要保存借书的记录,所 以它应该是系统的对象。
Record
持久
账号
在系统中,账号是用来保存用户名密 码,用于权限判定,所以它应该是系 Account 持久 统的对象。
属性名
属性解释
bookId
图书编号
readerId
读者证号
borrowDate 借阅日期
数据类型
String String Date
类方法:
方法名
savaRecord deleteRecord getRecords isExpired borrowBook returnBook
方法功能
添加借书记录 删除借书记录 查询借书记录 是否过期 借书 还书
deleteAccount 删除帐号
updateAccount 修改帐号
isAccount
判断是否是合法用户
getAccounts 查询帐号信息
返回值类型
void void void boolean List
第三步:设计交互界面类
3.1 对图书信息操作的界面类
✓添加图书页面; ✓查询图书记录的列表显示; ✓显示图书详细信息; ✓图书信息更新页面; ✓图书信息查询页面
返回值类型
void void List boolean void void
4.帐号类描述 类名:Account 类属性:
属性名
属性解释
username 用户名
password 密码
type
用户类型
数据类型
String String String
类方法:
方法名
方法功能
savaAccount 添加帐号
相关主题