如下是爱岗敬业的小编老李给家人们找到的软件开发实施方案优秀10篇,欢迎借鉴,希望对大家有所启发。
软件开发实施方案
系统开发严格按照软件工程的方法进行组织,系统的开发过程按
照需求分析、系统分析与设计要求、系统编码、系统测试几个过程有 序推进。下表所示系统开发流程图,采用原型及迭代方式开发,根据 用户需求持续改进,直到最终用户确认满意。
1.1 开发流程总述
如下图示流程定义了我公司内部的软件开发过程,以指导和规范软件项目中开发过程的定义和相应的实施。
该过程可划分为一系列子过程,包括:软件需求分析、设计、编
码、测试、验收、维护,每个子过程又由一系列任务和活动组成,如 设计过程又可分为结构设计和详细设计。但是在实际开发项目中,情 况仍然会是千变万化的,因此我们也并不是一成不变的死板执行一个 僵化的工作流程,我们的原则是在一个规范流程的指导和约束下,根 据具体工程项目的实际要求,为每一个项目评估并制定真正能够最好 的满足该项目要求的开发流程。
开始
软件需求分析
Y
N:改进
Y
N:改进
Y
N:改进
《软件需求规格说明书》(初稿)
《系统测试计划》《系统测试案例》
(初稿)
《用户手册》(概要)《追溯表一》
《软件需求规格说明书》
《系统测试计划》《系统测试案例》
《个人评审记录》
《评审报告》
同行评审
通过
结构设计
评审通过
《结构设计说明书》(初稿)
《集成测试计划》《集成测试案例》
(初稿)
《用户手册》(初稿)《追溯表一》
《结构设计说明书》
《集成测试计划》《集成测试案例》
《个人评审记录》 《评审报告》
《详细设计说明书》(初稿)
《单元测试计划》《单元测试案例》
(初稿)
《用户手册》(修改稿)《追溯表一》
《详细设计说明书》
《单元测试计划》《单元测试案例》
《用户手册》(修改稿)
《个人评审记录》
《评审报告》
源代码、源代码文件清单
《单元测试报告》(经过审批)
《软件问题状态登记表》 《软件问题报告单》
《集成工作单》
《集成测试工作单》
《集成测试报告》(经过审批)
《软件问题状态登记表》
《软件问题报告单》 集成的软件系统
《系统测试报告》(经过审批)
《软件问题状态登记表》
《软件问题报告单》
《系统管理员使用说明书》(经过审批)
《安装手册》(经过审批)
《用户手册》(经过审批 软件系统(系统测试通过)
验收测试报告
《软件问题报告单》
《软件问题状态登记表》
验收报告可交付产品
《软件需求规格说明书》(升级版)
《客户需求登记表》
《客户需求统计表》
《设计说明书》(升级版)
《软件问题报告单》
《软件问题状态登记表》
《软件维护实施计划》 维护后的软件系统
详细设计
评审通过
编码
集成测试
系统测试
验收
维护
结束
图 1.1-1 软件开发流程总图
在应用系统软件开发项目中,我们仍将遵循这一思想,这一点将在随后的项目开发实施计划部分有具体的体现,在这里和下面的相关章节中,我们仍将围绕着这个完整的开发流程来分析说明,以此来阐明我们对项目开发的完整过程管理思想和相关实践。下面我们对这个软件开发工作流程进行简要地分解说明。
1.2 软件需求分析
(1)概述
由于应用系统与众多相关应用软件需要进行交互,因此需要先对这些应用系统进行分别梳理,充分做好需求调研工作,编写经项目单位认可并评审通过的《系统需求规格说明书》。
软件需求分析是按照项目定义的软件开发过程,根据系统分配给软件的需求(见 《系统需求规格说明书》),进行软件质量特性规格说明的过程。该过程包括进一步明确软件运行环境,明确对软件的功能、性能和数据要求,以及软件与硬件、软件与软件之间的接口要求等,并对软件需求进行验证和文档化,即完成对软件需求的分析与规格定义。
本元素在整个过程中的位置如下图所示:
系统分配给软
件的需求
软件需求分析 结构设计
图示:软件需求分析在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则
客户需求(《系统需求规格
已由 CCB批准为基线
说明书》)
已进入配置库
2)出口准则
要素
判断准则
已经过审查
软件需求规格说明书
已批准为基线
已进入配置库
系统测试计划
已经过审查
已获得批准
系统测试案例
已进入配置库
用户手册(概要)追溯表一
已编写
已填写
(3)评审
评审《软件需求规格说明书》,具体评审过程见《评审程序文件》,对软件需求的评审准则包括:
● 系统需求和系统设计的可追溯性;
● 与系统需求的一致性;
● 内部一致性;
● 可测试性;
● 软件设计的可行性;
● 运作和维护的可行性。
对软件需求中的问题,与系统工程组或客户一起确定和审查,根据审查结果对软件需求进行适当的修改,必要时按基线变更控制的要求对客户需求进行相应的修改。对软件需求规格说明书进行同行评审。
审查、批准软件需求规格说明书。
将软件需求规格说明书置于配置管理之下。
(4)工作产品
● 《软件需求规格说明书》 ● 《系统测试计划》 ● 《系统测试案例》 ● 《用户手册》 ● 《追溯表》(5)职责
● 项目经理:负责组建软件需求分析组;确定是否需要对有关
人员进行培训;负责软件需求规格说明书的审查和批准。
● 软件需求分析组:软件需求分析的主要承担者,负责完成本
过程元素要求产生的所有工作产品。
● 系统测试负责人:负责组织软件系统测试组对软件需求进行
分析,审查软件需求的可测试性;参与软件需求规格说明书的审查和批准。
● 质量保证人员:参与工作产品的审查,统计缺陷,并对软件
需求分析过程进行审计。
● 系统开发组:配合处理涉及客户需求的软件需求问题。● 客户:必要时参与软件需求规格说明书的审查和批准。
1.3 结构设计
(1)概述
结构设计是指按照《软件需求规格说明书》,设计软件系统的体系结构,即模块结构,定义每个模块的主要功能和模块之间的联系(即接口),并确定软件系统的数据体系结构。
本元素在整个过程中的位置如下图所示:
软件需求分析
结构设计 详细设计
图示:软件需求分析在软件开发过程中的位置图
(2)入口准则和出口准则
1)入口准则
要素
判断准则
软件需求规格说明书 经过审查
审查获得批准
进入配置库
2)出口准则
要素
结构设计说明书 集成测试计划 集成测试案例 用户手册(初稿)
判断准则
经过审查
审查获得批准
进入配置库
已完善
追溯表一
(3)评审
● 对《结构设计说明书》和《集成测试计划》进行同行评审。
● 对结构设计中的问题,与软件需求分析人员一起确定和审查,并对结构设计进行适当的更改。
● 审查、批准《结构设计说明书》,必要时,对其进行设计评审。● 将《结构设计说明书》、《集成测试计划》 和《集成测试案例》
置于配置管理之下。
(4)工作产品
● 《结构设计说明书》 ● 《集成测试计划》 ● 《集成测试案例》 ● 《用户手册》 ● 《追溯表》(5)职责
1)项目经理
负责选择合适的设计人员,组建结构设计工作组;负责《结构设
计说明书》和《集成测试计划》的审查和批准。
2)结构设计人员
结构设计阶段工作的主要承担者,负责完成本过程元素产生的所
有工作产品。
3)系统分析员
配合处理涉及软件需求的问题。
4)系统开发负责人
负责组织系统工程组对结构设计进行分析,审查结构设计的可测
试性;负责协调处理涉及软件需求的问题;参与《结构设计说明书》
和《集成测试计划》的审查和批准。
5)软件测试负责人
负责组织软件测试组对结构设计进行分析,审查结构设计的可测
试性;参与《结构设计说明书》和《集成测试计划》的审查和批准。
1.4 详细设计
(1)概述
详细设计是根据 《结构设计说明书》进行模块设计,将结构设计所获得的模块按照单元、程序、规程的顺序逐步细化。详细定义各个单元的数据结构、程序的实现算法以及程序、单元、模块之间的接口等,作为以后编码工作的依据。
本元素在整个过程中的位置如下图所示:
结构设计
详细设计 编码
图示:详细设计在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则 经过审查 审查获得批准
结构设计说明书
进入配置库
2)出口准则
要素 判断准则
要素
判断准则 经过审查 审查获得批准
详细设计说明书
进入配置库
(3)评审
对《详细设计说明书》和《单元测试计划》可进行走查或(和)
同行评审;
对详细设计中的问题,与结构设计人员一起确定和审查,并对详细设计做出适当的更改;
审查、批准《详细设计说明书》,必要时,对其进行设计评审;将《详细设计说明书》和《单元测试计划》置于配置管理之下。
(4)工作产品
● 《详细设计说明书》 ● 《单元测试计划》 ● 《单元测试案例》 ● 《用户手册》 ● 《追溯表》(5)职责
1)项目经理
负责选择合适的设计人员,组建详细设计组;负责《详细设计说
明书》和《单元测试计划》的审查和批准。
2)详细设计人员
详细设计阶段工作的主要承担者。负责完成本过程元素产生的所
有工作产品。
3)系统分析员
配合处理涉及软件需求的问题。
4)系统开发负责人
负责组织系统工程组对详细设计进行分析,审查详细设计的可测
试性;负责协调处理涉及软件需求的问题;参与《详细设计说明书》
和《单元测试计划》的审查和批准。
5)软件测试负责人
负责组织软件测试组对详细设计进行分析,审查详细设计的可测
试性;参与《详细设计说明书》和《单元测试计划》的审查和批准。
1.5 编码
(1)概述
编码阶段主要完成的工作是根据详细设计说明书编写程序源代
码,包括必要的数据文件,并进行单元测试,单元测试的内容包括模
块内程序的逻辑、功能、参数传递、变量引用、出错处理等方面。
本元素在整个过程中的位置如下图所示:
详细设计
编码 集成测试
图示:编码阶段在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则
详细设计说明书
经过审查
单元测试计划 获得批准
进入配置库
2)出口准则
要素
判断准则
源代码文件
源代码文件获得批准
源代码文件清单
源代码文件进入配置库的源代码区
单元测试报告
提交测试负责人
软件问题报告单
提交问题管理渠道
(3)评审
对源代码文件进行同行评审,主要的方法为对照详细设计说明书对代码进行查阅,也可根据编程者的经验或程序的难度、重要程度,选择走查评审方式,但目的都是发现程序存在的问题。
(4)工作产品
● 源代码文件 ● 《单元测试报告》 ● 《软件问题报告单》 ● 《软件问题状态登记表》(5)职责
1)项目经理
建立编码组、测试组或相应岗位,并进行必要的培训;跟踪进度
和问题解决状态; 对提交的源代码进行批准(或指定负责人进行批准
工作)。
2)程序员
编写程序代码;测试程序代码;修改程序代码;提交工作产品,批准后将其导入配置区的源码库。
3)单元测试人员
测试源代码;提交测试报告和软件问题报告单。
4)评审人员
对指定源代码文件进行阅读,发现缺陷和问题,填写评审报告。
1.6 模块集成测试
(1)概述
集成测试阶段主要完成的工作是集成和集成测试。集成是参考结构设计说明书并根据详细说明书中规定的系统集成方案将不同的经
测试的程序单元进行构造,并逐步构造成一个完整的软件产品的过程;集成测试则是在集成完成之后,对各单元、模块之间接口的正确性和集成后功能的正确性进行验证。
对于大型软件,集成测试可以采取分步进行的方法,可以先对各子系统进行集成测试,然后在子系统之间进行集成测试。
本元素在整个过程中的位置如下图所示:
编码
集成测试 系统测试
图示:集成测试在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则 经过审查 获得批准 进入配置库
结构设计说明书
详细设计说明书
集成测试计划
源代码文件
2)出口准则
要素
判断准则 获得批准 进入配置库
提交集成测试负责人 已进入软件问题管理流程
集成的软件系统
(完整的源代码和目标代码)
集成测试报告
软件问题报告单
(3)审查阶段
核查集成状态和结果,并进行批准;
批准后,将目标程序和程序清单进入目标代码库。
(4)工作产品
● 集成后的系统目标代码(包括文件清单),及相应的源代码
(包括文件清单)● 集成测试报告 ● 《软件问题报告单》 ● 《软件问题状态登记表》 ● 《集成工作单》 ● 《集成测试工作单》(5)职责
● 项目经理:建立集成组、集成测试组或相应岗位,并进行必
要的培训;跟踪进度和问题解决状态;对集成后的系统目标
码进行批准(或指定负责人进行批准工作)。
● 集成负责人员:负责集成过程的实施。
● 集成人员:负责环境构建,集成的过程操作,并将集成后的目标代码提交批准。
● 程序员、设计人员:修改源码或设计,解决集成过程中出现的与源码有关的问题。
● 测试人员:测试系统目标码,将测试报告和软件问题报告单
提交测试负责人。
1.7 系统测试
(1)概述
系统测试的主要任务是从系统需求的角度对系统运行的正确性和性能进行验证。系统测试的依据为系统测试计划。
本元素在整个过程中的位置如下图所示:
集成测试
系统测试 验收
图示:系统测试在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则 经过审查
系统需求
要素
判断准则 获得批准 进入配置库 编写完成系统的目标代码
系统测试计划
用户手册
2)出口准则
要素
判断准则 获得批准
系统测试报告
软件问题报告单
(3)工作产品
● 《系统测试报告》 ● 《软件问题报告单》 ● 《软件问题状态登记表》(4)职责
● 项目经理:负责建立系统测试组或相关的岗位,并进行必要的培训;跟踪进度和问题解决状态;对最终的目标代码进行
批准(或指定负责人进行批准工作)。
● 程序员、设计人员:修改源码或设计,解决集成过程中出现的与源码有关的问题。
● 测试人员:测试系统目标码,将测试报告提交测试负责人,将软件问题报告单提交问题管理渠道。
1.8 验收
(1)概述
验收阶段主要由验收测试、验收测试问题改正和验收三部分组成:
验收测试的主要目的是验证所开发的系统在用户的使用环境下
(或模拟的使用环境下)是否满足系统需求,从用户的角度验证整个
系统运行的正确性。
验收测试问题改正是对验收测试中发现的差异性问题进行修改。
验收则是在验收测试的基础上,依据项目合同或项目任务书对项
目的完成情况进行综合评价。
本元素在整个过程中的位置如下图所示:
系统测试
验收 维护
图示:验收在软件开发过程中的位置
验收的三个组成部分视项目立项类型和客户的要求选择执行。
(2)入口准则和出口准则
1)入口准则
要素
判断准则
验收测试前完成评审。
验收测试计划(有验收测试要求的项目)
测试(系统测试、集成测试、单
已完成元测试)
2)出口准则
要素
判断准则 已提交 已关闭 已提交
验收测试报告
验收测试问题报告单
验收报告
(3)工作产品
● 验收测试报告
● 《软件问题报告单》
● 《软件问题状态登记表》
● 验收报告
● 可交付产品
(4)职责
● 验收测试组:负责验收测试的各项活动。
● 开发组人员:负责验收测试中发现问题的改正和测试辅助。● 项目管理人员:负责指派验收测试责任和完成测试规程;确
保测试质量和进程;确保组间协调。● 验收组:具体进行验收。● CCB:批准运行基线。
1.9 维护
(1)概述
维护期是指: 软件产品 / 系统验收后,进入软件运行 / 系统维护阶段,直至软件产品下一个版本的发布或系统维护期终止;
本元素在整个软件开发过程中的位置如下图所示:
验收
维护
图示:维护在软件开发过程中的位置
(2)入口准则和出口准则
1)入口准则
要素
判断准则
软件产品 / 系统
已验收
2)出口准则
要素
判断准则
软件产品
已退役
合同约定的维护期限
已到期
合同约定的维护范围
已超出,须另签协议
(3)工作产品
《软件需求规格说明书》
《客户需求登记表》
《客户需求统计表》
《设计说明书》
《软件问题报告单》
《软件问题状态登记表》
《软件维护实施计划》
维护后的软件系统
(4)职责
维护负责人:制定软件维护实施计划,确认维护类型、需求范围,分配维护任务,追踪任务的完成情况及其他项目管理工作。
软件维护人员:负责进行软件维护任务的执行。
QA人员:负责协助维护负责人根据实际情况剪裁标准流程。
[关键词]电子档案管理系统;更新;对策
一、电子档案管理的技术更新
(一)电子档案裁体的寿命
纸质档案单位面积上存储的信息量很少,当今的信息存储技术,可以将一幅详细地图中的成千上万个信息存储在小小的一张光盘上,这无疑是技术上的一大进步。但是,当存储载体的记录信息能力高速增长时,存储信息的新型载体的寿命却不如纸质。手工纸的手稿可保存上千年,而电子档案载体的寿命非常短。磁带最多只有十多年,而光盘生产厂商的承诺至多也没有超过100年。另外,纸张的损坏很易被发现,电子档案载体的损坏只能由设备来检验。影响电子档案保存寿命的另一个重要因素是将来的设备可能无法读出今天记录在载体上的信息内容。
(二)电子计算机的技术更新
除载体的自然损坏外,影响信息存取的还有设备和软件问题。在数字世界里,技术设备与存储载体紧密联系在一起,高密度的信息存储必须依赖于复杂的电子设备和有关的软件,而这些设备及软件总是在随着技术的进步而不断地更新,一旦硬件或软件被淘汰,其记录在存储载体上的信息将无法读取。例如,CD光盘的寿命比其他新型数字存储载体寿命都长,然而最初给它记录信息的电子计算机系统,可能早已更新换代多少次了,这就使得CD盘上的信息可能无法读取。
档案馆主要是保存永久档案,有的几十年后才能对外开放。几十年后不但载体可能自然损坏,其读取设备可能早就更新换代多次了。环境技术的生命周期对于电子档案的保存提出了严重的挑战,数字技术的软硬件一旦过时,厂家就可能不再提供该产品,没有相应的软硬件平台信息就无法读取。这是电子档案管理人员必须面对的现实。
(三)信息的真实性
电子档案存储载体存在的另一个严峻问题,是数字信息可以不留痕迹地被修改。档案馆提供给用户的电子档案信息是否准确可靠,也是对电子档案管理提出的另一挑战。
二、电子计算机软硬件技术过时的对策
电子档案管理在技术上有三个大问题:存储载体不耐久;读写信息的电子计算机软硬件技术过时,电子信息内容的真实性。
电子档案存储载体的寿命一般都超过了读写它的电子计算机软硬件技术生命周期,使得载体寿命相对于软硬件技术过时而言,显得并不十分重要。世界上几乎没有一个厂家可以保证,它生产的电子计算机硬件和软件不会过时。技术过时使得各种信息的寿命受到威胁,几乎都不安全。下面列举几种对策方法也只能作为参考。
(一) 再生性技术保护
这里所说的再生性技术保护,是指将技术过时的存储载体上的信息适时地转移到纸张或缩微品上,不再使用电子计算机软硬件读取。这种方法为长期保存信息提供方便并避免软硬件技术过时带来的任何麻烦,对于电子计算机技术人员来说,这可能是最希望采取的方法。但却存在几个现实问题:一是有些信息无法转移到纸张或缩微胶片上,如声音信息、超文本信息、多媒体信息等;二是上述信息即使可以转换,也必将失去它原有的风格和能力,如将电子档案的文本格式信息转移到稳定长久载体上,使之具有寿命长、人的眼睛可直接阅读,不受软硬件技术过时的限制等优点,但却失去了数字化的传递与使用的灵活性。因此,这种方法适用于利用率很低的电子档案。
(二)建立电子计算机技术档案馆
建立一个过时的电子计算机技术档案馆,收集技术过时的电子计算机软件、硬件,提供利用,读取那些过时技术记录在载体上的信息内容。例如,收集过时的磁带驱动器和过时的操作系统。这种方法要广泛收集保管过时技术的全套硬件与软件,还必须保持操作这些过时技术的某些技能。由于设备的老化,原生产厂家不再生产这些设备的备件,存储载体在不断损坏等原因,使得代价十分昂贵,不是档案部门自己力所能及的可以采取的措施。
(三)拷贝和迁移
拷贝是在原来的技术环境下定时重写信息数据,防止由于存储载体理化性能变化引起的信息丢失。这应该成为档案馆管理电子档案的一种基本方法。这只是常规的管理工作,而不能解决电子档案由于软硬件技术过时引起的长期保管问题,解决这个问题的可供考虑的方案是迁移。
将数字信息从一种技术环境转换到另一种技术环境上的复制称为迁移。迁移是随技术变化适时改变数字信息格式的一种处理过程,这个过程使得信息在将来也可以被存取。迁移意谓着基于字符的数据,可以从一个存取载体转移到另一个存取载体上,以进行数字信息的保护,
即便是纯文本的电子文件也是如此。
三、信息真实性的对策
档案馆保管电子档案,可能经常要进行数字信息的大量存取。用户要求被存取的信息是真实的。存储载体损坏的复制与软硬件技术过时的迁移,不能只保证信息存取的实现,而更要保证被存取信息的原始性、真实性。保证被存取的信息是原始的、真实的,是对电子档案管理的又一个挑战。
电子文件很容易被改变或巧妙地处理,被修改的电子文件很容易在网络上广泛传播,而出现多个难辨真伪的版本。而纸质文件稍有变动就可觉察出来,如通过文本页数、版式、字迹、装订纸张的变动等区别真伪。电子档案的改变就难以通过表面现象察觉到。事故、有目的信息更新与蓄意破坏都可以导致电子档案内容的改变。事故有时是不可预见的,电子档案在传递与操作过程中,由于疏忽而使数据丢失;在网络传递或网络更新过程中偶发性故障,电子计算机存储器或磁盘故障,均可造成数据丢失。蓄意破坏则是故意去改变网络上信息内容。
为确保文献的原始性,即保证输出信息的真实性,可以用某种方法固定文本或文献,这种固定文本或文献的手段称为鉴别。鉴别电子信息方法有多种,并还在不断推出新的更有效的鉴别技术方法。
参考文献:
[1]程杰梅。电子文件对档案管理的影响与对策[J].池州学院学报,2003(04).
关键词:传统教学方法;案例驱动教学方法;软件建模技术
中图分类号:G642.0 文献标识码:A
随着教育科技水平的发展,传统教学方式方法对培养新时代下的优秀人才已经出现了很多弊端,已经不能适应知识的发展速度和应用范围的扩大。高校培养的人才不符合企业的实际用人要求,往往要花费很多人力和物力再次进行培训。这说明高校的教学与社会实际应用产生了严重脱节,提高教学的效率和学生的知识运用水平已经迫在眉睫。本文针对传统教学方式提出一些改革建议,结合具体的课程探索一些有效的教学方法。
一、传统教学方法的特点和弊端
传统的教学方式,主要以教师的讲授为主,这种方式往往出现“教”大于“学”,即教师教的知识学生无法全部吸收,只能掌握其中的一部分。这种片面强调知识与技能的培养,忽视学生的主体性、能动性、自主性,不利于学生科学素养的培养。造成师生负担过重,课堂教学效率不高。使一些学生产生厌学情绪。传统教学往往是一种师生之间的双边活动,但现代教育实践表明并非如此,教学还存在多种互动形式,如师生之间、生生之间、师生与多媒体之间等,因此,将教学活动界定为师生双边活动,难以反映教学活动的本质,也就难以从根本上解决提高课堂效率的问题。
二、案例驱动教学方法
案例驱动教学方法的出现,改变了传统教学方式和教学理念的弊端,实现了教学过程中的多种互动形式,能更好的发挥学生的主体性和能动性,让学生在兴趣驱动中进行学习,避免了学生的厌学情绪。案例驱动教学本质就是创建生动活泼的学习情景,激发学生参与的兴趣,这里的学习情景将联系实际,让学生进行真实案例的分析与设计,通过自我思考,培养独立解决问题的能力。
三、教学案例设计方法
案例的选择必须贴近学生的学习和生活,这样学生就能较快的进入情景中的角色,明确自己的任务,对即将出现的各种问题能够准确的把握。如何进行案例的设计,本文将结合软件建模技术课程的特点,探索出一些案例教学经验和内容。软件建模技术是软件工程专业和计算机相关专业的主干课程,熟练掌握软件建模技术是未来从事软件行业的不可或缺的核心技能。本课程详细介绍UML的用例图、类图和对象图、包图、状态图、活动图、时序图、协作图、组件图和配置图等模型的语法和语义,以及相关模型的建模技术和理论,重点是基于UML的软件开发过程和系统建模方法。由此可见,本课程实践操作性很强,传统以老师为主的教学方式很难让学生掌握实践的精髓。为了让学生能真实的体验到今后实际工作当中对软件建模技术的真实应用,提前具备在参加工作后才能积累的进行软件开发和设计的相关宝贵经验,案例教学将是本课程的一大亮点,能很好的培养学生各方面的素养。下面是以图书管理系统为案例的教学内容设计。
四、图书馆管理系统案例描述
本案例主要包含“图书馆管理系统”的用例图,类图(对象图),包图,状态图,活动图,时序图,协作图,组件图和配置图,共9种软件模型的建立。“图书馆管理系统”的所有软件模型将按照内容进行划分,不同章节结合不同的软件模型设计过程进行讲解,让学生全面掌握一个真实系统的完整的建模设计过程。最后,生成实际案例所有相关的软件模型,构成一个完整的应用系统,并进行必要的审核,该审核可以通过小组讨论,课堂竞赛的方式进行,提高学生的参与兴趣,让学生在快乐中理解和掌握复杂的软件设计理论和方法。
下面给出用例图、状态图、时序图、组件图等主要模型的教学设计。
(一)用例图
1. 确定系统涉及的总体信息
读者:借书、还书、书籍预定;图书馆管理员:书籍借出处理、书籍归还处理、预定信息处理;系统管理员:增加书目、删除或更新书目、增加书籍、减少书籍、增加读者帐户信息、删除或更新读者帐户信息、书籍信息查询、读者信息查询。
2. 确定系统的参与者
首先分析系统所涉及的问题领域和系统运行的主要任务:分析使用该系统主要功能部分的是哪些人;谁将需要该系统的支持以完成其工作;系统的管理者与维护者。 图书馆管理系统的参与者包括读者(借阅者),图书馆管理员和图书馆管理系统维护者。
3. 确定系统的用例
1)借阅者请求服务的用例
2)图书馆管理员处理借书、还书的用例
3)系统管理员进行系统维护的用例
10.9.8软件开发方案
所有的项目软件开发过程都应遵循一个生命周期模型,在软件的开发策划期间,需要仔细考虑项目的特征和目标,然后选择生命周期模型。在本项目中,本投标单位将选用常用的瀑布型生命周期模型。
瀑布模型的主要特点是:只有当一个阶段的文档已编制好,且该阶段的产品得到质量保证人员(SQA)认可后,该阶段才算完成。测试或验证在每个阶段都必须执行;一旦产品完成提交用户,其后的任何修改均属于维护阶段。
在瀑布型模型中,主要定义的过程包括:需求分析、系统分析、代码实现、测试。 需求分析
需求分析的目的是通过调查和分析,获取用户需求并定义产品需求。需求分析的输出文档是《需求分析说明书》(RAS)。
《需求分析说明书》(RAS)将用客户语言来描述系统需求,其主要的目的是作为与用户沟通并达成一致的基础。这些需求需要用户参与进行评审,并得到用户的确认。然后对用户需求进行细化,对比较复杂的用户需求进行建模分析,最终形成面向软件产品的软件需求说明。
需求分析的主要任务包括:
确定需求调查的方式,例如问卷式、面对面谈等; 调查与记录; 分析需求信息; 编写《需求分析说明书》(RAS); 组织《需求分析说明书》(RAS)评审。主要的角色与职责为:
系统分析员,调查和分析用户需求;
客户与最终用户提供必要的需求信息,并确认客户需求; 系统分析员定义产品软件需求;
客户与最终用户提供必要的信息,并确认产品需求。 系统设计
系统设计是指设计软件系统的体系架构、用户界面、数据库、模块等,从而在需求和代码实现之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。系统设计可分为两个阶段:概要设计和详细设计。概要设计的要点是体系架构的设计,详细设计的重点是用户界面设计、数据库设计以及模块的设计。主要的输出文档包括:《系统总体设计报告》。
主要的参与人员包括:
项目经理指定具备相关经验的开发人员进行软件系统架构的设计,这些开发人员又称为体系架构设计人员;
在用户界面的设计中,常常需要美工和用户的参与; 项目经理指定开发人员进行数据库、模块的设计。系统设计的主要任务包括:
设计准备,包括阅读前一阶段的文档等;
设计,不同的设计内容所采用的方法有所不同,例如对于用户界面的设计,一般采用“原型创作----原型评估----细化”的步骤或方法; 编写相关的设计文档; 组织设计评审。
开发(代码实现)
开发也称为代码实现,其主要的任务为编写整个系统的代码,并进行单元的测试。本过程的输入是个设计文档,输出是源代码、单元测试记录以及代码审查记录。其主要工作任务包括:
准备----确定代码规范等标准、准备软件开发环境等; 代码实现----代码的编写;
代码审查----依据代码规范,进行代码的审查,包括开发人员的互查项目经理的同行评审;
单元测试----采用互测方式进行。
测试
测试包括集成测试、系统测试和用户验收测试。集成测试侧重于模块的集成,是子系统/模块一级的测试。系统测试是针对最终软件系统进行,是一次全面的测试,需要确保软件系统满足产品需求并遵循系统设计。所以系统测试控制的一个关键点是测试的覆盖率。验收测试一般由用户组织,属于用户对系统的符合性、正确性进行验证的测试。
测试的主要任务包括:
制定测试计划----当产品需求和系统设计文档完成之后,测试小组就可以开始制定测试计划和测试用例了。测试计划的主要内容包括:测试完成准则、测试范围、测试方法、人员、测试环境与辅助工具、进度;
设计测试用例----有测试人员完成其设计和编写工作,并需要通过评审;
测试实施----依据计划和测试用例进行测试,测试中发现的错误,要求及时记录,将错误及时通知开发人员并使测试人员可以跟踪错误直到错误问题解决关闭;
错误管理与改错----任何人发现的错误,将被记录,开发人员及时消除错误,在开发人员消除错误之后立即进行回归测试,以确保不会引入新的错误;
测试报告----对于系统测试盒验收测试,在测试完毕后需要进行总结并形成报告。
本投标人的产品测试独立于产品的开发,在产品单元测试完成之后,即交付专门的测试部门进行后续测试,独立开发的测试机制进一步保证了测试的有效性和完整性。
版本控制 控制的目的是保存产品的所有版本,避免发生版本的丢失混淆等现象。并且可以快速准确地查找到任何产品的任何版本。控制的范围是项目中的所有产品,从需求文档、设计文档、测试文档、用户手册到源代码。在人员参与度方面,将是所有的项目成员都必须遵照版本控制规程操作文档库。
控制的要点包括:
在项目的策划阶段,编写配置管理计划。在计划中将指定人员作为配置管理员,负责整个项目的版本控制,变更控制等。计划中还需要标识配置项作为版本控制的基本对象;
配置服务器作为配置库服务器,集中存放项目的所有已完成产品; 使用配置管理工具实施管理控制;
针对产品的不同状态,实施不同的控制策略,例如基线状态的产品,其变更要求有严格的申请、评估、审批、实施、验证、提交过程;
10.9.9软件实施安排
为保证项目在规定的时间内顺利完成,软件项目管理工作对本系统的实施极其重要。本投标人将在软件项目管理总体上贯彻工程的思想,并在项目组织实施中抓住关键工序,采用一系列措施和办法。 软件管理总体框架
软件管理的阶段
本次项目基于GIS系统是一个包括软件和部分硬件相结合的系统集成类工作,从系统集成的角度,我们对该部分项目管理主要分为如下9个阶段:
工程的准备; 工程的确定;
工程设备采购、软件开发; 工程设备安装、单项调试和验收; 联合测试、试运行阶段; 项目验收; 培训;
运行的管理和维护;
售后服务与系统的安全保障。各阶段逻辑顺序关系如下图所示:
各个阶段的主要工作
以下是各个阶段的工作时间内容具体说明。
1)系统工程的准备阶段:该阶段主要工作是对系统工程进行系统分析和深化设计、准备系统接口技术要求文件。具体包括如下内容:按照相关标准规范,根据系统项目的实际情况确定系统需求,完成并提交相关文档;明确系统工程的信息流程和管理模式;确定系统相关的数据、界面接口协议,包括采用的操作系统、硬件接口、连接方式、通讯方式、网络协议、数据记录格式、应答方式、网络故障时的自救方法、进度安排、测试标准等;利用最精简的设备,搭建模拟环境,为系统检测和发布相关设备的初步验收和测试做好实验准备;从技术角度,对主要设备供应商的技术要求提出明确意见或建议;对系统工程进行深化设计并提出详细的技术实施方案;制定行之有效的《工程实施计划》;与设备供应商等进行总进度计划协调。
2)系统工程的确定阶段:该阶段主要是根据系统工程的总体安排,确定设备供应商等的工作范围、责任、相互关系等。从技术角度,确定设备供应商的工作内容;业主、系统集成商、设备供应商一起确定系统各子系统之间的接口标准、规范、实施方法以及相互责任。包括各自相关的工作内容、质量控制、变更管理、各方责任、工程进度安排、测试标准、联调开通等。
3)系统工程的设备采购、软件开发阶段:该阶段本投标人、设备供应商等按照合同要求进行设备采购供应、软件开发项目实施等工作。所有主要设备都需要在货物到达后由本投标人进行测试,符合标准和规范,才能送往现场安装,并提交相应的设备测试报告。通过确定阶段对系统软件总体需求的理解,进行软件实际开发阶段。
4)系统设备安装、单项调试和验收、模拟联合测试阶段:该阶段有本投标人、设备供应商等按照有关要求进行设备的安装、单项调试和验收,模拟联合测试。设备安装工程中,本投标人将根据需要向业主提出工程实施阶段性验收。本投标人将按照规定的实施进度,确认个部分工程系统的进度,提交合格的各项验收测试报告给业主,对存在的问题,与业主技术协调处理。建立系统集成模拟联合测试环境,组织设备的模拟联合测试。设备供应商提供有关测试、验收的工作程序及方式给业主、本投标人,经批准后进行有关工作。设备在测试验收时,本投标人和设备供应商提供所需的、标准的测试仪器、仪表。
5)联合测试、试运行阶段:该阶段由本投标人负责,业主统一协调、进行功能集成、联合测试,通过后进入试运行阶段。本投标人将协调、组织相关设备供应商,负责建立功能完善的集成系统。本投标人将制定整个系统运行的方案和工作程序(包括调试运行周期),并成交业主。本投标人将提供《试运行方案》给业主,协调、组织有关方面,开始试运行工作。
6)系统验收阶段:该阶段由业主和本投标人统一协调,组织进行验收。验收包括:预验、初验和最终验收。本投标人在系统试运行和联网运行验收通过后,将向业主提出正式验收申请。验收标准将依据有关国际标准、中国国家标准规范、系统设计和招标文件的要求。验收内容至少包括以下各项:安装设备的数量、型号和规格;完整的竣工验收资料图纸;设备安装、调试的特殊工具;系统功能;系统质量。
7)系统培训:本投标人将对业主指派的人员进行培训,培训内容包括理论将结合实际操作。培训开始之前本投标人将提出培训计划(包括:内容、技术资料、时间、地点、人数等),撰写培训教材,由业主确认后在实施培训。本投标人将负责使接受培训的人员达到能正确操作和维护的上岗资格。
8)系统运行的管理和维护:从系统验收通过之日起,系统进入质保期,项目质保期为36个月。在此期间,本投标人将派驻专业工程师在项目现场,保障系统的正常运行并随时解决出现的问题。在质量保证期内,对任何因安装工艺、材料和产品质量而造成的设备或部件的损坏,本投标人将提供无常的更换和维修。在质量保证期内,本投标人将负责系统维护、确保系统维护及时、高效。如果在质保期内,国家、公安部或交通部门颁布了有关交通管理的接口标准,本投标人将无条件免费按照国标或部标,更换所提供给采购人的软件系统满足国标或部标的接入标准。
9)售后服务:产品实行终身维护。本投标单位在潍坊具有指定专业维护机构,具备常住维修人员6名和相关维修设备和车辆(工程高车及售后服务车)。具有良好的售后服务、质量保证体系和相应的技术保障措施,提供全方位、有效而及时的售后服务和技术支持。本投标人接到保修通知后,10分钟实质性响应,2小时到达现场,一般故障排除最长时间不超过5小时;特殊故障排除最长时间不超过12小时。一般故障指下端设备发生故障,特殊故障指系统软硬件疑难故障。当用户需求时(质保期后五年内),本投标人承诺无偿提供人员和技术支持。当系统软件版本升级时,本投标人将无偿对设备进行软件升级。本投标单位承诺免费提供后期新建应用平台的对接接口并提供免费对接服务。
【关键词】大数据;计算机软件技术;CDA;BIM
随着物联网的发展,现阶段建筑领域的技术人员,需要更加熟练地操作计算机软件。因此,中高职在建筑等专业教学中,正在应用计算机软件技术,促使学生运用计算机进行绘图、流程设计。为了跟上“大数据”时代的步伐,需要深入到专业课程教学中,促使计算机软件技术能为课程教学服务,切实提升学生的计算机软件技术水平。
一、工程制图课程中计算机软件技术的应用
工程制图课程中,要求学生会按照制图标准、基于投影理论实现形体表达。所以,在教学中不仅要求学生具备较强的读图和绘图能力,还要学生具有较强的空间想象能力,能按照要求绘制机械工程图、桥梁与道路工程图、建筑工程图等,并能讲解工程图的重点。在工程制图课中应用计算机软件技术,一是要求学生能用计算机软件精准地表明各种物体比例,绘制出能用于建筑施工的图纸。二是要学会用计算机软件分析图纸,能按照制图标准进行图纸的修正与调整,并将计算机软件知识综合应用到工程绘图中。随着建筑行业信息化的发展,应让学生在专业学习中熟悉AutoCAD、SketchUp等计算机绘图软件,掌握多种新的计算机绘图技术。课程教学中,教师要以优化学生建筑设计图纸为目标,计算机技术教师应定期与工程制图、建筑设计课程教师沟通交流,在计算机软件类课程教学中,更为详细地介绍AutoCAD,SketchUp等软件,及时了解学生工程制图的学习需求,合理地为学生安排与工程制图相关的软件命令练习课程,促使学生在计算机软件学习中能将其应用到工程制图中,实现学以致用的同时,引导学生将所学的知识应用到建筑工程图绘制中,优化学生的建筑设计方案图纸绘制能力。
二、工程造价教学中计算机软件技术的应用
建筑行业近年来尤为注重引进计算机软件及信息技术,为顺应“大数据”时代下建筑市场需求,工程造价教学中应用AutoCAD,促使学生利用计算机进行图形的编辑和数据加工,既能解决计算机辅助绘图的问题,又能消除手工绘制和修改易出现错误的弊端,可实时信息化共享。CAD制图软件的碰撞检测功能可检验模型的碰撞效果,并对模型中通道情况进行清点和检验等,设计人员能根据检验结果进行深入分析及修正,尽早地确定建造施工中会出现的问题,以降低建筑成本。同样,计算机软件正逐步应用于工程造价控制,电算化已成为必然趋势。在工程造价教学中,应用较为广泛的计算机软件有鲁班、广联达等。学生在了解工程造价基本理论知识基础上,学会用计算机软件编制工程造价文件,有效提升工程造价计算机软件应用能力。另外,计算机建模软件技术能进一步促进建筑工程造价的信息化发展。建筑造价管理课程中,要结合预算编制、BIM技术等,促使学生了解最新的计算机软件技术应用情况,合理应用现有的工程造价信息,改变以往的造价模式,逐步开拓学生的视野。
三、计算机软件技术在建筑专业教学中的实际应用方法
建筑专业教学中使用各种计算机软件技术,目前中高职常用的主要有AutoCAD、CorelDRAW、BIM建模,还有一些管理软件,其有效的应用方法如下。
(一)计算机绘图软件的应用。在工程制图及造价教学中,在学生熟练掌握基本二维平面图的绘制后,应利用Auto-CAD的三维造型技术建立建筑模型,明确建筑的内外构造,将集合造型及特征理念等作为新的教学切入点,促使学生在绘图中想象三维形体,加强对三维模型的成形分析。例如,用AutoCAD讲解书本习题作业,一边绘图一边进行建筑模型讲解,用绘图屏幕代替黑板,能让学生清晰地认识各种线型、线宽。教师应让学生在AutoCAD环境下动态观察物体在不同投影下的内外构造,制作不同方向的投影及轴测图,让学生能实现三维形体与二维图形的相互转化。既要让学生学会操作CAD技术简化建模工作及实现模型的修正,还要让学生结合建筑施工实际情况对模型进行检验。此外,还需关注两点:一是教师应结合学生的就业方向,为学生树立明确的学习目标,在建筑CAD授课过程中,联系具体的建筑施工方案,讲解软件操作及会应用到的内容。二是教师应合理安排课后练习任务,针对建筑设计与建筑造价等分配合理的案例及任务,延伸课堂软件课程知识的同时,合理地安排好学生的软件练习作业。课后练习时,教师可以将一些素材和案例信息上传到微信朋友圈或是QQ个人空间、班级群中,实现信息实时共享,激发学生的学习及练习热情,让学生了解更多的优秀工程案例,提升自身的专业水平。
(二)计算机建模软件的应用。BIM是通过数字信息仿真模拟建筑物所具有的真实信息,在建筑工程项目的各项相关信息数据作为模型的基础上建立三维建筑模型。近年来BIM技术在建筑行业中得到了重视。建筑专业教学改革中将关于BIM技术的内容渗透到专业课程中,应用BIM软件进行实践教学。例如Revit建筑方案设计子软件,基于Revit建筑方案设计子软件在前期工程设计中的应用,前期方案设计阶段:最初将手绘草图转化为简易模型并最终讨论确定方案,然后将方案BIM化,在RevitArchitecture的平面绘制界面中绘制出各层平面并设置好每层高度和墙身构造,通过软件操作进一步提升学生对BIM技术的认识。顺从建筑业改革升级的趋势,结合实际建筑项目调整课程教学内容,切实提升学生BIM软件操作水平。以BIM全过程造价管理为例,教师应选取实际的工程项目,从投资估算到设计概算,借助BIM技术建立三维信息化模型,确定施工量以及构件数量等,通过建筑信息的分析确定施工时间。这样就能让学生了解三维实体模型到三维模型+进度+成本等,依据工程造价的需求将BIM技术中包含的建筑信息和建筑模型作为造价核算和成本管理的关键,利用其数字化信息实现工程建设、设计与施工等信息共享。这样一来,学生就能更好地认识到计算机软件技术的应用价值及优势,增强学习动力,提升“1+X”建筑信息模型(BIM)职业技能等级考试效果。
四、结语
综上所述,大数据时代下中高职建筑专业教学中计算机软件技术的应用要结合行业实际情况,引导学生合理使用计算机软件,促使学生掌握计算机软件技术,以此贯彻“职教20条”精神,提升学生的职业综合能力,培养复合型技术技能人才。
能源行业最佳解决方案奖 北京汇智博创科技有限公司
电子政务政府领域最佳解决方案奖 上海华东电脑股份有限公司
金融领域最佳解决方案奖 湖北省农村信用社联合社网络信息中心
驾驶人培训及考试领域北斗应用最佳解决方案奖 北京星网宇达科技股份有限公司
企业媒体平台领域最佳解决方案奖 大连万达集团股份有限公司
药品电子监管领域最佳解决方案奖 江苏瑞德信息产业有限公司
电信运营商业务办理最佳解决方案奖 福建三元达软件有限公司
智慧校园最佳解决方案奖 广东全通教育股份有限公司
水务信息化领域最佳解决方案奖 深圳市开天源自动化工程有限公司
智慧教育综合领域最佳解决方案奖 上海微创软件股份有限公司
食品安全监管领域最佳解决方案奖 西安联易信息技术有限公司
数据安全领域最佳解决方案奖 北京睿芸翰林信息技术发展有限公司
物联网领域最佳解决方案 航天信息股份有限公司
药监领域最佳解决方案奖 广州华南资讯科技有限公司
制造行业最佳解决方案奖 北京中机盛科软件有限公司
光伏发电智能一体化最佳解决方案奖 北京木联能软件技术有限公司
能源管理领域最佳解决方案奖 北京爱博精电科技有限公司
电力行业信息化最佳解决方案奖 北京冶联科技有限公司
大数据分析与应用最佳解决方案奖 安徽甲科数据软件有限公司
金融行业信息化最佳解决方案奖 鼎盛(厦门)电脑系统有限公司
自然语言智能问答领域最佳解决方案奖 北京中微通信息技术有限公司
数字化商品服务领域最佳解决方案奖 上海中商网络股份有限公司
信息安全领域电力行业最佳解决方案奖 深圳市易聆科信息技术有限公司
电子政务领域最佳解决方案奖 北京万泉宝瑞科技信息有限公司
人力资源和社会保障行业最佳解决方案奖 四川久远银海软件股份有限公司
智能交通行业最佳解决方案奖 江苏大为科技股份有限公司
人力资源服务行业最佳解决方案奖 上海隆达软件股份有限公司
安全办公领域最佳解决方案奖 北京中宏立达科技发展有限公司
互联网营销领域最佳解决方案奖 百度在线网络技术(北京)有限公司
考试服务领域最佳解决方案奖 ATA
电力行业最佳解决方案奖 普华讯光(北京)科技有限公司
植入医疗器械可追溯信息化监管领域最佳解决方案奖 北京益源信通科技发展有限责任公司
统一通讯领域最佳解决方案奖 北京九州讯联信息技术有限公司
农业语音服务领域最佳解决方案奖 北京太谷雨田信息科技有限责任公司
医疗信息化领域最佳解决方案奖 北京天坦呵呵软件有限责任公司
移动医疗行业最佳解决方案奖 英特尔(中国)有限公司
终端管理领域最佳应用奖 北京睿芸翰林信息技术发展有限公司
供水行业管理领域最佳解决方案奖 潍坊东方软件有限公司
教育行业最佳解决方案奖 北京金山顶尖科技股份有限公司
银行业最佳解决方案奖 电讯盈科企业方案
教育行业最佳解决方案奖 大连泛东世纪科技有限公司
汽车行业最佳解决方案奖 用友汽车信息科技(上海)有限公司
汽车行业移动CRM最佳应用奖 比亚迪汽车销售有限公司
政府安全生产监督管理领域最佳应用奖 长沙市安全生产监督管理局
云计算行业最佳应用奖 云神科技投资股份有限公司
关键词:软件工程;信息管理与信息系统专业;案例教学;教学模式
中图分类号:G64 文献标识码:B
文章编号:1672-5913 (2007) 19-0043-04
1引言
信息管理与信息系统专业具有管理与信息技术相互渗透的特点,它既不同于计算机专业也不同于管理专业,更不是计算机与管理专业的大拼盘,而是基于现代管理理论,借助于先进的计算机工具进行信息管理和信息处理的学科。课程涉及计算机技术、信息处理技术、信息系统管理与分析、经济管理类课程。要求学生在知识结构上除了掌握扎实的管理科学、经济科学、计算机科学与技术、现代信息技术知识外,还应该具备较强的系统思想、信息系统分析与设计方法以及信息管理等方面的知识与能力。
“软件工程”是信息管理与信息系统专业的主干课程,也是一门指导信息管理与信息系统分析的课程,它在信息管理与信息系统专业的教学中占有非常重要的地位。但是,目前现有的针对信息管理与信息系统的“软件工程”教材大部分还是按照传统的分析和设计方法,没有融入当前比较先进的设计方法、设计工具,而且所选取的实例也没有融入先进的管理理念,所以对信息管理与信息系统专业的“软件工程”课程的研究和改革是非常必要的。
2信息管理与信息系统专业软件工程教学改革
传统的软件工程教学模式已不适合信息管理与信息系统专业的学生,需要建立一个符合社会发展需求、能够培养有优秀复合人才的教学新模式。通过几年的教学摸索,我们提出了“合理体系、多种形式、内容渗透、特色案例和实践、多形式考核”的教学模式。该模式采用产学结合、理论实践相结合的方法,在企业中建立研究基地同时与资深软件工程师和咨询师进行联合研究和实践,使学生能够掌握最先进的软件分析方法和工具;深入理解先进的企业管理理念;提高动手实践能力,保证了以后毕业设计的顺利进行和社会的需求。
2.1软件工程课程体系的合理构建
软件工程课程是信息管理与信息系统专业非常重要的专业课程。课程的培养目标应该以市场人才需求为导向,培养的人才应该能够为软件企业提供更为专业化的服务,满足企业的需求,从而增加企业的国际竞争力。因此,软件工程课程的教学内容也应该更为专业化,应该在跟踪国际有关机构对软件工程研究的新成果的基础上,不断更新教学内容,构建新的课程体系。软件工程课程主要涉及3个方面:技术与方法、工具与环境、标准与规范、过程与管理。教学过程既要考虑内容的连续性、继承性,又要考虑可理解性和可操作性。因此,课程体系和教学内容也应涵盖如下层面:
(1) 基本理论层面:介绍软件工程基本理论,包括基本概念、原理、方法和技术、工具与环境,等,其中传统的方法和技术等内容不能没有,但不能占用太多的课时,而对于新的技术和方法则应该花较多的课时加以介绍,安排合适的课程训练,如在面向对象的方法、项目管理方法、相关的开发工具和开发环境等方面。
(2) 技术管理层面:介绍软件管理的主要内容,包括软件项目管理、软件风险管理、软件质量管理、软件配置管理、软件过程管理等方面。主要以软件过程为主,包括美国的SEI的软件能力成熟度模型CMM/CMMI、ISO9000-3、国家行业标准《软件过程成熟度模型SJ/T11234》和《软件能力成熟度模型SJ/T11235》,等。
(3) 实践层面:软件工程实践,主要是让学生进行软件工程课程内容的综合应用实践。可以采用相对集中的课程设计、参与实际软件项目开发,以小组方式进行软件项目模拟,参与软件企业的软件过程改进等方式进行,必要时可以跨学期进行。
2.2软件工程教学内容的合理安排
为了保证教学的高标准,体现教学的科学性和完整性,我们应该在合理的软件工程课程体系结构基础上合理的安排软件工程教学内容。软件工程教学内容覆盖了软件工程知识体系中十个知识点,即软件需求、软件设计、软件构造、软件测试、软件维护、配置管理、工程管理、软件过程、工具和方法、软件质量。这些内容的教学被有意识、阶梯状地分配到学生四年的不同学习阶段,最后使学生具备知识的综合应用、融会贯通的能力。软件工程的教学内容安排如下:
(1) 加强对软件工程的认识:一年级的学生主要是公共基础课程的学习,但在一年级的计算机导论课中加入了职业发展和软件工程思想,使学生初步了解软件工程的思想、作用,加强学生的规范化意识。
(2) 加强编程规范:在二年级的程序设计课程中除了使学生熟悉编程语言,理解面向对象的概念外,还加入了模块化思想和编程规范的训练,通过加强软件工程中编码阶段的规范化训练减轻了以后的软件维护工作。
(3) 设计的规范化:三年级开设了数据库系统、软件工程以及大量的管理课程,在课程最后布置一个综合作业,这个作业以先进的管理理论为指导,以软件工程的思想规范系统的分析、设计。
(4) 工程化实践:四年级通过软件工程课程实习和毕业设计课程进一步强化软件工程的思想,通过实践进一步体会其重要性。
对于软件工程这样一门特殊的课程通过四年的阶梯状教学渗入,通过迭代式教学,使学生的分析、实践能力得到有层次、有步骤地提高。
2.3多种教学形式相结合
为了提高软件工程的教学质量和教学效果,激发学生的学习兴趣和热情,在教学中应采用多种教学手段提高教学效果。
(1) 多媒体教学:理论课采用多媒体教学手段,制作了大量课件。这些课件可以形象化地讲授软件工程基本原理,并且在同样的一节课内能比以前传授更多的知识。由于课堂时间有限我们将部分内容制作成课件供学生自学,以便于学生课外扩展自己的知识面。
(2) 网上教学:随着Internet的发展,网络成为人们获取知识的最重要的途径,在软件工程的教学中通过建立网站,为学生更好学习提供了一个平台。网站为学生提供学习资料下载以及相关业界信息;学生也可以通过网络进行在线、离线的交流,同时网站也经常开展课程的专题讨论和专家在线讲座。
(3) 双语教学:考虑到学生以后可能会阅读大量的外文资料,软件工程尝试实施双语教学,采用国外优秀的原版教材,课件和作业大部分采用英语作为工作语言,并鼓励学生使用英语进行交流;同时给学生提供英文的课外阅读资料,以使他们及时了解国际最新发展。
(4) 案例教学:考虑到信息管理与信息系统专业的特殊性,我们将案例教学融入到软件工程课程的教学中,通过案例的分析一方面加强学生对所学的管理知识的理解,另一方面使学生能深刻领会和理解软件工程的思想和方法。
(5) 实践教学:通过与企业合作,建立实践基地为学生提供实际的课题。这种方式提高学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,提高学生的综合素质(特别在基础技能、团队协作、资料收集、人际交流、项目规划几个方面),在就业中具备更强的竞争力,更加适合在现代软件企业中发展。
(6) 讲座:通过资深的专家、软件工程师的讲座,有利于学生了解当前的社会需求和前沿技术,为学生提供一个指导方向。
2.4完整的、体现先进管理理论的特色案例教学
软件工程讲授的原理、技术、方法都是抽象的,为了使学生能深刻领会和理解软件工程的思想和方法,在教学中将MBA的案例教学引到软件工程的课堂教学中,将复杂抽象的概念用具体生动的案例进行诠释,能够收到事半功倍的效果。在具体教学中,可以实施以下几个步骤:
(1) 设计一个典型的、完整的、具有先进管理思想的、实际的软件项目案例,在整个教学过程中结合该案例讲授每个知识点,将实际案例作为贯穿所有知识点的主线。该案例选择学生学过、当前流行的管理方法(比如ERP、供应链),最好来源于授课教师直接参与的软件项目或实习基地的项目,授课教师对其全部细节能够准确掌握,当然还可以与软件企业的资深的软件工程师和管理者合作来编写案例,使其具备实战性;另外,这些教学案例最好采用传统的以及目前流行的两种方法编写,并且要根据软件工程的发展对其进行不断的修改和完善。
(2) 布置讨论案例。在讲授完每个知识点后,安排一到两节的案例课,该案例不同于教学案例,可以针对各个知识点的特点设计多个案例,不要用一个案例贯穿所有知识点。案例的内容应具有目的性、典型性、真实性、复杂性和启发性。教师用描述性语言叙述案例,其中隐含着有待解决的问题及其所处的客观条件,学生通过认真阅读案例,并查阅有关资料,从错综复杂的现象中理出头绪,明确给定条件,找出主要问题并做好记录。同时,分析问题,制定针对性的措施,提出解决主要问题的可行方案,并对方案进行初步评价。
(3) 组织小组讨论。将学生分成五至六人的讨论组,由每位学生运用所学知识对案例作出分析和说明,提出解决的措施,重点阐述分析、设计的理由,然后,大家集思广义,小组内展开讨论,各抒己见,并由专人记录,讨论的重点是各个解决方案的相互对比和分析评价。最后,从各个可行方案中选出一个较为合理的解决方案,或者对所有方案进行整理和归纳,得到一个最佳方案。
(4) 小组代表发言,集体讨论。每个讨论组派一名代表上讲台,讲述本组对案例的理解、分析、判断、论证和决策过程,说明解决问题的方案和分析设计结果。对于同学的发言老师要围绕题目给予必要的引导,鼓励他们多角度、多因素地观察分析问题,培养学生的知识迁移和拓宽思维的能力,启迪他们学以致用的创造意识。然后,组织全体同学进行分析、讨论、评价,对于非确定型的决策问题,同学们往往存在着意见分歧,结论很难统一。这一过程可以增加学生对软件开发项目的感性认识和兴趣,提高他们分析问题和解决问题的能力。
(5) 教师总结。在案例讨论结束时教师要进行总结,但总结的重点不是对案例分析所做的结论性意见。因为,解决案例问题的决策方案不是唯一的,所以教师的总结应是就整个讨论情况作出评价,对正确的论点给予肯定和完善,指出一些带有倾向性和原则性的问题,特别是对某些问题可以更深一步的思考,进行启发式的诱导。
案例教学法通过案例贯穿软件工程各知识点的讲授,将枯燥的理论与实际紧密结合,变抽象为具体,帮助学生充分理解和掌握各知识点;通过组织学生参与案例讨论,要求学生从真正工程师的角度来分析问题和解决问题。正是这种参与性的学习方法,才使学生有可能成为未来优秀的人才。
2.5合理的实践安排
软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生,因此,实践是这门课程的一个重要环节。课程实践一般集中安排在课堂教学结束后,但是,在把握教学进度的同时,必须及早布置课程设计题目,让学生边听课边实践,使其有相对充裕的时间收集相关资料和进行独立思考,及时消化理论知识并应用于实际,探询问题的最佳解决方案。课堂学习结束后,进入集中的课程设计阶段,对上一阶段的工作成果进行补充和完善,编写各阶段的工程文档,实现系统并测试,最后总结设计得失。
课程设计应以团队合作的方式进行,每个小组4~6人,在优差生搭配的前提下自由组合,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,小组成员角色可以互换。以团队合作的方式协同完成项目开发。这些项目都是从实际合作基地的项目。设计过程学生相对独立的完成,需要学生在熟悉UML的面向对象软件开发方法后,能够通过Rational Rose针对实际应用问题构造UML模型,教师采用点拨方式或共同探究的方式进行指导。设计小组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同,在研究问题找出规律的过程中创造性地学到了知识,创造能力、应用能力、综合能力和交流合作等都得到充分的发展。在课堂讲授的同时及早布置课程设计题目,避免了理论学习与实践应用的脱节,提高了学生课堂学习的认真程度,同时也提高了课程实践的效果。同时每个阶段要有成果展示和相应的文档资料。最终应提交成功运行的产品及全部文档。
2.6多形式考核方式
软件工程是一门实践性非常强的课程,考核的重点不应该只是理论考试,而应该看学生是否掌握了软件工程学的思想和方法,另外考核的功能不仅是检验学生学习和掌握课程的情况,更重要的是鼓励和督促学生学习的主动性,因此软件工程的考核注重学生综合知识和应用能力方面的考核,我们的考核方案是:平时作业5%,课堂表现(发言与讨论)25%,案例分析(小组模式)40%,笔试30%,课程的实践单独考核。采用这种考核方式,可以避免学生对知识的死记硬背,转而重视对知识的理解和运用,课堂发言踊跃,对学生学习的主动性和创造性思维具有很大的促进作用。
3结论
总之,针对信息管理与信息系统的专业特点改进软件工程的课程教学,必须针对其实践性强、发展迅速的特点,根据管理模式、软件行业需求的变化不断更新教学内容,设计合理的课程体系、教学方法,产学结合、理论与实践相结合,在突出课程基本理论和概念知识的同时,更侧重于对学生的软件工程应用能力的培养,运用有效的教学手段,建立良好的教学环境,培养学生的学习兴趣,提高学生学习的主动性与创造性。该课程的目标是培养适应社会需要的高素质的复合型人才。
参考文献
[1] 骆斌,张大良,邵栋。 软件工程专业的课程体系设计[J].中国大学教学,2005,1.
[2] 万江平,安诗芳,黄德毅。软件工程知识体系指南综述[J].计算机应用研究,2006,10.
[3] 王志平,张毅,童华,李烈彪。软件工程实验室建设和实验教学的探索[J].实验科学与技术,2006,12(6).
[4] 沈备军,顾春华。软件工程教学模式的研究和实践[J].计算机教育,2005,1.
[5] 尹锋。软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006,9(5).
[6] 牛丽,.基于UML的ERP开发方法研究[J].长春大学学报,2006,2(1).
收稿日期:2007-09-01
作者简介
关键词:示范性软件工程;人才培养方案;制订的前提
一、引言
自从教育部、国家计委发文(教高[2001]6号)《关于批准有关高等学校试办示范性软件学院的通知》批准设立35所部级示范性软件学院以来,软件工程专业经历了从无到有、发展壮大的历程。从我国高等教育体制的层次来看,大体可将软件工程本科专业分为国家示范性软件工程专业和其他本科学校的软件工程专业两类,其中部级示范性软件工程专业大多分布在985工程院校中,这类学校对学生的培养基本上都清晰地定位为高端软件人才,其课程体系虽然与计算机科学与技术专业差别很大,但对专业知识的学习来说理论教学仍然在其课程体系中占有很高的比重,这与其学生的素质好、教师的水平高、教学投入大是密不可分的。与这些985工程院校相比,大多数普通本科院校在开设软件工程专业时面临着学生的层次多、教师总体上综合能力弱和教学投入不足等更多的约束,如何在这些约束中更好地培养学生、满足社会需求就成为不得不面对的一个重要的问题。
专业人才培养方案是保证专业人才培养目标和教学质量的纲领性文件,是人才培养规格要求的总体设计蓝图和总体实施方案,是组织教学过程、安排教学任务的主要依据,在人才的培养过程中占有重要的地位,是人才培养定位的具体体现。因此,在制订软件工程专业人才培养方案时必须找准定位,体现因材施教,展示特色,满足社会需求,最大限度地发掘学校自身培养人才的潜能。
二、软件工程专业培养方案制订的几个前提
社会对不同的专业有不同的人才需求,不同学校的学生层次差别很大,不同专业的内涵不同,尤其是学科基础相近的专业之间更需要体现不同专业的内涵。因此,在制订软件工程专业培养方案时应该关注以下几个方面的问题。
要制订软件工程专业的培养方案,必须弄清软件工程的内涵。软件工程脱胎于计算机软件技术,随着软件应用日益广泛、软件规模日益扩大,人们开发、使用、维护软件不得不采用工程的方法,以求经济有效地解决软件问题。借助于计算机科学技术、数学、管理科学与工程诸多学科,今天的软件工程己由最初的一个学科方向发展成为以计算机科学技术为基础的一个新兴交叉学科。由此,我们可以知道工程性是软件工程有别于计算机科学与技术的最大差别,而二者采用的计算机理论和技术是相同的。因此,在软件工程专业培养方案中一定要有体现工程性的课程和训练内容。
要制订软件工程专业的培养方案,必须要因材施教。我国现行的高考制度决定了不同层次的高等学校生源水平差距很大,简单地用现行的本科、高职、技校来划分学生的培养层次对本科生的培养是不合适的,如在辽宁一本和二本的分数线差距就达到100分左右,即使是在一本学校中985院校和其他学校的分数差距也少则几十分,多则上百分之多。因此,所有各学校在制订本校软件工程专业培养方案时一定要考虑学生的层次和接受水平。要制订软件工程专业的培养方案,必须了解社会需求。软件工程专业人才采用工程化的方法分析、设计、开发和维护软件系统,在这些具体的领域内也存在低、中、高端人才的划分,因此各学校在培养人才时必须有针对性,要有市场细分的意识。
三、非部级示范性软件工程专业培养方案的制订方法
(一)培养目标的确定方法
教学管理者在制订专业培养目标时应该在考虑学生的层次、所在专业的优势研究方向、学校的教学投入和社会需求的基础上体现本专业的内涵。
我国各地教育水平的不均衡造成了各高校同一专业入学学生的成绩存在重大差距,这种差距直接导致了学生接受能力的不同,因此,在制订培养方案时要根据学生学习能力的高低来安排理论课程的比重,不同高校可根据自身的情况来安排,以便做到因材施教。极端的情况的下甚至可以考虑针对不同水平的学生制订不同的培养方案。
所在专业的优势研究方向对学生培养目标的确定也是一个现实的约束,我们应该量体裁衣,根据自身的优势和特长确定学生的培养目标,扬长避短才能给学生提供更好的、更优质的教学指导和训练。
专业的发展和建设与学校的支持是分不开的,软件工程专业是否为学校重点发展的专业关系到学校的软硬件投入,因此我们在制订培养方案时应该对学校的投入有一个基本的判断,不能制订太脱离实际的培养目标,以免造成后续试验环境难以搭建问题的出现。
目前,非部级示范性软件工程专业培养的学生本科毕业后绝大多数都要走上工作岗位,要求具备软件开发、测试等技术能力,这就要求在制订培养方案时对技术能力培养给予高度重视,以便学生顺利就业。当然,更为全面、细致的市场人才需求调研对专业目标的制订具有契合实际的指导作用。
软件工程专业是以工程性为其专业特征的,因此必须注重工程素质的训练才能培养适应社会需求的软件工程师。
此外,在确定培养目标时必须综合考虑以上几个方面内容,例如虽然学生整体素质不高,但培养方案也要为其中少部分高素质的学生提供足够的学习知识和训练;工程师素质的训练要与技术的学习相结合;学生就业和其长远发展相结合等。
(二)按培养目标确定学习知识点,整合课程内容
软件工程专业虽然是以计算机科学与技术专业的理论体系为背景,但在本科阶段学习内容的广度和深度上却不同于计算机科学与技术专业,既要能整体上把握计算机学科的理论体系,又要学习软件工程方面的理论和技术,所以制订软件工程专业培养方案的第一步就是确定需要掌握的知识点,包括计算机学科的知识点和软件工程学科的知识点两部分。
目前,在非部级示范性软件工程专业人才培养方案的制订中存在的最主要的问题之一是不按知识点确定讲授内容,而是把计算机专业的课程直接照搬到软件工程专业开设,如计算机专业开设的操作系统、编译原理等课程,这种方法造成的直接后果就是软件工程专业需要讲授的课程过多,学生的学习压力过大,而应该学习的软件工程方面的知识如需求工程、软件工程过程等又没有时间讲授。
(三)面向工程的培养方法
工程不是科学,甚至也不是“应用科学”。科学是分析性的,是努力去了解自然;而工程是综合的,是努力去创造,但受自然、成本、安全关注、环境影响、人类工程学、可靠性、生产能力、可维护性等方面的制约。因此,工程要求在制约中进行设计。国际著名的工程教育理念CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,要求以综合的培养方式使学生在这四个层面达到预定的目标。个人能力、人际团队能力和工程系统能力三个层面是对所有工程学科通用的,在制订软件工程专业培养方案时可以参考美国工程教育认证组织ABET于1996年制订的EC2000等认证标准来实施。而软件工程专业基础知识部分一定要体现工程的设计性,要安排尽可能多的设计性学习内容,将学生的基础知识学习和综合能力训练、扎实的课程学习和广泛的探索兴趣结合起来,安排循序渐进的课程设计、综合设计、实际项目来培养学生。
(四)体现自身培养特色
特色就是人无我有,人有我强,在人才培养方案中也应该体现特色。特色的确定可根据自身的积累,也可根据市场需求和可行性来确定。
辽宁工程技术大学软件学院是全国煤炭类院校中唯一一家软件学院,多年来为煤炭企业开发了很多软件,熟悉煤炭行业特点,了解煤炭企业运行机制,所以其打造的第一个特色就是面向煤炭行业软件开发的能力和优势。辽宁抓住世界信息产业地域转移的机会,提出打造软件外包强省的目标,辽宁工程技术大学立足于服务地方经济建设目标,决定培养面向对日外包领域的软件人才。语言是对日软件外包中最重要的一项基本技能,所以开设了128学时的日语课程,为学生从事对日外包开发打下坚实基础。
实践证明,面向煤炭行业和面向对日外包的培养模式对学生的就业和发展起到重要的推动作用,也得到了用人单位的认可。
(五)课程设置要能调动学生的学习积极性
提高培养质量的关键是要尊重教育规律,学习最主要的动力来自兴趣,所以调动学生学习积极性的关键是要提高学生的兴趣。在培养方案中可以通过合理的课程设置来提高学生的主动学习热情。在入学之初可采用兴趣引导的方式激发学生的学习热情,可以考虑开发一个软件系统,教师将各个模块编程实现,然后在课堂上讲授软件系统的功能,在实验中指导通过设计基本的参数将各个模块组装成实际可用的系统,让学生对本专业的学习产生兴趣。在后续的某一方向课程中做课程内的实验,以使学生产生成就感,激发他们进一步学习的热情。大三下学期和大四阶段可通过就业压力和工作之后达到的美好前景督促和引导学生努力学习,最终向社会输送合格的软件工程专业人才。
四、结束语
非部级示范性软件工程专业人才的培养具有自身的特点,在制订培养方案时一定要理解软件工程专业自身的内涵,认清与计算机科学与技术专业的区别,从而根据社会需求和学生素质来确定培养人才的目标、需要学习的知识点、培养方法和特色,进而采用必要的手段激发学生的学习热情,尽可能地提高培养质量。在此基础上,还要认识到软件工程专业是一个快速发展,知识更新速度非常快的专业领域,所以,还要有动态更新培养方案的机制,以便适应社会需求和技术潮流。
参考文献
[1]教育部计算机教学指导委员会。软件工程本科专业规范[D].2004,12.
甲方:
乙方:
根据《xxx合同法》等现行法律法规,本着自愿、平等、诚实信用的原则,双方就________________________技术服务项目事宜,协商一致,签订本合同。
一、服务内容及方式
(一)服务内容:乙方为甲方提供________________________软件一套。
(二)服务方式
1、现场技术支持。
2、电话技术支持、电子邮件技术支持。
3、系统运行验收合格之日起______年内软件免费升级。
(三)技术服务达到的技术要求及考核验收指标/标准:按甲乙双方确认的________________________为依据验收。
二、服务期限、地点
(一)服务期限:自本合同签订后______个工作日内。
(二)服务地点:________________________。
三、资料的提供
(一)甲方应向乙方提供的技术资料、数据。
(二)乙方应向甲方提供的资料:________________________软件一套。
四、验收时间、地点和方式
(一)甲方在乙方服务时间内安装调试结束后,验收当天的试运行(双方无修改意见后),当天在乙方公司进行验收项目成果,验收根据按甲乙双方确认的________________________为依据验收。
(二)甲方验收后出具验收报告,作为验收结果的书面材料。
(三)本合同服务项目的保证期为______年,自项目通过最终验收之日起计算。保证期间如发现服务质量有缺陷的,乙方应负责无偿修正、返工。
五、费用及支付
(一)本项目技术服务费为:______万元人民币(大写:______元整)。本项目技术服务费由甲方承担,依本合同约定支付给乙方。
(二)合同签订后,甲方一次性支付给乙方软件款即______万元(大写:______元整)。
六、权利和义务
(一)甲方权利
1、有权要求乙方按照本合同约定提交技术服务成果。
2、有权随时对乙方的服务进行监督检查。
3、有权要求乙方对其服务过程中存在的问题进行整改。
4、有权要求乙方提供相关的技术资料和必要的技术指导。
(二)甲方义务
1、在合同生效后______日内向乙方提供本合同中列明的技术资料、数据材料,未及时提供所造成的损失由甲方负责。
2、向乙方提供以下工作条件:认证通过的公众号、已经备案过的域名及服务器;提供上述工作条件所需费用由甲方负担。
3、在接到乙方关于要求改进或更换不符合合同约定的技术资料、数据材料的通知后______天内,及时做出答复,未及时答复所造成的损失由甲方负责。
4、按约定向乙方支付报酬。
5、按约定验收项目成果。
(三)乙方权利
1、接受甲方提供的技术资料、数据材料。
2、交付符合本合同要求的工作成果后获得报酬。
3、发现甲方提供的技术资料、数据材料或工作条件不符合合同约定时,有权在接到上述资料或开始工作的______天内,通知甲方改进或者更换。超过上述期限不提出改进或更换要求的,视为甲方提供的资料和工作条件已符合合同约定。
(四)乙方的义务
1、乙方应按约定亲自完成技术服务工作,未经甲方书面同意擅自转委托给第三方的,甲方有权拒付报酬并单方解除本合同。
2、乙方应按合同规定时间内将系统程序交付甲方。
3、项目验收后,向甲方提供相关的技术资料和必要的技术指导。
七、不可抗力
(一)下列事件可认为是不可抗力事件:战争、**、地震、飓风、洪水等不能预见、不能避免并不能克服的客观情况。
(二)由于不可抗力事件致使一方当事人不能履行本合同的,受不可抗力影响方应立即通知另一方当事人,采取积极措施减少不可抗力造成的损失,并在不可抗力发生后______日内向另一方当事人提供发生不可抗力的证明。
(三)由于不可抗拒的原因,致使合同无法按期履行或不能履行的,所造成的损失由双方各自承担。受不可抗力影响一方未履行通知义务,或任一方未积极采取减损措施,致使损失扩大的,该方应就扩大的损失向另一方承担赔偿责任。不可抗力事件结束或其影响消除后,如本合同目的仍可实现,双方应立即继续履行合同义务,合同有效期或合同有关执行期间应相应延长。
八、违约责任
(一)甲方违约责任
1、甲方未按合同约定提供有关技术资料、数据、样品和工作条件,导致乙方无法按约定标准完成服务项目的,应当承担合同金额______%的违约金。
2、甲方迟延支付项目报酬的超过______个工作日的,每逾期______日按银行同期存款利息向乙方支付滞纳金。
3、其他约定:______________________________。
(二)乙方违约责任
1、乙方不能完成服务项目,应当承担合同金额______%的违约金,并赔偿给甲方造成的直接损失,同时甲方有权单独解除合同。
2、乙方逾期交付工作成果的,每逾期______日应当承担合同金额______%的违约金,同时乙方应继续履行,逾期______日仍未完成工作的,甲方有权单方解除合同,乙方应返还甲方已经支付的服务费用。
3、乙方未按约定标准完成服务项目的,乙方应负责按合同约定标准整改。如合同履行期已到期,甲方可视情况给予乙方一定期限作为补救期。在补救期内,乙方有义务继续履行合同直至工作成果符合约定标准。乙方如在约定的补救期到期后仍未能按标准完成服务,或甲方不同意给予乙方补救期的,甲方有权在补救期到期后或合同履行期到期后,单方解除合同,乙方应返还甲方已支付的服务费用。虽经乙方补救完成工作,但已构成逾期交付的,乙方应按本合同规定的`条款支付逾期违约金。
4、在合同服务期间,发现甲方提供的技术资料、数据或工作条件等不符合合同规定,未按本合同约定期限书面通知甲方,造成技术服务工作停滞、延误或不能履行的,应承担合同金额______%的违约金。
九、争议的解决
在本合同履行过程中发生争议时,甲乙双方应及时协商解决。如协商不成,可依法向______人民法院提起诉讼。
十、其它约定
(一)本合同未尽事项,由甲乙双方根据国家法律、法规及有关规定协商另行订立补充协议,双方共同遵照执行。
(二)本合同正本一式______份,甲方执______份,乙方执______份。执行本合同所需要的通知、报告及其一些通讯信件,均以书面形式有效并以书面形式传送到甲乙方指定的地址。
甲方(盖章):
法定代表人(签字):
关键词:软件测试;课程建设;案例教学;实践教学
中图分类号:G642 文献标识码:A
文章编号:1672-5913(2007)12-0011-03
1引言
随着计算机的诞生,就开始了软件开发和软件测试。计算机硬件的飞速发展,使得软件在整个系统中的地位越来越高,同时对软件的质量提出了更高的要求,软件测试是保证软件质量的重要手段[1]。近年来,国内软件市场不断扩大,软件企业逐渐走入正规,市场需要大量的软件测试人才。但是各高校并没有准备好这方面的人才,迫于就业压力,许多本科生、硕士研究生纷纷通过自学、培训等途径获取软件测试所需要的技能,去应聘软件测试职业。鉴于此,高校应该根据社会需要,调整培养方案,培养出大批合格的软件测试人才。软件测试属于软件工程专业的一个方向,可以依托软件工程专业,加强软件测试课程建设,加大软件测试方面的师资力量,改进教学方法,加强实践教学环节,培养出具有扎实软件测试理论基础、掌握软件测试方法和具有一定软件测试经验的软件测试人才。
2软件测试课程的教学现状
目前,许多高校的计算机相关专业并没有单独开设软件测试技术课程,软件测试技术只在软件工程课程的某一章节进行了介绍,并且没有作为重点内容来要求。软件测试技术方面的教材,近年来才出现了一些,但质量良莠不齐,对软件测试技术的重视程度可见一斑。有的学校把软件测试技术作为选修课,课时比较少,大多注重软件测试理论的讲解和测试方法的介绍,忽视了极为重要的实践环节,缺乏系统的训练,离软件公司对软件测试人才的要求差距较大。
讲授软件测试技术课程教师的缺乏也是亟待解决的问题。高校中有讲授软件工程的主讲教师,他们能很好的讲解软件测试理论和介绍软件测试方法,但缺乏较好的软件测试案例和软件测试经验,而这正是讲授好软件测试技术课程的关键所在。
另外,学生对软件测试的认识也直接影响他们对软件测试技术的掌握。一些不规范的软件公司往往让新进人员和编程能力较差的人员从事软件测试,这让很多学生片面地认为不会编程序的人才从事软件测试,从而不重视软件测试技术的学习和训练。
3软件测试课程教学方法探讨
为了培养符合社会需要的软件测试人才,进行如下教学措施。
第一,加强软件测试课程建设。软件测试课程建设包括制定教学目标、确定教学内容、制定教学计划和选择教材。软件测试课程的教学目标是通过对软件测试技术的理论学习和系统训练,使学生了解软件测试在软件开发过程中的重要作用和地位,理解软件测试的基本概念和基本理论,掌握软件测试技术和方法,能运用软件测试技术解决实际测试问题,并知道软件测试职业的特点和对软件测试人员素质的要求。教学内容分为课堂教学、实验教学和实践训练,课堂教学包括软件测试基本概念和基本理论、软件测试技术和方法;实验教学则是利用所学的软件测试技术进行软件测试;实践训练有课程设计,并与认识实习、生产实习、毕业实习和毕业设计等环节有机结合起来。软件测试技术的课堂教学在软件工程课程结束之后开始,安排在第5、6两学期进行,实验教学在这两学期同步安排;课程设计在第6学期后半学期或第7学期前半学期进行。与软件测试技术相关的认识实习安排在第4学期后半学期或第5学期的前半学期;生产实习安排在第7学期,毕业实习和毕业设计则根据需要安排在第7、8学期。教材可先选用一些较优秀的软件测试书籍,然后根据教学实践与有经验的软件测试工程师合编软件测试教材、实验指导书和实践训练指导书。
第二,加大软件测试师资的培养与引进。讲授软件工程的教师大多缺乏实际的软件测试经验和充足的测试案例,而这正是讲授好软件测试课程的关键,可以派遣准备讲授该课程的教师到优秀的软件测试培训机构进行培训,然后联系到正规软件公司的软件测试部门实习。另外,引进或聘任有经验的软件测试工程师来校任教也是一个很好的办法。
第三,合理安排教学内容,执行案例教学。软件测试技术涉及的知识点很多,并且这些知识点需要通过大量规范化的训练来理解和掌握,分阶段教学是一个很好方法。第一阶段的教学内容是软件测试技术的基本要求,包括软件测试的基本概念和基本知识、单元测试、集成测试以及自动化测试工具的使用。第二阶段的教学内容是软件测试技术的较高要求,包括需求测试、设计测试、系统测试、可靠性测试、验收测试以及静态测试中的同行评审等。课堂教学中利用各种测试案例进行教学能使学生更容易理解和掌握软件测试概念和软件测试方法。案例教学法需要建立案例库,向案例库中增加案例是一个逐渐积累的过程。测试案例可以从教学实践(包括教师设计的案例和学生练习中设计的优秀案例)、教材、软件企业等方面收集[2]。教学过程中,理解软件测试技术时可采用一些简单的测试案例,综合训练时则选择较复杂的完整案例。
第四,扎实执行实践训练。掌握软件测试技术只有课堂学习是远远不够的,还必须进行扎实的实践训练。实践训练包括课程实验、课程设计、认识实习、生产实习、毕业实习和毕业设计。实验教学在学校专业实验室进行,通过课程实验使学生熟悉软件测试过程,加深对软件测试方法的理解。实验内容按测试方法组织,测试案例由实验指导教师设计或从案例库中抽取,根据测试对象要求学生设计测试用例、编写测试程序、测试和书写测试报告。实验教学的学时有限,只能使学生达到软件测试入门级的水平。课程设计是对实验教学的补充,针对某课程进行的综合实践训练。软件测试技术课程设计以一个小型的软件项目为对象,在学校专业实验室中进行软件测试技术的综合训练,训练内容包括需求测试、设计测试、单元测试、集成测试、系统测试和验收测试,训练要求写出规范的测试报告、设计合理的测试用例、进行人工和自动测试并分析测试结果,当项目相对复杂时,可以多名学生合作完成。认识实习和生产实习是高校专业教育中两个重要的实践环节,组织对软件测试感兴趣的同学利用这两个环节进行软件测试技术的学习和训练。认识实习通过参观软件公司测试部门的软件测试过程、听取有经验软件测试工程师的专题报告等方式进行,加深学生对软件测试技术的理解和加强学生对软件测试职业的认识,激发他们对软件测试职业的兴趣。生产实习则需要有软件测试训练基地(通过学校自建或与软件公司合建实现),在实习基地每个有经验的软件测试工程师单独指导几名学生进行实际项目的测试,通过该项训练,使学生认识到实际项目的软件测试与实验室进行的软件测试的区别,找出自己的差距,通过自己学习和向工程师学习不断提高自身软件测试水平。毕业实习和毕业设计环节则组织有志于从事软件测试职业的学生进行强化实践训练,由学校教师和有经验的软件工程师共同指导,要求学生独立进行实际项目的测试,每个阶段由指导教师评价测试用例、测试和测试报告的质量,使学生逐步达到软件公司对软件测试人才的要求。
第五,引导学生正确认识软件测试技术和软件测试职业。通过任课教师的讲解、具有丰富经验软件工程师的报告、自己从各种媒体的学习等方式使学生了解软件测试技术的重要性和广阔的就业前景,激发他们学习和掌握软件测试技术的兴趣;同时要让他们认识到软件测试职业对软件测试人员的要求较高,不仅要掌握软件测试技术,还要具备软件系统分析、软件系统设计和软件编程等方面的能力。由于软件测试人员的工作是找出软件中错误,并经常同系统设计者和编程人员交流,要训练和培养学生具有严谨的工作习惯、良好的沟通能力和团队合作精神。
4软件测试课程教学实践
我校计算机学院开设了软件工程专业,几年前专业建设领导就意识到市场对软件测试人才的需求,及时修订了专业培养计划,设立了软件工程专业的软件测试方向。具体措施如下:
第一,进行了软件测试课程建设。制定了软件测试教学计划,设立了软件测试课程,增加了软件测试课程设计,依托软件工程实验室建立了软件测试实验室,并开始建立软件测试案例库。
第二,加强软件测试技术师资建设。从正在进行软件项目开发的教师中挑选担任软件测试课程教师,并对他们进行短期培训;同时从软件公司(软件工程专业学生的实习基地)中聘请有经验的软件测试工程师定期进行讲座,并与任课教师进行交流。
第三,注重软件测试实践环节。依托软件工程专业的实习基地,使部分对软件测试感兴趣和有志于从事软件测试职业的学生的认识实习、生产实习、毕业实习和毕业设计在实习基地着重进行软件测试的训练。经过几年的摸索和努力,2006年软件工程专业毕业生中已有一批学生成功应聘到软件公司从事软件测试工作。
5结束语
随着软件公司规模扩大和正规化,社会需要大量的软件测试人才,这给就业压力极大的毕业生带来了机遇,同时软件公司希望招收有技术和经验的员工,又给毕业生和高校带来了挑战。软件测试人才培养刚刚起步,很多工作处于摸索阶段,需要学校、教师和学生的共同努力,为社会培养出大批合格的软件测试人才。
Discussion and Practice of Software Testing Course
HU Hong-yin
(School of Computer, Wuhan Institute of Technology, Wuhan 430073, China)
Abstract: Lots of software testing specialists are demanded currently, but they are not brought up by the colleges and universities, further more, the software testing course is not set in some colleges and universities. In this paper, teaching of software testing course is analyzed, course constructing, teachers, teaching method, practice of software testing course are discussed, and the teaching of software testing course in our university is also introduced.
Keywords: Software Testing; Course Constructing; Case Teaching; Practice Teaching
参考文献:
[1] 古乐,史九林。 软件测试技术概论[M]. 北京:清华大学出版社, 2004.
[2] 钟元生。 软件测试实践教学特色的构造实践[J]. 电化教育研究,2006,(10): 62-65.
作者简介:胡宏银(1972~),男,湖北大悟人,讲师,硕士,主要研究方向:软件工程。
联系地址:武汉市武汉工程大学计算机学院胡宏银
邮编:430073
联系电话:027-69805647