oo系统分析

上传人:xzh****18 文档编号:34632664 上传时间:2018-02-26 格式:DOC 页数:10 大小:380.50KB
返回 下载 相关 举报
oo系统分析_第1页
第1页 / 共10页
oo系统分析_第2页
第2页 / 共10页
oo系统分析_第3页
第3页 / 共10页
oo系统分析_第4页
第4页 / 共10页
oo系统分析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《oo系统分析》由会员分享,可在线阅读,更多相关《oo系统分析(10页珍藏版)》请在金锄头文库上搜索。

1、1 引言 .21.1 编写目的 .21.2 背景 .21.3 定义 .21.4 参考资料 .32 系统结构模型 .32.1 初始对象表 .32.2 初始类图 .42.3 细化类图 .42.3.1 属性的识别 .52.3.2 操作的识别 .62.4 三层精化类图 .73 系统行为模型 .83.1 交互模型 .83.2 状态模型 .9概要设计说明书1 引言1.1 编写目的编写本说明书的目的是说明系统的静态结构及动态结构,包括初始的类模型、细化的类、动态交互模型,为进一步的设计和开发提供依据。 预期读者为:软件开发的人员,项目评审人员,及软件测试人员。1.2 背景说明:a. 待开发软件系统的名称:学

2、生管理系统;b. 本项目的任务提出者:南京航空航天大学学生处;c. 本项目的任务开发者:南京航空航天大学 信息学院;d. 用户及实现该软件的计算中心或计算机网络:南航计算机中心;e. 该软件系统同其他系统或其他机构的基本的相互来往关系:本系统同学校的其他管理系统(如:教务管理系统、图书管理系统、校园卡管理系统等)共同构成学校的自动化办公系统。 1.3 定义用户名及口令与用户分类信息:存放在一个数据库表中,用以判断该用户是管理员还是学生、教师;学生用户信息管理:是学生用户使用该系统的权限的表现,只能处理自己的信息管理员用户信息管理:是管理员用户使用全县的表现,每一位管理员所拥有的权限不同,这在用

3、户分类信息中都已表示出来;学生基本信息:即档案信息,存放学生的学号、姓名、年龄、班级、性别、专业、状态等各项基本信息,学生可以查询,管理员可以对学生状态进行修改,分为注册、注销等;选课信息:使每一位学生选择课程的总库,学生学号与课程号(明)共同唯一的决定一条记录,学生选择课程后将其选择记入库中;成绩信息:学生选择课程的成绩由授课教师在课程结束后记入库中,学生只能进行查询而不能修改,授课教师有登记和修改的权限;1.4 参考资料2 系统结构模型2.1 初始对象表通过对需求的分析,提炼出可能的对象/类,这是面向对象系统分析设计的关键,也是难点所在。为了准确识别系统的类和对象,从以下三个方面进行考虑:

4、1、考虑系统责任对照系统责任所要求的每一项功能,查看是否可以由现有的对象完成这些功能。如果发现某些功能在现有的任何对象中都不能提供,则可启发我们发现问题域中某些遗漏的对象。 2、名词技术 从名词到对象或类通常有一对一的映射。运用名词、代词和名词短语识别对象和类。 可以启发发现对象的因素包括:人员、组织、物品、设备、事件(如索赔、上访、交易) 、表格、日志、报告、结构(汽车上面有车辆,下面有客车和轿车,左右有摩托车;内有发动机)等。3、从用例中识别 (1)用例描述中出现哪些实体?需要哪些实体的合作?(2)用例执行过程中会产生并存储哪些信息?(3)用例要求与之相关的每个角色的输入是什么?(4)用例

5、反馈与之关联的每个角色的输出是什么?(5)用例需要操作哪些设备?通过对学生信息系统的分析,建立初始对象/类表如下:可能的类 英文类名 简单描述用户 User 用户分三类:管理员、学生、教师账户信息 Account 账户信息是系统需要管理的对象学生档案 StudentInformation 学生档案信息是系统需要管理的对象课程 Course 课程信息是系统需要管理的对象选课信息 SelectCourse 选课信息是系统需要管理的对象成绩信息 Score 成绩信息无需另外用对象管理,成绩作为选课记录的一个属性即可2.2 初始类图这一部的分析重点在于类和类间关系的表示,即系统体系结构的建立,因此对类

6、的描述,只要给出其关键字即可,属性和操作的细化工作可以在类模型完成后再进行。通过分析,学生管理系统的初始类图如图 2.1 所示。- 账号用 户- 账号管 理 员- 账号学 生- 账号教 师- 学号学 生 档 案- 课程号课 程11- 学号- 课程号选 课 信 息图 2 . 1 学生管理系统初始类图- 账号账 户 信 息12.3 细化类图 初始类图奠定了系统的体系结构,对象/类还需进一步细化描述其属性和操作,为下一步数据库设计和模块实现做准备。 (以下仅以用户类和选课信息类为例)2.3.1 属性的识别确定属性可以通过提出以下问题得到: 按常识这个对象应该有哪些属性? 在当前的问题域中,对象应该有

7、哪些属性? 根据系统责任,这个对象应具有哪些属性? 建立这个对象是为了保存和管理哪些信息? 对象为了完成其功能,需要增设哪些属性? 对象是否需要通过专设的属性区别其状态? 用什么属性表示聚集和关联? 可利用需求文档中的形容词或所有格短语。 类名:账户信息属性表如表 2.1 所示:表 2.1 账户信息类属性表中文名 英文名 数据类型账号 userID String密码 password String等级 grade Menu类名:选课信息属性表如表 2.2 所示:表 2.2 选课信息类属性表中文名 英文名 数据类型课程号 courseID String课程名 courseName String学

8、号 studentID String学生名 studentName String成绩 score Int其他类的属性表此处略,2.3.2 操作的识别1、操作的分类基本操作:包括数据库检索和更新,如增加、删除、修改、分类、选择、查询、计算、汇总关键操作:必须由对象提供的、在算法上复杂的业务操作(如要进行某些计算或监控操作) 。2、操作的识别确定属性可以通过提出以下问题得到: 有哪些类会与该类交互? 所有与该类具有交互行为的类会发送哪些消息给该类?该类又会发送哪些消息给这些类? 该类如何响应别的类发送来的消息?在发送消息之前,该类需要做何处理? 从该类本身来说,它应该具有哪些操作来维持其信息的更新

9、、一致性和完整性? 系统是否需要该类有另外一些职责?类名:账户信息操作表如表 2.3 所示:表 2.3 账户信息类操作表中文名 英文名 返回值类型增加一个用户 addUser() void删除一个用户 deleteUser() void修改用户信息 updateUser() void判断是否合法用户 isUser() boolean判断用户等级 grade() String查询用户信息 getUsers()类名:选课信息操作表如表 2.4 所示:表 2.4 选课信息类操作表中文名 英文名 返回值类型选课 addRecord() void退课 deleteRecord() void判断是否可选

10、isSelect() boolean查询选课信息 getRecords() List3、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 用户查询界面

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号