软件实习指导书Word文档下载推荐.docx
《软件实习指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件实习指导书Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
1.运行原软件系统或建议软件系统的计算机系统;
2.收集整理资料的资料室和虚拟用户或实际用户。
五、软件实习内容
选定系统后,进行系统分析,编写提示撰写需求说明书。
六、软件实习报告要求
软件实习报告名称:
软件需求分析
实施目的:
1.根据所选定题目进行需求分析工作;
2.通过实例掌握结构化数据流分析技术;
3.进行业务需求分析、用户需求、功能需求、非功能需求分析;
4.写出需求规格说明书(含数据流图)
实施内容:
用结构化数据流分析技术进行软件系统需求分析,得出系统得数据流图和数据字典。
1.软件系统需求描述(从功能,性能上进行描述)。
2.软件系统数据流图由加工、数据流、文件、源点和终点四种元素组成)。
3.软件系统数据字典。
4.软件实习小结。
软件实习二编写概要设计说明书
编写概要设计说明书。
通过对选定系统进行概要设计和编写概要设计说明书,掌握系统概要设计的步骤和方法,明确需求说明书内容和格式。
1.数据流程图、IPO图、数据字典和成本/效益分析方法;
2.模块和模块化;
3.测试方案的设计方法。
1.执行原软件系统或建议软件系统的计算机系统;
对选定系统进行概要设计,然后撰写概要设计说明书。
软件实习名称:
软件概要设计
1.建立初始结构图;
2.初始结构图进行改进、优化;
3.写出概要设计说明书。
主要解决实现该系统需求的程序模块设计问题。
(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
)
1.软件系统模块结构图;
2.接口设计;
3.数据结构设计;
4.出错处理设计;
5.软件实习小结。
软件实习三编写详细设计说明书
编写详细设计说明书。
通过对选定系统详细设计说明书的编写,掌握详细设计说明书的编写步骤和方法,明确详细设计说明书内容和格式。
1.算法描述工具及绘图方法,如流程图符号、N-S图或其他详细描述工具;
2.判定表和判定树;
3.熟悉程序设计语言并选定一种作为实施的程序设计语言;
1.编辑程序和调试程序的计算机系统;
对系统在概要设计的基础上进行详细设计,然后撰写详细设计说明书。
软件详细设计
1.完成系统的总体设计;
2.完成系统的详细设计工作;
3.完成主要程序(标识符)设计说明;
4.写出详细设计说明书;
进行软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)注:
应该同时进行用户界面设计。
1.软件系统其中的3个模块的详细设计(画程序流程图);
2.程序描述;
3.软件实习小结。
软件实习四编写测试计划
编写系统测试分析报告。
通过对所完成的系统进行测试分析和测试分析报告的编写,掌握测试分析报告编写的步骤和方法,明确测试分析报告内容和格式。
1.动态、静态、黑盒、白盒、测试方法
2.测试步骤;
3.等价类划分、边界值分析方法,错误谁策;
4.逻辑覆盖法;
5.因果图法;
6.软件调试方法。
1.编辑程序和测试程序的计算机系统;
对所完成的系统进行测试分析后,按如下编写提示撰写测试分析报告。
软件实习项目名称:
软件测试和调试
1.通过实例使同学们掌握软件测试的一般步骤。
2.进行黑盒、白盒测试试用例设计,形成测试用例表;
3.写出测试报告。
用课堂上介绍的方法,对上一软件实习的程序,进行测试,并要测试通过,然后撰写软件测试说明书。
实施步骤:
首先设计测试方案(分别采用白盒法和黑盒法),写出测试说明书。
1.测试项目;
2.设计测试用例15个(白盒法10个,黑盒法5个);
软件实习五用例图和类图
学校的网上选课系统的用例图和类图。
二、软件实习目的
1.能够根据系统的功能分析系统的用例组成,正确确定用例图中的角色;
2.能够分析系统的用例、活动者以及它们之间的关系;
3.根据对系统的分析,准确确定相应的类,确定类的属性和操作,正确分析属性和操作的可继承性;
4.使用Rose软件能正确画出用例图,并说明每一个用例的事件流。
正确使用Rose软件定义类和类的关系和画出完整的类图。
三、软件实习要求
1.根据需求文档确定每一个用例的名称、参与执行者(活动者)、前置条件、主事件流、辅事件
流和后置事件流。
2.能从一类单一的对象中抽象出类的定义,并依据实际要求,设计类的属性和操作。
3.能对现实世界中的对象存在各种各样的关系,分析出这些关系,主要有:
继承关系;
类之间
的关联。
并能在类图中反映这些关系。
四、软件实习内容
学校的网上选课系统的用例图和类图的设计和实现。
五、用例图
1.用例图设计实例
介绍学校的网上选课系统的用例图的设计和实现。
2.需求
学校的网上选课系统主要包括如下功能:
管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器,根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
3.分析
本系统涉及的用户包括管理员(Registrar)和学生(student),他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者People,而Registrar和Student则从People统一派生。
数据库管理系统是另外一个活动者。
4.事件流
下面是系统中出现的一些事件流。
添加课程事件流:
(1)管理员选择进入管理界面,用例开始。
(2)系统提示输入管理员密码
(3)管理员输入密码。
(4)系统验证密码。
A1:
密码错误
(5)进入管理界面,系统显示目前所建立的全部课程信息
(6)管理员选择添加课程。
(7)系统提示输入新课程信息
(8)管理员输入信息。
(9)系统验证是否和已有课程
A2:
有冲突
(10)系统添加新课程,提示课程添加成功。
(11)系统重新进入管理主界面,显示所有课程。
(12)用例结束。
其他事件流:
(1)系统提示再次输入。
(2)用户确认。
(3)三次错误,拒绝再次访问。
(4)否则进入添加课程事件流第5步。
(1)系统提示冲突,显示冲突课程信,
(2)用户重新输入。
(3)继续验证直到无冲突。
(4)进入添加课程事件流第10步。
删除课程事件流和修改课程事件流与此类似。
选课事件流:
(1)学生进入选课登录界面,用例开始。
(2)系统提示输入学号和密码。
(3)学生输入学号和密码。
(4)系统验证。
Al:
验证失败
(5)进人选课主界面。
(6)学生点击选课。
(7)系统显示所有课程信息。
(8)学生选择课程。
(9)系统验证课程是否可选。
不可选
(10)系统提示课程选择成功,提示学生交费。
(11)用例结束。
错误流:
(1)系统提示验证失败,提示重新输入。
(2)三次失败,拒绝访问。
(3)成功,转选课事件流第5步。
课程不可选
(1)系统提示课程不可选及原因。
(2)学生重新选课。
(3)重新验证直至成功。
(4)转选课事件流第10步。
因为付费方式多样,所以在此将不讨论付费用例。
查询事件流比较简单,这里也不详细描述。
根据以上的分析,可以绘制出如图1所示的系统用例图。
图1系统用例图
六、类图
选课系统的类图设计和实现,本软件实习先分析选课系统中的类,然后作出它们的类图。
选课系统中的类,分析系统中的所有序列图,除了角色之外,有以下名词:
(1)课程;
(2)界面;
(3)控制对象。
这3个名词可以抽象出3个类:
课程类、界面类和控制对象类。
首先看课程类(Course)。
课程类应该有以下属性:
(1)课程名称(name)
(2)开课教室(classroom)
(3)课程号(courseID)
(4)授课教师(teacher)
(5)选课的学生(students)
(6)开课起始时间(firstlessondate)
(7)允许选课的学生人数(maxstudents)
(8)设置课程名称(setname)
(9)设置开课教室(setclassroom)
(10)设置课程号(setcourselD)
(11)设置授课教师信息(setteacher)
(12)设置开课起始时间(setfirstlessondate)
(13)设置允许选课的学生人数(setmaxstudents)
(14)查询课程名称(getname)
(15)查询开课教室(getclassroom)
(16)查询课程号(getcourselD)
(17)查询授课教师信息(getteacher)
(18)查询开课起始时间(getfirstlessondate)
(19)查询允许选课的学生人数(getmaxstudents)
关于界面类和控制类,因为涉及到后续的内容,所以本软件实习暂时不考虑它们。
根据以上的分析,可以绘制出如图2所示的类图。
图2系统类图
软件实习六序列图和协作图
序列图和协作图设计和实现。
1.能够掌握两种交互图的相同点和区别;
2.能够根据事件流,准确确定对象,画出序列图和协作图;
3.熟悉使用Rose软件创建两种交互图。
掌握两种交互图即序列图和协作图的概念和组成,掌握通过交互图显示对象之间的关系和对象之间处理的消息来建模系统的动态特性。
通过选课用例(selectCourse)为例,来学习序列图和协作图的设计和实现。
五、序列图
以选课系统中的选课用例(selectCourse)为例,来学习序列图和协作图的设计和实现。
为了使问题更简单一些,不考虑学生的登录。
假设学生已经成功登录系统,选课的事件流如下:
(1)学生进入选课主界面。
(2)学生点击选课。
(3)系统显示所有课程信息。
(4)学生选择课程。
(5)系统验证课程是否可选。
A1课程不可选
(4)转选课事件流第6步。
序列图描述的是对象与对象的交互,创建序列图的步骤如下:
(1)寻找对象。
(2)寻找角色。
(3)将消息加进图中。
首先,查找SelectCourse用例的对象。
从事件流中发现涉及以下对象:
(1)界面。
(2)课程。
(3)对于业务层的操作,也应该有对象进行处理。
(4)事件流中设计的角色有:
学生、数据库。
然后,分析对象、角色之间交互的消息。
本用例主要有以下交互:
(1)学生通过界面发送选课命令。
(2)界面向控制对象请求课程信息。
(3)控制对象向数据库发送查询数据消息。
(4)控制对象暂存数据库的查询结果。
(5)界面对象从控制对象中取得所有的课程信息。
(6)在界面上显示所有的课程信息。
(7)界面对象发送命令要求控制对象删除课程信息。
(9)界面对象要求学生输入学号。
(10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程。
(11)控制对象从数据库中查询关联信息。
(12)控制对象判断是否可以选课。
(13)如果可以选课,则向数据库中添加关联信息。
(14)向界面对象返回信息。
根据以上分析,整理的最终SelectCourse序列图如图3所示。
图3SelectCourse序列图
SelectCourse协作图的创建,下面介绍SelectCoursef协作图的创建,
在浏览器的“UseCaseView”中的用例SelectCourse上按下鼠标右键,在弹出的菜单中选择“New”,然后再在弹出的菜单中选择“CollaborationDiagram”,创建一个新的协作图,将协作图的名字改成SelectCourse。
SelectCourse协作图如图4所示。
图4SelectCourse协作图
附录A学生信息管理系统开发文档
软件需求说明书
一.引言
1.编写目的
需求分析是软件系统生存期中定义阶段的最后一个步骤。
是作为整个软件开发范围的指南,是软件开发人员开发出正确的符合用户要求的软件的重点。
该文档将最终交给软件具体开发人员进行具体的开发,其针对的对象是软件开发员。
2.项目背景
本软件系统的名称为“学生信息管理系统”,本项目由学院教学管理部门和学生管理部门共同提出,由学院软件专业学生进行开发,软件实现后由网络中心维护和管理,该软件系统同涉及教务部门、学生管理部门和招生部门。
图1系统结构图
3.定义
静态数据--系统固化在内的描述系统实现功能的一部分数据。
动态数据--在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。
数据字典--数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”。
二、任务描述
1.目标
●数据流图
图2数据流图
●数据结构
学生成绩信息=考试编号+学号+姓名+班号+课程名称+分数
学生基本信息=学号+姓名+性别+出生日期+班号+电话+入校时间+家庭住址+注释
班级信息=班号+年级+班主任+教室
年级课程信息=年级+课程名字
输出数据结构:
成绩信息=学号+姓名+班号+课程名称+分数
●
IPO图
图3IPO图
功能说明:
输入新生基本信息:
该功能是在学生入学时使用,当学生入校后,学生管理部门根据招生部门提供的网上录取名单对入校学生进行核对,正确无误后输入学生的基本信息,在输入过程中出现错误可进行修改,平时不启用,当有学生发生增减变化时,通过学生基本信息管理功能处理。
输入新班级信息:
各系部根据学生入学情况创建班级信息。
输入学生考试成绩:
对所有在校学生的期末考试成绩进行输入,并进行总分计算。
学生基本信息管理:
对学生的基本信息进行维护,提供查询功能。
班级信息管理:
对班级信息进行维护,提供查询功能。
课程信息管理:
对课程信息进行维护,提供查询功能。
输出成绩单:
打印输出各班级的学生成绩单。
本系统可参考教学管理部门和学生管理部门的工作模式并能及时向该部门以及其他部门提供相关的信息。
2.用户的特点
本系统将运行于教学管理和学生管理部门,也可通过网络集中管理,本系统直接由管理人员操作使用,不受计算机专业知识的限定,具备基本操作技能即可。
本系统使用频率高,从而更显现也系统的优越性。
运行环境
软件基本运行环境为Windows环境。
3.条件与限制
由于系统较小,且在windows系统下开发,故在Windows环境下基本没有什么限制。
三.数据描述
1.静态数据
静态数据是系统内部有关的数据结构与操作规程。
具体可包括:
学生基本信息表格student_Info
班级信息表格class_Info
课程基本信息表格course_Info
年级课程设置信息表gradecourse_Info
学生成绩信息表result_Info..........等.
2.动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.就是学生信息.
3.数据库描述
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.
本系统的实体有:
学生实体,班级实体,课程实体.各个实体具体的描述学生实体E-R图如下:
图4学生实体E-R图
图5班级实体E-R图
图6课程实体E-R图
4.数据字典
传统的数据字典包括以下几种类型的条目:
(1).数据流条目--数据流条目给出某个数据流和定义,它通常是列出该数据流的各组成数据元素。
该系统中的数据流条目有:
学生基本信息=学号+学生姓名+学生性别+出生日期+班号+联系电话+入校时间+家庭住址+注释
课程信息=课程编号+课程名称+课程类型+课程描述
年级课程信息=年级+课程名称
(2).文件条目
学生信息文件={学生基本信息记录}+{学生成绩记录}
主键:
学生学号+课程号
文件按学号排列组织。
(3).数据元素条目--给出某个数据单项的定义,通常是数据项的值类型。
例:
学生基本信息记录中“学生学号”的数据值类型为数值类型,有效值范围为000000~999999。
(4).处理说明条目--给出数据流程图中不再分解的变换处理说明的定义。
此处不再举例说明
5.数据采集
系统数据采集是由数据库系统在软件运行期间通过人机界面来提示用户输入的。
此处不加赘述。
四.功能需求
由于系统较简单且前面对系统的功能已作了详细的介绍,在此就略过了。
1.功能划分(略)
2.功能描述(略)
五.性能需求
1.数据精确度
由于采用数据库技术并且用户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
2.时间特性
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。
而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
3.适应性
该软件是使用VisualBasic6在windowsxp系统下完成的所以只要是兼容windows的软件或是操作系统,该软件都可以正确地运行,有较好的适应能力与兼容性。
而且应用户的特殊需求软件在完成后的维护阶段可以保持一个与其他类软件接口,随时满足用户的使用要求。
六.运行需求
1.用户界面
系统运行时的主界面大致要求为windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面):
有一个主窗体,可以包含其他窗体。
建议本系统采用多文档界面,这样可以使程序更加美观,整齐有序。
2.硬件接口
软件较小除硬盘外,基本没有与外界硬件的联系,不过考虑到数据库大量数据的备份等要求可以保持与磁带机和光盘刻录机的接口,这点较易实现。
3.软件接口
在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。
例如microsoft的office系列。
另外用户还有用户所需要的软件接口,这些应在用户需求定义时明了。
4.故障处理
考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的接口即可。
只要操作系统没有大的故障程序一般是比较稳定的。
考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能,这点在数据库软件中已经达到了,只要稍微在其上再增加用户所需要的附加功能即可。
七.其他需求
系统保证了较好的可使用性与数据的安全保密性,但由于系统较小只保留一定程度的可移植性,可维护性。
概要设计说明书
一、引言
1.编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。
在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。
本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
2.项目背景
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明