【课程安排】
本实训主要通过系统开发的实际过程,使学生进一步掌握信息系统设计的思想、概念和方法;运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的 C#或 C++或 Java 语言等应用程序,通过编程、调试,积累丰富经验,提高综合实践能力。
本门课是实践性很强的课程,64 课时均为上机操作,具体安排如下:
任务
|
备注
|
确定选题
需求分析
|
分组查阅资料,确定选题,对应用系统进行需求分析,形成需求规格说明书,并确定小组分工。
|
总体设计
|
采用面向对象和面向结构化设计的方法确定系统的具体实现方案,给出软件的模块结构,进行数据库设计,制定测试计划,编写并审查总体设计文档。
|
详细设计
|
进行类、接口、抽象类和实现类的设计,处理类之间的继承与派生关系。对功能模块实现的算法进行设计。
|
系统编码
|
使用 C#或 C++或 Java 语言等,采用面向对象程序设计的方法编写实现应用系统的功
能模块。
|
系统测试,并修
改完善、总结
|
以类为基本测试单元,对子功能进行单元测试并最后进行系统测试,对测试的错误进
行修改完善。撰写并提交实训报告。
|
【课程相关要求】
在课程结束时,需完成一个完整的使用面向对象程序设计思想的信息管理系统,并完成相应课程设计说明书。开发一个基于图形界面的信息管理系统。系统采用 C#或 C++或 Java 程序语言开发,类的设计符合面向对象程序基本设计思想,有继承、多态、接口等。系统功能完整,运行正常,无明显的 bug,且操作符合大众习惯。
1 信息系统的需求分析
授课题目
|
面向对象的需求分析
|
授课时间
|
8 课时
|
教学目的
|
1. 了解需求分析的内容;
2. 掌握需求分析的方法;
3. 掌握需求分析图的绘制方法。
|
教学重难点
|
需求分析图的绘制
|
教学过程
|
1. 展示系统的功能
2. 分析系统的功能需求情况
3. 分析系统的用例图和类
|
授课内容
|
1. 展示系统的功能
提供示例的系统,登陆普通客户、管理员和前台操作人员,展示并解释他们所能操作的功能。
2. 系统的前期分析?
介绍系统开发的背景、现状。分析系统开发的必要性。分析系统的功能性需求,并抽象出系统的用户种类。
分析系统地非功能性需求,比如性能、输入方式、可用性等。
3. 可行性分析
从经济、技术和操作性三个方面分析系统的可行性。
4. 系统需求分析
在前期功能性需求分析的基础上,对需要解决的问题进行详细分析。讲解用例的概念,用例的组成和绘制方法。并以一个用户的功能分析为例,详细展示系统用例的绘制过程和方法。
5. 学生展示
通过提问,演示的方式,让学生模仿绘制一个用例图等。布置作业,让学生进行绘制用例图实践,并检查辅导。
6. 类图的绘制
以某个功能的分析为例,详细展示类图的绘制过程和方法。并重点强调类的属性、继承等的绘制重点和注意点。
7. 学生展示
通过提问,演示的方式,让学生模仿绘制类图。布置作业,让学生进行绘制类图实践,并检查辅导。
|
2 信息系统的总体设计
授课题目
|
面向对象的总体设计
|
授课时间
|
8 课时
|
教学目的
|
1. 掌握系统的架构设计;
2. 掌握系统的功能结构设计;
3. 掌握系统类的设计;
3. 掌握系统数据库的设计。
|
教学重难点
|
重点:系统的功能结构设计难点:系统类的设计
|
教学过程
|
1. 概念讲解
2. 学生操作,老师辅助指导
|
授课内容
|
1. 系统架构设计
讲解架构设计的概念,提出架构设计解决的问题。架构设计的不同层次和类别,每类架构设计的出发点和特点,重点讲解本系统采用的 B/S 架构、C/S 框架。
2. 学生实际操作
让学生根据前面的需求分析,考虑系统运行和使用过程中可能遇到的问题, 设计并完善本系统的架构。
3. 功能结构设计
学生进行小组内功能结构的概念及组成要素的分析与设计。
4. 学生设计并点评
让学生针对本系统的功能需求,设计出总体功能结构。并挑选出典型的学生作品,进行分析评价,指出注意点。
5. 系统类的设计
复习类的定义,类的多态、继承和接口等概念,让学生设计好本系统中的类,并进行类的组合和调整优化,最终形成系统类的设计图。
6. 数据库的设计
讲解 E-R 图的概念,用案例说明 E-R 图绘制的方法和注意点。让学生分析系统的某一功能,找出实体,分析实体之间的关联。
7. 数据库的表的设计和实施
讲解表的字段名、类型、主键和外键等概念,将上一教学环节中的数据库实体关系转换为表并在数据库系统中实现。
|
3 信息系统的详细设计
授课题目
|
面向对象的详细设计
|
授课时间
|
8 课时
|
教学目的
|
1. 掌握功能模块的详细设计方法。
2. 知道如何绘制详细的类图;
3. 知道如何绘制详细的功能序列图。
|
教学重难点
|
重点:功能序列图的绘制
|
教学过程
|
1. 概念讲解
2. 学生操作,老师辅助指导
|
授课内容
|
1. 系统详细设计的内容
全面讲解系统详细设计类所需要设计的内容,并对内容的设计方法和要素做个简单的叙述。使得学生对系统详细设计的内容框架有个了解。
2. 系统功能类图的绘制
按照系统功能的需要,分析功能详细设计的三个部分,一是功能的详细叙述,二是功能所设计的类及类之间的关系,并且把类的详细属性和方法表示出来,三是将功能实现的流程描述并绘制出来。
3. 提问学生
通过提问的方式,明确学生掌握了系统详细设计的内容,并理解了内容之间的关系。
4. 类图的实例操作
让学生针对本系统的功能需求,设计出类的关系,并通过软件工具绘制出来。
5. 序列图的讲解及绘制
序列图中的主要元素之一就是对象,相似的对象可以被抽象为一个类。序列图中的每个对象代表了某个类的某一实例。
(1) 把用例图中的该用例涉及的所有参与者拖到 sequence 图中。
(2) 选择工具栏中的 object 按钮,单击框图增加对象。可以选择创建已有类的对象,也可以在浏览器中新建一个类,再创建新的类的对象。双击对象,在弹出的对话框中的“class”里确定该对象所属的类。
(3) 对象命名:对象可以命名也可没名字。双击对象,在弹出的对话框中的“name”里给对象取名
(4)说明对象之间的消息。
|
4 信息系统的编码实现
授课题目
|
面向对象的编码实现
|
授课时间
|
24 课时
|
教学目的
|
1. 掌握面向对象编码的过程;
2. 能够使用 eclipse 编码
3. 能够调试代码
|
教学重难点
|
功能的编码实现
|
教学过程
|
1. 分析功能实现的思路
2. 功能实现实例展示
3. 代码的调试
|
授课内容
|
1. 系统详细设计的内容
全面指导系统详细设计类所需要设计的内容,并对内容的设计方法和要素做个简单的叙述。使得学生对系统详细设计的内容框架有个了解。
2. 系统功能类图的绘制
按照系统功能的需要,分析功能详细设计的三个部分,一是功能的详细叙述,二是功能所设计的类及类之间的关系,并且把类的详细属性和方法表示出来,三是将功能实现的流程描述并绘制出来。
3. 提问学生
通过提问的方式,明确学生掌握了系统详细设计的内容,并理解了内容之间的关系。
4. 类图的实例操作
让学生针对本系统的功能需求,设计出类的关系,并通过软件工具绘制出来。
5. 序列图的讲解及绘制
序列图中的主要元素之一就是对象,相似的对象可以被抽象为一个类。序列图中的每个对象代表了某个类的某一实例。
(1) 把用例图中的该用例涉及的所有参与者拖到 sequence 图中。
(2) 选择工具栏中的 object 按钮,单击框图增加对象。可以选择创建已有类的对象,也可以在浏览器中新建一个类,再创建新的类的对象。双击对象,在弹出的对话框中的“class”里确定该对象所属的类。
(3) 对象命名:对象可以命名也可没名字。双击对象,在弹出的对话框中的“name”里给对象取名
(4)说明对象之间的消息。
|
5 信息系统的测试
授课题目
|
系统的测试
|
授课时间
|
16 课时
|
教学目的
|
1. 了解什么是软件测试和测试的步骤;
2. 掌握软件测试的常用方法;
3. 会针对已有的系统,采用不同的测试方法找出系统的问题。
|
教学重难点
|
软件测试的方法和系统测试实践
|
教学过程
|
1. 软件测试基本知识和原理的介绍
2. 结合案例讲解软件测试的方法
3. 结合系统,进行系统测试过程的演示
|
授课内容
|
1.什么是软件测试
软件测试就是按照特定的规则,发现软件错误的过程;软件测试时对软件规格说明、设计和编码的最后复审;软件测试在软件生命周期内横跨两个阶段: 模块和单元测试在编码阶段,综合测试在独立的测试阶段。
2.软件测试的目标
发现错误而执行程序、发现错误。为测试而精心设计的测试用例非常重要。
3. 软件测试方法和技术
包括人工测试、代码复审、机器测试和动态测试。其中,人工测试包括代码会审、走查和排练、办公桌检查。机器测试包括白盒和黑盒测试技术。
4.软件测试的步骤
包括单元测试、子系统测试、系统测试、验收测试和平行测试。以酒店管理系统为例,分别测试用户注册模块,酒店房间管理模块。 5.系统集成测试
由模块组装成程序时有两种方法:非渐增式测试方法和渐增式测试方法。自顶向下集成的步骤是,第一步,对主控制模块进行测试,第二步,根据选定的结合策略,每次用一个实际模块代换一个存根程序,第三步,再结合进一个模块的同时进行测试,第四步,回归测试,即全部重复以前做过的测试。
以酒店管理系统为例,将酒店列表页面加入酒店列表排序功能模块,进行自顶向下集成测试。
自底向上集成的步骤是,第一步,把低层模块组合成实现某个特定的软件子功能的族,第二步,写一个驱动程序(用于测试的控制程序),协调测试数据的输入和输出,第三步,对由模块组成的子功能族进行测试,第四步,去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。以酒店管理系统为例,将酒店详情显示子功能页面的编辑、上下页的功能
点进行测试,再整体测试酒店显示子功能页面。
|