系统开发规范与文档编写.ppt_第1页
系统开发规范与文档编写.ppt_第2页
系统开发规范与文档编写.ppt_第3页
系统开发规范与文档编写.ppt_第4页
系统开发规范与文档编写.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统开发规范与文档编写 课程辅导 徐惠民 大型作业的目的 通过大型作业的练习 使得学生熟悉软件工程过程和软件生存周期 对于软件需求分析方法和软件设计方法有一个感性的认识 熟悉软件文档的编写 概述 每个作业都是一个具体的应用系统的分析和设计 作业提出基本的系统需求和功能需求 并完成了相当的一部分的分析和设计工作 提供了相应的结果 提出学生作业可以完成的工作 包括需求分析 软件设计及文档编写 特点 综合性 作业内容涉及软件生命周期阶段 包括分析 设计 文档各项 引导性 提供分析和设计的部分结果 引导学生继续完成其他的任务 开放性 作业内容可以根据具体情况来决定 例如 也可以主要是阅读已经完成的设计 写出总结 方法 复习熟悉软件需求分析 软件设计 文档编写的有关内容 阅读大型作业中提供的分析和设计结果 熟悉软件分析和设计的具体过程 先熟悉 再实践 根据实际情况提出具体要求 基本知识 大型作业二是用面向对象设计方法进行软件分析和设计 目前普遍使用面向对象设计方法是UML方法 作业二就是要用UML方法来设计一个选修课管理系统 必须首先熟悉UML的基本知识 基本知识 UML是一个通用的 标准的建模语言 最常用于建立软件系统的模型 UML方法溶入了软件工程领域的新思想 新方法和新技术 它的作用域不限于支持面向对象的分析与设计 还支持从需求分析开始的软件开发的全过程 基本知识 UML中有九种图 diagram 和五种视图 view 九种图包括 用例图 类图 对象图 状态图 顺序图 协作图 活动图 构件图和部署图 用来观察系统的五种视图有 用例视图 逻辑视图 构件视图 并发视图和部署视图 基本知识 使用UML的过程 UML给出了面向对象建模的表示和规则 但并没有指定应用UML的过程和方法 尽管如此 要想成功的使用UML 科学的过程还是必要的 面向对象软件开发框架 需求 分析 设计 实现 测试 用例模型 分析模型 设计模型 实现模型 测试模型 用例驱动开发流程图 分析 设计 实现 测试 用例 需求 用例模型 静态模型 动态模型 实现模型 用例驱动开发流程 用例模型 用例模型用于系统需求的获取 描述系统的功能需求 用例模型由用例图组成 用例图展示了参与者 用例以及它们之间的关系 创建用例模型的工作包括 定义系统 寻找参与者和用例 描述用例 定义用例之间的关系 用例驱动开发流程 用例描述 用例描述用例图只对所构建的系统进行定位和界定范围 提供了对所要完成任务的综合概述 然而 对于参与者和系统的具体交互过程 则没有叙述 用例描述提供了用例模型的实质内容 这些内容是大多数用例建模工作的基础 用例描述一般用活动图来表示 用例驱动开发流程 静态模型 建立静态模型的过程 实际上是对问题域的一个抽象过程 它把问题域与应用域有关的各种类 对象以及它们之间的相互关系进行适当的抽象和分类 以揭示系统的结构 静态模型有类图 对象图和包图 用例驱动开发流程 动态模型 动态模型用来描述系统的动态行为 显示对象在系统运行期间不同时刻的动态交互 从而实现一组对象的相应功能 UML中用状态图 顺序图 协作图和活动图来建立动态模型 用例驱动开发流程 实现模型 系统的实现模型包括构件图和配置图 它们描述了系统实现时的一些特性 如源代码的静态结构和运行时刻的实现结构 构件图显示代码本身的逻辑结构 配置图显示系统运行时的结构 选修课教学管理系统 系统需求 1 开设课程管理管理员对所开设的课程进行管理 允许对所开设的课程进行增加 修改 删除等 选修课教学管理系统功能 2 查询可以按课程名 教师名 学号等多种方式查询课程信息 对于学生的选课信息 学生只能查询本人的 选修课教学管理系统功能 3 学生选课管理学生根据所查询的课程信息 选择自己所要选修的课程 对于已经选择了 但不希望选修的课程 可以进行退选 每个学生最多选修8个学分 选修课教学管理系统功能 4 用户信息管理能够使用系统的每个学生 教师和管理员每人都有一个ID 管理员可以对用户进行增加 删除 修改等操作 选修课教学管理系统功能 5 学生成绩管理成绩管理包括如下功能 1 成绩录入管理员录入学生的成绩信息 2 成绩查询学生可以查看自己所选各科课程的成绩 教师可以查询自己所教课程的学生成绩 并打印报表 用例模型 确定参与者和用例 分析可以识别三个参与者 学生 教师和管理员 学生 查询课表 选课 查询考试成绩教师 查询课表 查询课程成绩管理员 管理所开设的课程 管理用户 录入成绩 执行各种查询功能 用例模型 显然 学生 教师 管理员都是学校里的人员 有一些相同的属性 如ID 姓名 部门等 可以将三者的共性提取出来 形成一个抽象的参与者 用户 用例模型 确定用例 前面已经识别出了参与者 根据系统需求中的描述 可以将系统分为两个顶层用例 选课管理和成绩管理 画出系统的顶层用例图 确定用例 确定用例 选课管理用例可以分解为 1 课程信息查询 提供按学生查询 按任课教师查询 按课程名查询等多种查询方式 2 选课 学生对自己所选的课程进行管理 包括增加所选课程 删除所选课程等 确定用例 3 课程信息管理 管理员对学校所开设的课程进行管理 包括增加课程 删除课程 修改课程信息等 4 用户管理 为简化处理 假设系统从学生管理系统中获取学生信息 从学校人事管理系统中获取教师信息 确定用例 确定用例 成绩管理用例可以分解为以下用例 1 学生成绩查询学生查询自己所选课程的成绩 2 课程成绩查询教师查询自己所教课程的学生成绩 3 成绩管理管理员录入或修改学生成绩 确定用例 可以根据上述对于成绩管理用例的分解 具体画出成绩管理用例的用例图 确定用例 除此之外 显然 系统还需要一个登录的用例 用例描述 1 登录用例的描述1 1简单描述本用例描述了用户如何登录到系统中 1 2前置条件无1 3后置条件如果用例成功 则用户登录到系统中 否则 系统状态不变 用例描述 1 4事件流1 4 1基本流 1 当用户开始使用系统时 登录用例启动 2 系统提示用户输入用户名和密码 3 用户提交 4 系统验证输入的用户名和密码 用户登录成功 用例描述 1 4 2备选流在基本流4中 如果用户输入的名字或密码没有通过验证 系统提示错误信息 用户可以重新输入或中止该用例 当用户开始使用系统时 登录用例启动 用户提交 系统提示用户输入用户名和密码 系统验证输入的用户名和密码 用户登录成功 名字或密码没有通过验证 系统提示错误信息 用例描述 大型作业教材中还给出了其他用例的用例描述 可以根据这些描述 画出相应的活动图 作为练习 静态模型 把问题域与应用域有关的各种类 对象以及它们之间的相互关系进行适当的抽象和分类 以揭示系统的结构 静态模型 定义系统对象 从用例模型中查找系统对象 并进一步抽象为类 确定每一个类的属性和操作 识别出系统中的类后 还要识别出类间的关系 建立类图 静态模型 User 用户 类可以将学生 教师和管理员的共性部分抽象出来 作为单独的一个类User 这样就简化了其它的三个类 并提高了系统的可维护性和可复用性 静态模型 属性 ID 惟一标识一个用户的一个字符串 Name 用户的名字 Dept 所在部门 Password 口令 方法 Verify 验证用户名和口令是否有效 Add 增加用户 Delete 删除用户 Find 查找用户 静态模型 Student 学生 Student类封装类学生的信息 Student类的属性定义了按某种方式定位的学生信息 其操作定义了学生可以执行的各种功能 Teacher 教师 Teacher类封装了教师的信息 用于对教师信息进行管理 Administrator 管理员 管理员类用于对管理员的进行维护 静态模型 除了和参与者有关的类 还要定义一些和课程有关的类 Course 课程 类 CourseSelect 选课信息 类 可以考虑这些类应该有什么属性和方法 静态模型 定义用户界面类 显然 在系统运行过程中 用户经常需要和系统进行交互 一个用户友好的系统通常都采用直观的图形可视化界面 因此需要定义系统的用户界面类 通过对系统的不断分析和细化 可识别出下述的界面类 静态模型 主要是一些窗口或者对话框 通过窗口或者对话框中的按钮 菜单等控件的当作 完成各种选课管理系统需要完成的功能 如由MainWindow QueryCourseScore QueryCourseWnd 动态行为模型 动态模型用来描述系统的动态行为 显示对象在系统运行期间不同时刻的动态交互 从而实现一组对象的相应功能 UML中用状态图 时序图 协作图和活动图来建立动态模型 动态行为模型 时序图顺序图显示特定用例 也可以是用例的一部分 的详细流程 并且显示了它们之间的交互 显示对象之间发送消息的顺序 即系统执行的某一特定时间所发生的事件 顺序图有两个维度 垂直维度以发生的时间顺序显示消息 调用的序列 水平维度显示消息被发送到的对象实例 动态行为模型 登录时序图在执行登录时 首先由用户启动系统 窗口LoginWnd被创建 用户在填写完用户名和口令之后提交各系统验证 若正确 向主窗口发送消息 创建主窗口 应该注意到时序图和用例描述的不同 直接和系统对象发生联系 动态行为模型 选课时序图1 当学生在主窗口中执行选择课程功能时 用例启动 2 由主窗口向选课窗口发送创建窗口消息来创建选课窗口 3 选课窗口调用CourseSelect类的FindByStudent操作 获取当前学生的所有选课信息 4 通过ShowCouese操作显示在窗口中 动态行为模型 5 由学生修改课程后 通过选课窗口的Update操作进行提交 6 选课窗口向CourseSelect类发送SelectCourse消息 进行课程更新 7 最后 由学生在界面上点击关闭 来向选课窗口发送销毁窗口消息 用例结束 动态行为模型 协作图与顺序图一样 协作图也展示对象间的动态协作关系 它除了说明消息的交互外 还显示对象间的关系 通常可在顺序图或者协作图之间选择一个来表示协作关系 如果强调时间和顺序 则使用顺序图 如果强调多个对象间的协作 则选择协作图 动态行为模型 学生成绩查询的协作图首先 学生通过主窗口的菜单或工具条 向主窗口发送学生成绩查询请求 主窗口创建学生成绩查询窗口 之后 学生成绩查询窗口调用课程选择对象中的FindByStudent方法 将该学生所选择的课程及每门课程的成绩显示出来 最后 学生通过学生成绩查询窗口的按钮 向该窗口发送关闭消息 动态行为模型 活动图活动图展示了连续的活动流 活动图通常用来描述完成一个操作所需要的活动 当然它还能用于描述其他活动流 如描述用例 活动图由动作状态组成 它包含完成一个活动的活动规约 即规格说明 实现模型 系统的实现模型包括构件图和配置图 本系统是一个基于校园局域网的系统 可以通过配置图显示它的物理结构 共有4个结点组成 作业要求 1 参照用例模型中的登录活动图 画出学生选课的活动图 只要求包含两个对象 用户和系统 作业要求 选课用例由学生启动 启动之后 系统将弹出选课窗口 在窗口中显示所开设的全部课程 并对所选择的课程作出标记 学生对自己所选的课程进行修改后 提交给系统 系统首先检查学生所选课程的学分是否超标 大于8分 若不超标 则更新系统数据 否则 显示错误信息 回到选课界面修改所选课程 作业要求 2 在系统的静态模型中 为所有的界面类定义了基类Window 画出类Window与别的界面类的关系图 作业要求 3 在系统的静态模型中 Library包中的系统类与GUI包中的界面类也存在着关联关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论