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

下载本文档

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

文档简介

1、徐惠民徐惠民通过大型作业的练习,使得学生通过大型作业的练习,使得学生熟熟悉软件工程过程和软件生存周期,悉软件工程过程和软件生存周期,对于软件需求分析方法和软件设计对于软件需求分析方法和软件设计方法有一个感性的认识,熟悉软件方法有一个感性的认识,熟悉软件文档的编写。文档的编写。每个作业都是一个具体的应用系统每个作业都是一个具体的应用系统的分析和设计。的分析和设计。作业提出基本的系统需求和功能需作业提出基本的系统需求和功能需求,并完成了相当的一部分的分析求,并完成了相当的一部分的分析和设计工作,提供了相应的结果。和设计工作,提供了相应的结果。提出学生作业可以完成的工作,包提出学生作业可以完成的工作

2、,包括需求分析,软件设计及文档编写。括需求分析,软件设计及文档编写。 综合性:作业内容涉及软件生命周期阶综合性:作业内容涉及软件生命周期阶段,包括分析、设计、文档各项。段,包括分析、设计、文档各项。 引导性:提供分析和设计的部分结果,引导性:提供分析和设计的部分结果,引导学生继续完成其他的任务。引导学生继续完成其他的任务。 开放性:作业内容可以根据具体情况来开放性:作业内容可以根据具体情况来决定,例如,也可以主要是阅读已经完决定,例如,也可以主要是阅读已经完成的设计,写出总结。成的设计,写出总结。复习熟悉软件需求分析、软件设计、复习熟悉软件需求分析、软件设计、文档编写的有关内容。文档编写的有关

3、内容。阅读大型作业中提供的分析和设计阅读大型作业中提供的分析和设计结果,熟悉软件分析和设计的具体结果,熟悉软件分析和设计的具体过程。过程。先熟悉,再实践,根据实际情况提先熟悉,再实践,根据实际情况提出具体要求。出具体要求。大型作业二是用面向对象设计方法大型作业二是用面向对象设计方法进行软件分析和设计。进行软件分析和设计。目前普遍使用面向对象设计方法是目前普遍使用面向对象设计方法是UMLUML方法,作业二就是要用方法,作业二就是要用UMLUML方方法来设计一个选修课管理系统。法来设计一个选修课管理系统。必须首先熟悉必须首先熟悉UMLUML的基本知识。的基本知识。UMLUML是一个通用的、标准的建

4、模语是一个通用的、标准的建模语言,最常用于建立软件系统的模型。言,最常用于建立软件系统的模型。UMLUML方法方法溶入了软件工程领域的新溶入了软件工程领域的新思想、新方法和新技术。它的作用思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件计,还支持从需求分析开始的软件开发的全过程。开发的全过程。 UMLUML中有九种图(中有九种图(diagramdiagram)和五种)和五种视图(视图(viewview)。九种图包括:用例)。九种图包括:用例图、类图、对象图、状态图、顺序图、类图、对象图、状态图、顺序图、协作图、活动图、构件

5、图和部图、协作图、活动图、构件图和部署图。用来观察系统的五种视图有:署图。用来观察系统的五种视图有:用例视图、逻辑视图、构件视图、用例视图、逻辑视图、构件视图、并发视图和部署视图。并发视图和部署视图。 UMLUML给出了面向对象建模的表示和给出了面向对象建模的表示和规则,但并没有指定应用规则,但并没有指定应用UMLUML的过的过程和方法。程和方法。尽管如此,要想成功的使用尽管如此,要想成功的使用UMLUML,科学的过程还是必要的。科学的过程还是必要的。 开发开发需求需求分析分析设计设计实现实现测试测试用例模型用例模型分析模型分析模型设计模型设计模型实现模型实现模型测试模型测试模型分析分析设计设

6、计实现实现测试测试用例用例需求需求用例模型用例模型静态模型静态模型动态模型动态模型实现模型实现模型 用例模型用于系统需求的获取,描述系用例模型用于系统需求的获取,描述系统的功能需求。统的功能需求。 用例模型由用例图组成,用例图展示了用例模型由用例图组成,用例图展示了参与者、用例以及它们之间的关系。参与者、用例以及它们之间的关系。 创建用例模型的工作包括:定义系统,创建用例模型的工作包括:定义系统,寻找参与者和用例,描述用例,定义用寻找参与者和用例,描述用例,定义用例之间的关系例之间的关系。 用例描述用例描述用例图只对所构建的系统进行定位和用例图只对所构建的系统进行定位和界定范围,提供了对所要完

7、成任务的界定范围,提供了对所要完成任务的综合概述。然而,对于参与者和系统综合概述。然而,对于参与者和系统的具体交互过程,则没有叙述。用例的具体交互过程,则没有叙述。用例描述提供了用例模型的实质内容,这描述提供了用例模型的实质内容,这些内容是大多数用例建模工作的基础。些内容是大多数用例建模工作的基础。用例描述一般用活动图来表示。用例描述一般用活动图来表示。 建立静态模型的过程,实际上是对建立静态模型的过程,实际上是对问题域的一个抽象过程,它把问题问题域的一个抽象过程,它把问题域与应用域有关的各种类、对象以域与应用域有关的各种类、对象以及它们之间的相互关系进行适当的及它们之间的相互关系进行适当的抽

8、象和分类,以揭示系统的结构。抽象和分类,以揭示系统的结构。静态模型有类图、对象图和包图。静态模型有类图、对象图和包图。 动态模型用来描述系统的动态行为,动态模型用来描述系统的动态行为,显示对象在系统运行期间不同时刻显示对象在系统运行期间不同时刻的动态交互,从而实现一组对象的的动态交互,从而实现一组对象的相应功能。相应功能。UMLUML中用状态图、顺序中用状态图、顺序图、协作图和活动图来建立动态模图、协作图和活动图来建立动态模型。型。 系统的实现模型包括构件图和配置系统的实现模型包括构件图和配置图。它们描述了系统实现时的一些图。它们描述了系统实现时的一些特性。如源代码的静态结构和运行特性。如源代

9、码的静态结构和运行时刻的实现结构。构件图显示代码时刻的实现结构。构件图显示代码本身的逻辑结构,配置图显示系统本身的逻辑结构,配置图显示系统运行时的结构。运行时的结构。 系统需求:系统需求: 1. 开设课程管理开设课程管理管理员对所开设的课程进行管理,允管理员对所开设的课程进行管理,允许对所开设的课程进行增加,修改,许对所开设的课程进行增加,修改,删除等。删除等。 2.查询查询可以按课程名,教师名,学号等多种可以按课程名,教师名,学号等多种方式查询课程信息。对于学生的选课方式查询课程信息。对于学生的选课信息,学生只能查询本人的。信息,学生只能查询本人的。 3.3.学生选课管理学生选课管理学生根据

10、所查询的课程信息,选择自学生根据所查询的课程信息,选择自己所要选修的课程。对于已经选择了,己所要选修的课程。对于已经选择了,但不希望选修的课程,可以进行退选。但不希望选修的课程,可以进行退选。每个学生最多选修每个学生最多选修8 8个学分。个学分。 4.4.用户信息管理用户信息管理 能够使用系统的每个学生、教师和管能够使用系统的每个学生、教师和管理员每人都有一个理员每人都有一个IDID,管理员可以对,管理员可以对用户进行增加,删除,修改等操作。用户进行增加,删除,修改等操作。 5.5.学生成绩管理学生成绩管理 成绩管理包括如下功能:成绩管理包括如下功能:(1 1)成绩录入)成绩录入 管理员录入学

11、生的成绩信息。管理员录入学生的成绩信息。(2 2)成绩查询)成绩查询 学生可以查看自己所选各科课程的成绩。学生可以查看自己所选各科课程的成绩。教师可以查询自己所教课程的学生成绩,教师可以查询自己所教课程的学生成绩,并打印报表。并打印报表。 确定参与者和用例确定参与者和用例 : 分析可以识别三个参与者:学生,教师分析可以识别三个参与者:学生,教师和管理员。和管理员。 学生:查询课表,选课,查询考试成绩学生:查询课表,选课,查询考试成绩 教师:查询课表,查询课程成绩教师:查询课表,查询课程成绩管理员:管理所开设的课程,管理用户,管理员:管理所开设的课程,管理用户,录入成绩,执行各种查询功能。录入成

12、绩,执行各种查询功能。 显然,学生、教师、管理员都是学显然,学生、教师、管理员都是学校里的人员,有一些相同的属性,校里的人员,有一些相同的属性,如如IDID,姓名,部门等,可以将三者,姓名,部门等,可以将三者的共性提取出来,形成一个抽象的的共性提取出来,形成一个抽象的参与者参与者用户。用户。 前面已经识别出了参与者,根据系前面已经识别出了参与者,根据系统需求中的描述,可以将系统分为统需求中的描述,可以将系统分为两个顶层用例:选课管理和成绩管两个顶层用例:选课管理和成绩管理,画出系统的顶层用例图。理,画出系统的顶层用例图。 选课管理用例可以分解为:选课管理用例可以分解为:1 1课程信息查询:提供

13、按学生查询,课程信息查询:提供按学生查询,按任课教师查询,按课程名查询等按任课教师查询,按课程名查询等多种查询方式。多种查询方式。2 2选课:学生对自己所选的课程进选课:学生对自己所选的课程进行管理,包括增加所选课程,删除行管理,包括增加所选课程,删除所选课程等。所选课程等。3 3课程信息管理:管理员对学校所课程信息管理:管理员对学校所开设的课程进行管理,包括增加课开设的课程进行管理,包括增加课程,删除课程,修改课程信息等。程,删除课程,修改课程信息等。4 4用户管理:用户管理:为简化处理,假设系为简化处理,假设系统从学生管理系统中获取学生信息,统从学生管理系统中获取学生信息,从学校人事管理系

14、统中获取教师信从学校人事管理系统中获取教师信息息 。 成绩管理用例可以分解为以下用例:成绩管理用例可以分解为以下用例: 1 1 学生成绩查询学生成绩查询 学生查询自己所选课程的成绩。学生查询自己所选课程的成绩。 2 2 课程成绩查询课程成绩查询 教师查询自己所教课程的学生成绩。教师查询自己所教课程的学生成绩。 3 3 成绩管理成绩管理 管理员录入或修改学生成绩。管理员录入或修改学生成绩。可以根据上述对于成绩管理用例的可以根据上述对于成绩管理用例的分解,具体画出成绩管理用例的用分解,具体画出成绩管理用例的用例图。例图。除此之外,显然,系统还需要一个除此之外,显然,系统还需要一个登录的用例:登录的

15、用例: 1 1登录用例的描述登录用例的描述 1.1 1.1 简单描述简单描述 本用例描述了用户如何登录到系统中。本用例描述了用户如何登录到系统中。 1.2 1.2 前置条件前置条件 无无 1.3 1.3 后置条件后置条件 如果用例成功,则用户登录到系统中。否如果用例成功,则用户登录到系统中。否则,系统状态不变。则,系统状态不变。 1.4 1.4 事件流事件流 1.4.1 1.4.1 基本流基本流(1 1)当用户开始使用系统时,登录用例启)当用户开始使用系统时,登录用例启动;动;(2 2)系统提示用户输入用户名和密码;)系统提示用户输入用户名和密码;(3 3)用户提交;)用户提交;(4 4)系统

16、验证输入的用户名和密码,用户)系统验证输入的用户名和密码,用户登录成功登录成功1.4.2 1.4.2 备选流备选流在基本流在基本流4 4中,如果用户输入的名字中,如果用户输入的名字或密码没有通过验证,系统提示错误或密码没有通过验证,系统提示错误信息,用户可以重新输入或中止该用信息,用户可以重新输入或中止该用例。例。当用户开始当用户开始使用系统时,使用系统时,登录用例启登录用例启动动用户提交用户提交系统提示系统提示用户输入用户输入用户名和用户名和密码密码系统验证系统验证输入的用输入的用户名和密户名和密码,用户码,用户登录成功登录成功名字或密名字或密码没有通码没有通过验证,过验证,系统提示系统提示

17、错误信息错误信息大型作业教材中还给出了其他用例大型作业教材中还给出了其他用例的用例描述;的用例描述;可以根据这些描述,画出相应的活可以根据这些描述,画出相应的活动图,作为练习。动图,作为练习。把问题域与应用域有关的各种类、把问题域与应用域有关的各种类、对象以及它们之间的相互关系进行对象以及它们之间的相互关系进行适当的抽象和分类,以揭示系统的适当的抽象和分类,以揭示系统的结构。结构。 定义系统对象:定义系统对象:从用例模型中查找系统对象,并进一从用例模型中查找系统对象,并进一步抽象为类。步抽象为类。 确定每一个类的属性和操作。确定每一个类的属性和操作。 识别出系统中的类后,还要识别出类识别出系统

18、中的类后,还要识别出类间的关系,建立类图。间的关系,建立类图。 UserUser(用户)(用户) 类类可以将学生,教师和管理员的共性部可以将学生,教师和管理员的共性部分抽象出来,作为单独的一个类分抽象出来,作为单独的一个类UserUser,这样就简化了其它的三个类,并提高这样就简化了其它的三个类,并提高了系统的可维护性和可复用性。了系统的可维护性和可复用性。 属性:属性: IDID:惟一标识一个用户的一个字符串:惟一标识一个用户的一个字符串 ; NameName:用户的名字;:用户的名字;DeptDept:所在部门;:所在部门;PasswordPassword:口令。:口令。 方法:方法: V

19、erifyVerify:验证用户名和口令是否有效;:验证用户名和口令是否有效;AddAdd:增加用户;:增加用户;DeleteDelete:删除用户;:删除用户;FindFind:查找用户。:查找用户。 StudentStudent(学生)(学生) StudentStudent类封装类学生的信息,类封装类学生的信息,StudentStudent类的类的属性定义了按某种方式定位的学生信息,其操作属性定义了按某种方式定位的学生信息,其操作定义了学生可以执行的各种功能。定义了学生可以执行的各种功能。 TeacherTeacher(教师)(教师) TeacherTeacher类封装了教师的信息,用于对

20、教类封装了教师的信息,用于对教师信息进行管理。师信息进行管理。 AdministratorAdministrator(管理员)(管理员) 管理员类用于对管理员的进行维护管理员类用于对管理员的进行维护 。 除了和参与者有关的类,还要定义除了和参与者有关的类,还要定义一些和课程有关的类:一些和课程有关的类:CourseCourse(课程)(课程)类;类;CourseSelectCourseSelect(选课信息)类;(选课信息)类;可以考虑这些类应该有什么属性和可以考虑这些类应该有什么属性和方法。方法。 定义用户界面类:定义用户界面类:显然,在系统运行过程中,用户经常显然,在系统运行过程中,用户经

21、常需要和系统进行交互。一个用户友好需要和系统进行交互。一个用户友好的系统通常都采用直观的图形可视化的系统通常都采用直观的图形可视化界面,因此需要定义系统的用户界面界面,因此需要定义系统的用户界面类。通过对系统的不断分析和细化,类。通过对系统的不断分析和细化,可识别出下述的界面类。可识别出下述的界面类。 主要是一些窗口或者对话框。通过主要是一些窗口或者对话框。通过窗口或者对话框中的按钮、菜单等窗口或者对话框中的按钮、菜单等控件的当作,完成各种选课管理系控件的当作,完成各种选课管理系统需要完成的功能。统需要完成的功能。如由如由MainWindow MainWindow QueryCourseSco

22、re QueryCourseScore QueryCourseWndQueryCourseWnd 动态模型用来描述系统的动态行为,动态模型用来描述系统的动态行为,显示对象在系统运行期间不同时刻显示对象在系统运行期间不同时刻的动态交互,从而实现一组对象的的动态交互,从而实现一组对象的相应功能。相应功能。UMLUML中用状态图、时序中用状态图、时序图、协作图和活动图来建立动态模图、协作图和活动图来建立动态模型。型。 时序图时序图 顺序图显示特定用例(也可以是用例的一顺序图显示特定用例(也可以是用例的一部分)的详细流程。并且显示了它们之间部分)的详细流程。并且显示了它们之间的交互,显示对象之间发送消

23、息的顺序,的交互,显示对象之间发送消息的顺序,即系统执行的某一特定时间所发生的事件。即系统执行的某一特定时间所发生的事件。 顺序图有两个维度:垂直维度以发生的时顺序图有两个维度:垂直维度以发生的时间顺序显示消息间顺序显示消息/ /调用的序列;水平维度显调用的序列;水平维度显示消息被发送到的对象实例。示消息被发送到的对象实例。 登录时序图登录时序图 在执行登录时,首先由用户启动系统,在执行登录时,首先由用户启动系统,窗口窗口LoginWndLoginWnd被创建,用户在填写完被创建,用户在填写完用户名和口令之后提交各系统验证,若用户名和口令之后提交各系统验证,若正确,向主窗口发送消息,创建主窗口

24、。正确,向主窗口发送消息,创建主窗口。 应该注意到时序图和用例描述的不同:应该注意到时序图和用例描述的不同:直接和系统对象发生联系。直接和系统对象发生联系。 选课时序图选课时序图 1.当学生在主窗口中执行选择课程功能时,当学生在主窗口中执行选择课程功能时,用例启动。用例启动。 2.由主窗口向选课窗口发送创建窗口消息由主窗口向选课窗口发送创建窗口消息来创建选课窗口。来创建选课窗口。 3.选课窗口调用选课窗口调用CourseSelectCourseSelect类的类的FindByStudentFindByStudent操作,获取当前学生的操作,获取当前学生的所有选课信息。所有选课信息。 4.通过通

25、过ShowCouese操作显示在窗口中。操作显示在窗口中。5.由学生修改课程后,通过选课窗口由学生修改课程后,通过选课窗口的的UpdateUpdate操作进行提交。操作进行提交。6.选课窗口向选课窗口向CourseSelectCourseSelect类发送类发送SelectCourseSelectCourse消息,进行课程更新。消息,进行课程更新。7.最后,由学生在界面上点击关闭,最后,由学生在界面上点击关闭,来向选课窗口发送销毁窗口消息,用来向选课窗口发送销毁窗口消息,用例结束。例结束。 协作图协作图 与顺序图一样,协作图也展示对象间的与顺序图一样,协作图也展示对象间的动态协作关系。它除了说

26、明消息的交互动态协作关系。它除了说明消息的交互外,还显示对象间的关系。通常可在顺外,还显示对象间的关系。通常可在顺序图或者协作图之间选择一个来表示协序图或者协作图之间选择一个来表示协作关系。如果强调时间和顺序,则使用作关系。如果强调时间和顺序,则使用顺序图;如果强调多个对象间的协作,顺序图;如果强调多个对象间的协作,则选择协作图则选择协作图 学生成绩查询的协作图学生成绩查询的协作图 首先,学生通过主窗口的菜单或工具条,首先,学生通过主窗口的菜单或工具条,向主窗口发送学生成绩查询请求。主窗口向主窗口发送学生成绩查询请求。主窗口创建学生成绩查询窗口,之后,学生成绩创建学生成绩查询窗口,之后,学生成

27、绩查询窗口调用课程选择对象中的查询窗口调用课程选择对象中的FindByStudentFindByStudent方法,将该学生所选择方法,将该学生所选择的课程及每门课程的成绩显示出来。最后,的课程及每门课程的成绩显示出来。最后,学生通过学生成绩查询窗口的按钮,向该学生通过学生成绩查询窗口的按钮,向该窗口发送关闭消息。窗口发送关闭消息。 活动图活动图 活动图展示了连续的活动流,活动图活动图展示了连续的活动流,活动图通常用来描述完成一个操作所需要的通常用来描述完成一个操作所需要的活动。当然它还能用于描述其他活动活动。当然它还能用于描述其他活动流,如描述用例。活动图由动作状态流,如描述用例。活动图由动作状态组成,它包含完成一个活动的活动规组成,它包含完成一个活动的活动规约(即规格说明)。约(即规格说明)。 系统的实现模型包括构件图和配置系统的实现模型包括构件图和配置图。图。本系统是一个基于校园局域网的系统。本系统是一个基于校园局域网的系统。 可以通过配置图显示它的物理结构:可以通过配置图显示它的物理结构:共有共有4 4个结点组成。个结点组成。 1 1参照用例模型中的登录活动图,参照用例模型中的登录活动图,画出学生选课的活动图(只要求包画出学生选课的活动图(只要求包含两个对象:用户和系统)。含两个对象:用户和系统)。 选课用例由学生启动。启动之后,系统选课

温馨提示

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

评论

0/150

提交评论