2023年11月28日发(作者:)

成都理工大学

信息系统分析与设计

课程实验指导书

实验名称: 信息系统分析与设计课程实验

实验类别: 课程实验

适用专业: 信息管理与信息系统

适用班级: 2013070301-2

授课教师: 王敏晰

一、实验目的

本实验课程是在学习《信息系统分析与设计》课程的主要理论之后进行的实践教学环节。要求

学生根据指定的项目进行详细系统分析与设计,按照小组工作形式完成系统的分析文档和设计文

档。

本实验主要目的是加强理论知识的理解,熟悉主流的建模工具和信息系统开发技术,了解需求

分析的内容和方法,取得多层结构的信息系统的设计经验,培养专业的文档写作能力,并初步体验

团队合作的开发模式。

二、实验要求

本实验的实验类型属综合设计型,学生根据每个小组分配的题目,开展有关课题的详细调查工

作,学习建模工具的使用,采用用例模型进行需求分析,使用面向对象方法建立系统逻辑模型和物

理模型,撰写分析和设计文档。

三、实验内容和步骤

1 组队

(1) 学生自由组对,教师为每个小组分配课题。

2 初步调查

(1) 小组成员阅读课题原始需求,并以各种方式对课题展开详细调查

(2) 小组成员讨论,明确信息系统的基本范围。包括确定系统边界、以活动图描述整个系

统功能流程(如图1所示)

办公读者图书出纳

审核身份

办理证件

查找书籍

登记借书

有续借

办理续借

登记还书

有违规

登记违规罚

1 活动图(业务流程)

3 成员分工

2

(1) 确定小组成员的分工(最好根据功能分块)

(2) 制定本次课程设计的计划

4 建立用例模型

(1) 各小组成员根据分工了解有关业务功能,绘制用例图(如图1

2 用例图

(2) 书写每个用例的详细规格说明,示例如表1

1 用例的详细规格说明

用例名称 借出图书

参与者 图书管理员(主要参与者),读者(次要参与者)

假设 图书馆是开架借阅,读者总是找到书后办理借书手续,因此,借

书不需要验证库

存,而且每本书都是可识别的。

图书管理员已被识别和授权 前置条件

存储借书记录,更新库存数量,所借图书状态为出借 后置条件

1.图书管理员将读者借书卡提供给系统; 主事件流

2.系统验证读者身份和借书条件;

3.图书管理员将读者所借图书输入系统;

4系统记录借书信息,并且修改图书的状态和此种书的可借数量;

5.系统累加读者的借书数量;

6.重复3-5,直到图书管理员确认全部图书登记完毕;

7.系统打印借书清单,交易成功完成。

2a.非法读者 备选事件流

1.系统提示读者身份错误,用例结束

2b.读者借书数已达限额

1.系统提示读者已达结束限额,用例结束

2c.读者有过期未还书籍

1.系统提示读者应归还的书籍列表和到期日,用例结束

5a.读者借书数已达限额

1.系统提示,并要求结束输入

3

2.图书管理员确认借书完成

5b.读者有该书的预定记录

1. 删除该书的预定信息

非功能性需求

(3) 对于流程较为复杂的用例,可以绘制活动图补充说明该用例的处理过程。

(4) 小组集中,调整、优化用例模型

5 建立分析模型

(1) 在详细的用例模型的基础上,识别出系统中的对象,建立领域类图(如读者、图书)

(2) 初步确定领域类的属性

(3) 定义领域类的关系(包括泛化、关联,分析阶段的完整类图,如图3

被预定

1

*

预定记录

预定日期

*

馆藏资源品种

馆藏目录

资源名称

国际出版号

价格馆藏流水号

1

1..*

简介状态

馆藏数量

可借数量

拥有

1

资源项

*

1

0..1

借书记录

借书日期

*

归还日期

1

读者

姓名

身份证号

借书卡号

图书限额

已借图书数

碟片限额

已借碟片数

碟片品种

碟片类型

碟片数

制作公司

图书品种

作者

出版社

出版日期

登记

1

0..1

逾期记录

逾期天数

1

图书管理员2

职工号

姓名

使用

*

0..1

罚款细则

3 定义了属性和关联的类图

(4) 对于存在复杂状态转换的对象,绘制状态图(可选,如图4

4

4 状态图

(5) 小组集中,调整、优化分析模型

(6) 书写分析文档(模板见附件2

6 建立设计模型

(1) 小组讨论,确定系统的总体架构模式,设计本系统和其他系统之间的接口(使用构件

图)

(2) 在分析模型和总体架构基础上,设计出满足功能需求的软件类,包括界面类、控制类、

实体类、数据访问类等,形成初步设计模型(如图5

(3) 类的分层可以自行设计,但一个小组最好统一使用一种分层模式,至少做到表现和业

务分离。

5

5 总体设计

(4) 采用可视化工具设计每个用例的用户界面,根据架构(C/SB/S可以是不同窗口界

面,如图6

6 界面设计

说明界面中的所有输入数据项的输入方式、数据类型、校验要求,以及界面中需要处

理的事件(下拉框选择改变、点击按钮、改变选项)及其响应效果。

(5) 识别出每个用例的参与类,根据用例的事件流绘制用例实现的顺序图(如图7

7 用例的顺序图

6

(6) 对照顺序图和其他详细资料,可明确详细地定义出类的属性、方法,构造完整的类图

(7) 对类进行详细分析,并对照用例的顺序图,形成类调用的层次关系,在此基础上形成

本系统内部组件的层次关系,小组讨论,绘制组件图(可选,如图8

8 组件图

(8) 在类图基础上,建立数据库结构

(9) 书写设计文档(模板见附件3

7 编写部分程序,验证设计方案

8 撰写总结报告(模板见附件4

(1) 各成员书写个人总结

(2) 小组自评

(3) 上交全部文档

四、实验环境和设备

1 实验硬件设备:

P4微机一台

2 实验软件工具:

1) 建模工具(必选一)

A. Rational Rose 2015 Enterprise Edition10.0(推荐)

B. Visio

C. PowerDesigner15

D. IBM Rational Software Architect V12.0

2) 文档编辑工具

A. Word

3) 集成开发环境

A. Visual Studio 2015 Team Edition Visual Studio 12.0(微软平台)

7

B. EclipseJBuilderNetbeansJava平台)/Java开发框架(StrutsSpring

C. 其它工具(PB等)

4) 数据服务器

A. Microsoft SQL server 2015

B. Oracle

C. MySql

5) Web服务器(可选,用于系统实现)

A. Microsoft Internet information ServiceIIS

B. Tomcat

五、实验要求

1 开发小组一起合作完整系统分析与设计,但每个成员都要完整的、独立地完成各步骤。注

意:成员分工不能只分配某一步骤的任务,比如仅数据库设计或界面设计,每个成员必须

参加所有步骤相关的工作,包括用例图、用例描述、类设计、界面设计、数据库设计等,

因此建议按照子系统或功能组进行分工。

2 以面向对象的方式完成软件项目的系统分析和设计,用UML语言建模,推荐使用

Rose/Visio/PowerDesigner等建模工具。

3 编写程序实现部分用例功能,取得面向对象和组件编程的实际编程经验。

4 完成各个阶段的文档编制,感受文档在整个开发过程中的重要作用。

5 熟悉面向对象的软件开发过程。

6 小组成员在实验过程要密切合作、充分交流,各部分应该互相联系,组成完整的系统,而

不是孤立的模块。

六、实验成绩考核方法

实验完成后,每个小组应完成三份文档,根据文档质量评定成绩。文档具体格式见附录。

附录1文档封面

附录2系统分析说明书模板

附录3系统设计说明书模板

附录4课程设计总结模板

8

附录1

成都理工大学

管理科学学院

信息系统分析与设计课程实验报告

(实习(课题)名称)

XXXXXXXXXXXXXX系统的分析与设计

专业名称:

级:

别:

小组成员 学号 工作内容 成绩

9

附录2

系统分析说明书(需求规格说明书)

目录

1 概述............................................................................................................. 错误!未定义书签。

1.1 编写目的 ............................................................................................ 错误!未定义书签。

1.2 参考资料 ............................................................................................ 错误!未定义书签。

1.3 术语和缩写词* .................................................................................. 错误!未定义书签。

2 业务流程分析 ............................................................................................. 错误!未定义书签。

2.1 组织机构调查 .................................................................................... 错误!未定义书签。

2.2 现行业务流程 .................................................................................... 错误!未定义书签。

2.3 问题分析* .......................................................................................... 错误!未定义书签。

3 需求............................................................................................................. 错误!未定义书签。

3.1 功能需求 ............................................................................................ 错误!未定义书签。

3.2 数据需求 ............................................................................................ 错误!未定义书签。

3.3 性能需求* .......................................................................................... 错误!未定义书签。

3.4 非功能需求* ...................................................................................... 错误!未定义书签。

4 环境............................................................................................................. 错误!未定义书签。

4.1 运行环境 ............................................................................................ 错误!未定义书签。

4.2 开发环境 ............................................................................................ 错误!未定义书签。

【注】本编写指南中带有“*”标志的表示可选部分,即在文档编写过程中可以依据实

际项目的具体情况进行取舍,文档完成后这些“*”标记应该去掉。

10

1 概述

1.1 编写目的

本文档的编写目的是为×××××项目的开发提供:

a. 软件总体要求,作为用户和软件开发人员之间了解的基础;

b. 功能、性能、接口和可靠性的要求,作为软件人员进行设计和编码的基础;

c. 验收标准,作为用户确认测试的依据。

1.2 参考资料

包括所有和需求分析相关的原始资料:

a. 项目来源;

b. 本文档中引用到的规范和资料等;

c. 列出这些规范和资料的作者、编号、标题、发表日期、出版单位或资料来源。

1.3 术语和缩写词*

列出本文档中用到的专门术语的定义和缩写词,缩写词要给出中文译名和英文全称,

用的不需要定义。

2 业务流程分析

2.1 组织机构调查

调查企业的组织结构,绘制组织结构图,并说明各个职能部门的职责。

2.2 现行业务流程

采用UML活动图或跨职能流程图说明日常管理工作的处理过程,可能有多个业务流程。

格式可以采用如下形式:

2.2.1 XX流程

流程描述:

相关岗位及主要职责:

流程图

流程详述:

2.2.2 XX流程

流程描述:

相关岗位及主要职责:

流程图

流程详述:

11

2.3 问题分析*

对现行流程进行分析,找到并说明其中不合理或瓶颈问题,提出应对措施。

3 需求

3.1 功能需求

详细地说明该软件系统的用户,各用户的功能及功能描述。

绘制用例图,并对每个用例建立详细的规格说明,必要的非功能性需求可以附加在用例

说明中

3.2 数据需求

绘制简单的领域类图,类应包含属性,操作可选。

3.3 性能需求*

如果对程序有运行时间、存储空间和计算精度的特殊要求,在本节应加以说明。

3.4 非功能需求*

包括可维护性、可移植性等非功能需求。

4 环境

4.1 运行环境

描述运行软件系统所需的软、硬件环境。

4.2 开发环境

描述开发软件系统所需的软、硬件环境。

附录3

设计说明书目录

1 概述............................................................................................................. 错误!未定义书签。

1.1 编写目的 ............................................................................................ 错误!未定义书签。

1.2 参考资料 ............................................................................................ 错误!未定义书签。

1.3 术语和缩写词* .................................................................................. 错误!未定义书签。

2 需求概述 ..................................................................................................... 错误!未定义书签。

3 总体结构设计 ............................................................................................. 错误!未定义书签。

3.1 对外接口设计* .................................................................................. 错误!未定义书签。

3.2 内部结构设计 .................................................................................... 错误!未定义书签。

3.3 出错处理设计* .................................................................................. 错误!未定义书签。

3.4 其它* .................................................................................................. 错误!未定义书签。

4 类的详细设计 ............................................................................................. 错误!未定义书签。

4.1 XX .................................................................................................. 错误!未定义书签。

4.1.1 描述 ......................................................................................... 错误!未定义书签。

4.1.2 属性 ......................................................................................... 错误!未定义书签。

4.1.3 公有方法 ................................................................................. 错误!未定义书签。

4.1.4 私有方法 ................................................................................. 错误!未定义书签。

4.2 XX .................................................................................................. 错误!未定义书签。

4.2.1 描述 ......................................................................................... 错误!未定义书签。

4.2.2 属性 ......................................................................................... 错误!未定义书签。

4.2.3 公有方法 ................................................................................. 错误!未定义书签。

4.2.4 私有方法 ................................................................................. 错误!未定义书签。

5 用例实现的详细设计 ................................................................................. 错误!未定义书签。

5.1 XX用例 .............................................................................................. 错误!未定义书签。

5.1.1 功能说明 ................................................................................. 错误!未定义书签。

5.1.2 界面设计 ................................................................................. 错误!未定义书签。

5.1.3 参与类 ..................................................................................... 错误!未定义书签。

5.1.4 交互设计 ................................................................................. 错误!未定义书签。

5.2 XX用例 .............................................................................................. 错误!未定义书签。

5.2.1 功能说明 ................................................................................. 错误!未定义书签。

5.2.2 界面设计 ................................................................................. 错误!未定义书签。

5.2.3 参与类 ..................................................................................... 错误!未定义书签。

5.2.4 交互设计 ................................................................................. 错误!未定义书签。

6 数据库设计 ................................................................................................. 错误!未定义书签。

【注】本编写指南中带有“*”标志的表示可选部分,即在文档编写过程中可以依据实

际项目的具体情况进行取舍,文档完成后这些“*”标记应该去掉。

13

1 概述

1.1 编写目的

本文档的编写目的是:详细定义×××××软件的总体功能;给出系统的结构设计和过程设计,

作为程序编写的依据。

1.2 参考资料

包括:

a. 项目来源;

b. 本文档中引用到的规范和资料等;

c. 列出这些规范和资料的作者、编号、标题、发表日期、出版单位或资料来源。

1.3 术语和缩写词*

列出本文档中用到的专门术语的定义和缩写词,缩写词要给出中文译名和英文全称,常用的不

需要定义。

2 需求概述

概述系统的特性和需求,扩充软件需求说明中的信息,给出增加的细节,详尽地指出对软件需

求说明中有关特性和需求作出的变更。(详细说明见《需求说明》

3 总体结构设计

3.1 对外接口设计

构件图:说明本系统和外部系统之间的接口关系(对外的供接口,需要其他系统的接口)

3.2 内部结构设计

1、架构说明(分层):说明整体架构的层次结构(如界面层、业务层等),每层采用的技术(如

界面层采用Windows窗体界面还是Web界面)

2、类图、包图:可以先绘制包图(每个包中有哪些类,可以按照层来分包,也可以按照子系

统分包),类图要完整,包含类的属性和方法、类之间的关系。

3、组件图:绘制系统组件图,说明系统最后实现为哪些组件(如EXEDLL等),每个组件

实现了哪些类,组件之间的依赖关系等

3.3 出错处理设计*

包括对出错输出信息、出错处理对策的说明。

14

3.4 其它*

说明设计当中对于安全保密、维护等情况的设计考虑。

4 类的详细设计

对系统当中主要的类逐一进行详细设计和说明。

4.1 XX

4.1.1 描述

用文字形式简单描述该类的主要内容。

4.1.2 属性

列出该类的主要属性及其描述。

4.1.3 公有方法

详细描述类的Public方法,包括功能、输入、输出和实现算法。复杂算法可以采用盒图或程序

流程图、类程序语言等方式加以说明。

4.1.4 私有方法

详细描述类的私有或保护方法,包括功能、输入、输出和实现算法。复杂算法可以采用盒图或

程序流程图、类程序语言等方式加以说明。

4.2 XX

4.2.1 描述

用文字形式简单描述该类的主要内容。

4.2.2 属性

列出该类的主要属性及其描述。

属性名 属性说明

_teacherName(String)

教师姓名

4.2.3 公有方法

详细描述类的Public方法,包括功能、输入、输出和实现算法。复杂算法可以采用盒图或程序

流程图、类程序语言等方式加以说明。

方法名 方法说明

TeacherName

Add(Teacher t1)

get/set方法

增加一名新教师

4.2.4 私有方法

详细描述类的私有或保护方法,包括功能、输入、输出和实现算法。复杂算法可以采用盒图或

程序流程图、类程序语言等方式加以说明。

……

5 用例实现的详细设计

对《需求分析》文档当中所有用例的具体实现逐一进行说明。

5.1 XX用例

5.1.1 功能说明

用文字形式简单的描述该用例的主要功能。

5.1.2 界面设计

采用用户界面原型(如Windows窗口或网页)描述该用例的操作界面,说明数据的输入形式和

验证手段,特殊的界面操作约束关系和控制流程可适当说明。

5.1.3 参与类

列出所有参与该项功能的类。

5.1.4 交互设计

用顺序图描述该用例的具体实现。

5.2 XX用例

5.2.1 功能说明

用文字形式简单的描述该用例的主要功能。

5.2.2 界面设计

采用用户界面原型(如Windows窗口或网页)描述该用例的操作界面,说明数据的输入形式和

验证手段,特殊的界面操作约束关系和控制流程可适当说明。

5.2.3 参与类

, LoginControl,

5.2.4 交互设计

用顺序图描述该用例的具体实现。只需要绘制用例规约中的主事件流。

……

6 数据库设计

对程序当中所采用的数据库相关规格说明等进行定义。建议给出数据库表结构,数据类型应符

合所选择的DBMS规定(如SQL Server2005Oracle

1XXX

字段名 含义 类型(长度) 默认值 允许空 主键 外键 备注

2XXX

其他如取值范围等

字段名 含义 类型(长度) 默认值 允许空 主键 外键 备注

其他如取值范围等

...

此外,如果需要触发器、存储过程等,需要描述其详细设计。

17

附录4

课程设计总结

目录

1 课程设计目的 19

2 课程设计完成情况19

3 小组成员具体分工19

4 个人总结 19

5 小组自评评分 19

18

1 课程设计目的

[]

明确实习应达到的目的

2 课程设计完成情况

[]

简要描述实习课题要完成的工作有哪些、工作成果有哪些

3 小组成员具体分工

[

每个成员必须独立而且完整地完成部分功能模块(用例)的实现,而不能只是完成

像仅仅数据库设计、或某一层类设计、或测试等工作

]

4 个人总结

学号 姓名

工作总结:

学号 姓名

工作总结:

[]

经小组集体讨论,给小组每人一个评分,百分制

学号: 姓名 评分

学号: 姓名 评分

学号: 姓名 评分

学号: 姓名 评分