OO系统分析.docx
- 文档编号:30409656
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:11
- 大小:65.47KB
OO系统分析.docx
《OO系统分析.docx》由会员分享,可在线阅读,更多相关《OO系统分析.docx(11页珍藏版)》请在冰豆网上搜索。
OO系统分析
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料3
2系统结构模型3
2.1初始对象表3
2.2初始类图4
2.3细化类图4
2.3.1属性的识别5
2.3.2操作的识别6
2.4三层精化类图7
3系统行为模型8
3.1交互模型8
3.2状态模型9
概要设计说明书
1引言
1.1编写目的
编写本说明书的目的是说明系统的静态结构及动态结构,包括初始的类模型、细化的类、动态交互模型,为进一步的设计和开发提供依据。
预期读者为:
软件开发的人员,项目评审人员,及软件测试人员。
1.2背景
说明:
a.待开发软件系统的名称:
学生管理系统;
b.本项目的任务提出者:
南京航空航天大学学生处;
c.本项目的任务开发者:
南京航空航天大学信息学院;
d.用户及实现该软件的计算中心或计算机网络:
南航计算机中心;
e.该软件系统同其他系统或其他机构的基本的相互来往关系:
本系统同学校的其他管理系统(如:
教务管理系统、图书管理系统、校园卡管理系统等)共同构成学校的自动化办公系统。
1.3定义
用户名及口令与用户分类信息:
存放在一个数据库表中,用以判断该用户是管理员还是学生、教师;
学生用户信息管理:
是学生用户使用该系统的权限的表现,只能处理自己的信息
管理员用户信息管理:
是管理员用户使用全县的表现,每一位管理员所拥有的权限不同,这在用户分类信息中都已表示出来;
学生基本信息:
即档案信息,存放学生的学号、姓名、年龄、班级、性别、专业、状态等各项基本信息,学生可以查询,管理员可以对学生状态进行修改,分为注册、注销等;
选课信息:
使每一位学生选择课程的总库,学生学号与课程号(明)共同唯一的决定一条记录,学生选择课程后将其选择记入库中;
成绩信息:
学生选择课程的成绩由授课教师在课程结束后记入库中,学生只能进行查询而不能修改,授课教师有登记和修改的权限;
1.4参考资料
2系统结构模型
2.1初始对象表
通过对需求的分析,提炼出可能的对象/类,这是面向对象系统分析设计的关键,也是难点所在。
为了准确识别系统的类和对象,从以下三个方面进行考虑:
1、考虑系统责任
对照系统责任所要求的每一项功能,查看是否可以由现有的对象完成这些功能。
如果发现某些功能在现有的任何对象中都不能提供,则可启发我们发现问题域中某些遗漏的对象。
2、名词技术
从名词到对象或类通常有一对一的映射。
运用名词、代词和名词短语识别对象和类。
可以启发发现对象的因素包括:
人员、组织、物品、设备、事件(如索赔、上访、交易)、表格、日志、报告、结构(汽车上面有车辆,下面有客车和轿车,左右有摩托车;内有发动机)等。
3、从用例中识别
(1)用例描述中出现哪些实体?
需要哪些实体的合作?
(2)用例执行过程中会产生并存储哪些信息?
(3)用例要求与之相关的每个角色的输入是什么?
(4)用例反馈与之关联的每个角色的输出是什么?
(5)用例需要操作哪些设备?
通过对学生信息系统的分析,建立初始对象/类表如下:
可能的类
英文类名
简单描述
用户
User
用户分三类:
管理员、学生、教师
账户信息
Account
账户信息是系统需要管理的对象
学生档案
StudentInformation
学生档案信息是系统需要管理的对象
课程
Course
课程信息是系统需要管理的对象
选课信息
SelectCourse
选课信息是系统需要管理的对象
成绩信息
Score
成绩信息无需另外用对象管理,成绩作为选课记录的一个属性即可
2.2初始类图
这一部的分析重点在于类和类间关系的表示,即系统体系结构的建立,因此对类的描述,只要给出其关键字即可,属性和操作的细化工作可以在类模型完成后再进行。
通过分析,学生管理系统的初始类图如图2.1所示。
2.3细化类图
初始类图奠定了系统的体系结构,对象/类还需进一步细化描述其属性和操作,为下一步数据库设计和模块实现做准备。
(以下仅以用户类和选课信息类为例)
2.3.1属性的识别
确定属性可以通过提出以下问题得到:
☐按常识这个对象应该有哪些属性?
☐在当前的问题域中,对象应该有哪些属性?
☐根据系统责任,这个对象应具有哪些属性?
☐建立这个对象是为了保存和管理哪些信息?
☐对象为了完成其功能,需要增设哪些属性?
☐对象是否需要通过专设的属性区别其状态?
☐用什么属性表示聚集和关联?
☐可利用需求文档中的形容词或所有格短语。
类名:
账户信息
属性表如表2.1所示:
表2.1账户信息类属性表
中文名
英文名
数据类型
账号
userID
String
密码
password
String
等级
grade
Menu
类名:
选课信息
属性表如表2.2所示:
表2.2选课信息类属性表
中文名
英文名
数据类型
课程号
courseID
String
课程名
courseName
String
学号
studentID
String
学生名
studentName
String
成绩
score
Int
其他类的属性表此处略,
2.3.2操作的识别
1、操作的分类
基本操作:
包括数据库检索和更新,如增加、删除、修改、分类、选择、查询、计算、汇总
关键操作:
必须由对象提供的、在算法上复杂的业务操作(如要进行某些计算或监控操作)。
2、操作的识别
确定属性可以通过提出以下问题得到:
☐有哪些类会与该类交互?
☐所有与该类具有交互行为的类会发送哪些消息给该类?
该类又会发送哪些消息给这些类?
☐该类如何响应别的类发送来的消息?
在发送消息之前,该类需要做何处理?
☐从该类本身来说,它应该具有哪些操作来维持其信息的更新、一致性和完整性?
☐系统是否需要该类有另外一些职责?
类名:
账户信息
操作表如表2.3所示:
表2.3账户信息类操作表
中文名
英文名
返回值类型
增加一个用户
addUser()
void
删除一个用户
deleteUser()
void
修改用户信息
updateUser()
void
判断是否合法用户
isUser()
boolean
判断用户等级
grade()
String
查询用户信息
getUsers()
类名:
选课信息
操作表如表2.4所示:
表2.4选课信息类操作表
中文名
英文名
返回值类型
选课
addRecord()
void
退课
deleteRecord()
void
判断是否可选
isSelect()
boolean
查询选课信息
getRecords()
List
3、
4、
5、
6、
7、
8、
2.4三层精化类图
在初始类图的基础上,运用三层体系结构思想对基本类模型进行划分。
根据各个对象的具体情况,将对象分成界面、事务和数据层。
1、对用户类的三层划分
界面层:
login.jsp登录界面
failure.jsp登录失败界面,提示错误所在
admin.jsp管理员登录成功返回的界面
student.jsp学生登录成功返回的界面
teacher.jsp教师登录成功返回的界面
事务层:
login.java登录处理
数据层:
account.dat账户信息表
2、对账户信息类的三层划分
界面层:
user_add.jsp增加用户界面
user_update.jsp修改用户信息(包括密码)界面
user_query.jsp用户查询界面
user_single.jsp单个用户信息显示界面
user_list.jsp多个用户信息列表显示界面
user_error.jsp各种出错提示界面
事务层:
account.java账户信息管理类
数据层:
account.dat账户信息表
3、
4、
5、
6、
7、
8、
注意,除了类图中的类以外,系统类的提炼也非常关键。
如有必要提取系统的数据库连接类,负责完成所有的数据库连接,该类没有界面层,没有数据层,只有事务层dbConnector.java。
3系统行为模型
3.1交互模型
交互是指共同完成特定任务的一组对象之间交换消息的行为,用于刻划系统的控制流,存在于对象协作或操作实现过程中。
交互模型包括顺序图和协作图,顺序图强调时间顺序,协作图强调对象间的合作关系,顺序图与协作图可相互转换,无信息损失。
顺序图和合作图的选择原则如下:
(1)如果对象数目不多,交互情况不复杂,应选择顺序图;
(2)如果系统关系对象交互行为的时间特性,应选择顺序图;
(3)如果对象数目很多,且交互情况较复杂,可能使用协作图,但其中的某些“场景片断”可以使用顺序图来专门描述其时间特性。
交互模型的建模步骤:
(1)列出用例相关的所有对象(类);
(2)根据活动及类间关系确定对象间的消息通讯;
(3)定义对象间的消息连接和消息格式;
(4)确定消息发生的时间顺序;
(5)确定消息编号(针对协作图);
(6)画出交互模型。
本例中,登录、选课、退选是系统中较重要且较复杂的流程,因此需要用交互图进行控制流说明。
这里以登录为例,顺序图如图3.1,其他顺序图略。
3.2状态模型
状态模型用于描述单个对象在生命期内响应事件所经历的状态及转移行为,是由状态及活动、转换及事件脚本组成的状态机。
一个状态机可表示成一个状态图,体现从状态到状态的控制流。
并不需要为系统的每个对象建立状态图,在大多数情况下,仅对这样的对象的建立状态图:
它具有清晰的生命期,对其语境外部的事件能做出反应,且它的当前行为受它的过去行为的影响,这样的对象一般为被动型对象。
这里以选课信息对象为例说明状态图的使用场合,其他对象的状态略。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OO 系统分析