首页 优秀范文 软件开发项目总结

软件开发项目总结赏析八篇

发布时间:2023-01-12 13:12:50

序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的软件开发项目总结样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。

软件开发项目总结

第1篇

关键词:移动软件;项目实训;实践教学;教学方法

中图分类号:G434 文献标识码:A 文章编号文章编号:16727800(2014)001019102

基金项目基金项目:西华大学软件工程特色专业项目(10TSZY317)

作者简介作者简介:唐剑梅(1975-),女,西华大学数学与计算机学院软件工程系讲师,研究方向为软件工程、信息检索技术。

0 引言

作为校级特色专业,笔者所在学院的软件工程系近年来积极推进特色专业建设进程,设有软件开发、软件测试及移动软件开发3个专业方向。在西华大学特色专业建设基金的资助下,各专业方向的课程体系建设日趋完善。由于实践教学贯穿于高等人才培养的全过程,是提高人才培养质量、实现高等教育目标的关键环节[1],软件工程学科和软件产业不断发展,以及全国对高素质软件人才需求量激增的形势下,针对软件工程学科实践性极强的特点,学校较大幅度地增加了实践类课程和环节所占的比例。“移动软件开发项目实训”是近年来新开设的移动软件开发方向学生必修的一门很重要的专业实践课程,这门课将为培养更加符合社会实际需要的移动软件开发人才打下坚实基础,因此迫切需要研究和探索该课程的教学方法,以更有效的手段和方式提高教学质量。本文将从分组安排与项目选题、教师课堂讲授环节、学生实践实施环节、课程考核方式等方面进行研究。

1 合理分组,严格筛选项目选题

“移动软件开发项目实训”课程开设在大三下学期。此时学生已经学完了大多数基础及专业课程,移动软件开发方面也已经具备了Android平台下的开发基础。对于该阶段的学生来说,急需在大四的专业实习及毕业设计到来之前做好更充分的实战准备。因此,该课程的教学目标是:使学生学会移动软件开发项目的需求分析、设计、实现及测试相关技术,能将之前学到的点状知识和技能集结到面,同时整合训练各种移动软件开发所涉及到的主要技能点,为学生将来从事实际的移动软件开发工作做好技术准备。本课程不再采用前期程序设计语言实训课所采用的单元式训练为主、综合训练为辅的方式,而是采用实战项目的方式,让学生完整地实现一个综合性的中小型项目。

在该课程的第一堂课上,由教师对整个课程的概况和目标进行介绍,并给出该门课程的进度安排,让学生了解整个项目实训流程。接着进行分组安排,采用自由组合的分组原则,要求每组2~3人,并推选一个技术和沟通能力较强的学生为小组长。相对教师直接指派而言,自由组合的好处是各小组成员配合更加默契,课后的交流合作更易展开。而且学生中已有自发组织的软件开发兴趣小组,这样他们可以保持兴趣小组的组合来进行实训,更易于出成果。分组结果可能存在某些小组成员开发能力都较强,但某些小组成员开发能力都较弱的情况。对于较强的小组,可鼓励他们发挥创新精神和主观能动性,多在设计方面出新点子,在项目中大量使用新技术。课程结束后可鼓励其将成果用于参加一些竞赛,如Android平台软件开发大赛等。对于较弱的小组,则可降低对创新性的要求,建议他们选择一些注重基本技术的项目,即适于边学边练进而对技术的应用达到一定熟练程度的项目,这样能减少学生的畏难情绪,激发学生的学习兴趣和动力,使学生对移动软件开发的学习由被动变为主动,以便更好地将书本上学到的知识转化为实战经验。教师对移动软件开发中的几大技术进行介绍,提出实训项目选题要求(如要求不重题、要具备实用价值、要涉及不少于3个较大的技术面的综合应用等),并安排各小组根据自身的兴趣进行课后选题调研。

第二次课则由各小组作选题报告,汇报选题背景及意义,阐述项目涉及的主要技术面,其余各小组可给出建议和意见。这样既可集思广益,又避免了小组选题内容过于雷同。由教师进行审核和点评,工作量或涉及的技术面达不到要求的小组需重新选题,直至题目通过为止。教师要严把选题关,避免出现小组找寻现成源码项目抄袭的现象。

2 学生分阶段提交项目文档,进行阶段汇报

实训项目在规模和技术上应是企业实际开发项目的浓缩,因此要求是一个完整的项目。按照软件工程的思想和规范,至少包括需求分析、软件设计、编码实现、软件测试、进度控制、项目成果这6个工作过程,再根据具体情况,添加版本控制、文档书写、项目等工作过程,从而更加真实地模拟企业项目[2]。结合移动软件开发项目的特点,以及各小组题目涉及的主要技术面,各小组可根据自身项目情况对项目进展进行阶段规划和裁剪。教师则按照所有小组都会经历的开发阶段收取小组提交的阶段项目文档,听取小组的阶段汇报,进而评估其开发进展情况。

题目确定后,课程内容分阶段完成,各小组需按阶段要求提交相关文档,主要阶段包括:

第一阶段:在完成系统背景及功能概述和需求分析后,提交需求规格说明书。

第二阶段:进行软件系统功能界面规划及总体架构设计,提交软件设计文档。

这两个阶段由小组成员共同讨论完成。学生在这两个阶段同步进行开发前的技术准备工作,包括Android平台及Eclipse工具的使用,以及相关技术知识的复习等。

第三阶段:小组长分配开发任务,各成员分别进行自己所负责模块的实现与测试。此阶段持续时间较长,过程中要经历期中检查,各组需提交各模块的开发文档及已完成部分的代码。

第四阶段:进行集成测试,提交测试报告。

第五阶段:进行系统优化与改进。

第六阶段:程序打包。

第七阶段:教师验收项目,检查实训报告。

第八阶段:期末项目验收答辩,答辩通过后整理提交相关文档及代码。

教师事先通过学校的课程中心网络平台建好“移动软件开发项目实训”课程网站,将编制好的课程阶段进度表上传提供给学生下载使用,以便学生对整个课程安排心中有数。学生提交阶段成果也通过课程网站进行。

3 教师及时进行阶段总结及讲评

在整个实训过程中,教师要在3个阶段集中进行阶段总结及讲评。课程第一阶段完成后,教师根据各小组提交的需求规格说明书进行一次集中讲评,及时发现问题并要求小组整改,避免因需求分析阶段的失误而导致最终软件不合要求的情况发生。

第二阶段完成后,教师根据各小组提交的软件设计文档再进行一次集中讲评,以便及时纠正小组设计中的不合理之处。

第三次阶段总结安排在期中检查后,在各组提交部分模块开发文档及代码后,教师及时发现学生技术上的问题,对各小组项目开发中的典型性技术问题进行汇总及解答。虽然各组开发设计的主要技术面不完全一样,但仍采用集中讲评,目的是对用到相关技术的小组起到引导和提升作用,同时让未使用到该项技术的学生学习借鉴。毕竟各组项目涉及的技术面有限,因此应尽量全方位提升学生的知识和技术面。

4 强调课后不断线

“移动软件开发项目实训”课程总共只有48个学时,每周3学时,共16周,因此要想学生在如此有限的课时内通过这门课能有更多的收获,课后的继续学习必不可少。因此,教师一定要对各小组提出项目开发课后不断线的要求,对于各自完成的部分,各小组成员要尽量抽出共同的课余时间聚在一起继续完成。笔者所在学院的实验中心未被上课占用的机房对本院学生是免费开放的,这为各小组课余在机房继续进行项目开发提供了平台。

移动软件开发技术发展非常迅速,新技术层出不穷,更新很快,教师既要引导学生采用课堂上学到的知识和技术进行项目的设计和开发,也要在课后随时关注行业最新进展,保持对新技术的敏锐触角,也即课后对新知识新技术的了解和学习要不断线。

5 强调过程考核,注重答辩环节

为了使学生在实训过程中能够真正地提高他们的实践动手能力以及分析问题、解决问题的能力,能够独立完成一定规模难度软件的开发,除教师自身要努力提高个人授课能力和改进实训方案之外,还要有一套完善的考核机制对学生在实训过程中的表现和成绩进行评价,使学生能够对自己有一个正确的认识,及时看到自己的不足和差距,并调整自己的学习方法[3]。移动软件开发项目实训是通过任务来驱动学习的,让学生能够在完成任务的过程中不知不觉地熟悉和掌握最主流的技术,因此有必要通过阶段性考核,给学生定期施加压力,有助于他们更好地完成最终的实训任务。

在课程进行的一、二、三、四阶段,学生均要提交相关的阶段文档材料;在课程的第七、八阶段,学生将提交实训报告、最终的源码及相关文档。这些可作为教师进行过程考核的依据,教师可据此对学生的阶段性成果进行考核。同时,为培养出具有良好职业素质和操守的软件从业人员,对学生的学习态度和纪律性也要严格要求并纳入考核范围,所以教师每次课上要对学生的出勤情况进行考核。同一小组的学生,教师要根据其表现和承担的开发任务量给予不同的成绩评定。

6 结语

“移动软件开发项目实训”是一门实践性很强的课程,能集中训练和提高学生进行移动软件项目开发和设计的实际技能,是移动开发方向的核心专业实践课程。根据该课程的实际实施情况来看,本文关于该课程的教学方法激发了学生的动手兴趣和积极主动寻求解决问题的热情。但由于该课程为近年新开实践类课程,其教学内容也应紧随移动软件行业的发展而不断更新,所以其教学方法和措施目前还处于初探阶段,尚需持续不断地总结、改进、探索和创新。后续可考虑从两方面着手改进:一是与企业合作,引进真实项目进行实训[4];二是设计开发一个基于软件交付过程的平台,以便在软件交付过程的各个阶段,由教师设定学习任务、考核指标,通过学生提交的成果, 教师输入判定的各个项目成绩,然后由系统自动生成学生最终的考核成绩,从而改进实训教学手段[5]。

参考文献参考文献:

[1] 王皖陵,吴光龙.计算机专业实践教学体系的建立[J].实验室研究与探索,2007,26(6):8587.

[2] 黄能耿.基于工作过程的软件实训项目设计[J].无锡职业技术学院学报,2010,9(2): 5961.

[3] 张必英,胡文.计算机软件校内实训过程的管理[J].实 验 室 科 学,2011,14(1):180182.

第2篇

1 知识共享有效性及其影响因素分析

1.1 软件开发项目团队知识共享有效性概念

管理大师彼得·德鲁克提出[1]:“对于管理者来说,‘有效性’就是通过管理活动提高绩效,使组织能够由小变大,由弱变强;是管理者达到目标和绩效的必要手段”。我国学界对有效性的界定,借鉴《如何建立有效质量体系》中的解释,“是系统对外部环境所作的贡献”,此处有效性被界定为一种系统的概念。国内学者也在有效性的界定上做了很多工作,吕学清认为[2]:“要增强学校过程管理的有效性,管理工作必须讲效果、讲效率。”李春旺则提出虚拟企业内的知识共享有效性,是共享资源投入和效果输出的综合反映,在此基础上建立了知识共享效果和成本评价指标体系。”因此,软件开发项目团队知识共享有效性是一种持续有效性,它不仅强调着团队产出的有效性,更需要成员在良好的团队氛围下积极的知识共享态度和意愿,以保障软件开发项目团队绩效的有效提升。

1.2 软件开发项目团队知识共享有效性影响因素分析

随着团队管理实践的逐渐深入,知识共享有效性的系统观点逐渐被学者接受,知识共享的过程性和时滞性等过程因素也逐渐被纳入知识共享有效性评价上[3]。在理解团队知识共享过程的基础上,应进一步从过程有效性的影响因素上对其进行把握。有学者认为,知识共享有效性是态度、环境及共享活动等的共同作用结果。我国学者沈凌(2009)则提出团队知识共享的投入与输出的系统评价指标,其中投入指标包括团队输入、团队过程及团队建设等,输出指标包括各项静态指标等[4]。鉴于上述分析,软件开发项目团队内知识共享的有效性评价,早不止限于对创新产出的定量测量,而同时应考虑知识共享较难测量的过程因素,如软件开发项目团队知识共享的过程中的成员异质性特征(如成员性别、个性、能力等),团队创新环境建设,团队整体激励机制等。

1.2.1 个体知识共享的态度因素

作为知识共享的重要影响因素之一,软件开发项目团队成员的个性倾向决定着成员知识共享的态度与主观准则。知识共享态度是共享活动的前提,直接决定知识共享意愿乃至行为的发生,包括成员的内外部报酬预期及对团队目标的认可和重视。个体知识共享的态度因素,主要包括如下几点:

(1) 外在报酬预期。知识共享是组织成员社会关系的集中体现,关注外在报酬的经济交易理论认为,个体行为大都是理性的自利行为,只有收益大于成本共享行为才会发生。软件开发项目团队内成员最直接追求的是其在团队中的经济报酬。当成员认为知识共享能带给他们外在收益时,他们会采取更积极的态度对待知识共享行为。

(2) 内在报酬预期。Scott & Walker曾提出,知识性员工的内在报酬是知识共享最主要的影响因素。软件开发项目团队以创新任务为导向,其人力资源管理实践显示,他们较一般成员更重视内在报酬的获得(如公开发表成果、奖励等)。因此,软件开发团队成员对内在报酬是否具有预期,是衡量其知识共享态度的重要指标。

(3) 团队目标承诺。团队目标承诺,是成员对团队合作所要实现的目标预期,正向影响着团队成员的知识共享行为。若对团队的核心价值具有目标承诺,成员将更愿意共享各自的知识。

(4) 自我效能。Bandura认为,自我效能是个体对达成其完成某一特定工作的自我能力的判断,用来解释具有相同行为技能的主体或其自身在不同条件下采取相同行为时的表现差异。软件开发项目团队成员的自我效能即其对自身知识共享能力的判断。它直接影响知识共享行为,或通过激发并维持知识共享意愿从而间接影响共享行为:自我效能高的成员更倾向于选择有挑战性和困难的共享行为,并更加努力坚持等。

1.2.2 知识共享能力指标

软件开发团队成员知识共享的能力包括沟通能力、理解能力和知识与技术的应用能力等。主要体现为成员愿意共享知识的前提下,传授知识,学习、接受知识及创新的能力等。

(1) 沟通能力。沟通是组织内人际传递信息、传播思想及感情的必要途径,是人与人之间交往的桥梁,通过沟通组织成员能分享彼此的情感与知识,消除误会并增进了解,从而达成共识或者共同协议。团队成员具备沟通能力与否,决定着成员之间能否进行知识的有效共享。

(2) 知识传授能力。知识共享是知识拥有者与接受者间的交互行为,开始于知识拥有者对知识的传递,知识拥有者不仅传授共享所需的显性知识,更多则是传授隐性知识及所需的方法,帮助知识接受者更好理解和掌握隐性知识。知识拥有者的沟通表达和演示能力越强,隐性知识的交流和共享的效率就越高。

(3) 知识学习能力。软件开发项目团队对项目成果的追求,促使成员从团队内外寻求并学习有效知识。知识接受者通过对团队内符合需要的知识拥有者进行评价,会有选择有目的地向知识拥有者学习,最终还包括将其所得到的隐性知识与现有的知识融合,开发出新知识的行为过程。接受者的知识学习能力越强,知识共享的效率自然就越高。

(4) 创新能力。软件开发项 目团队成员的知识创新能力是成员运用所学知识和辅助工具创造出新的知识、技能与创新软件成果等的能力。创新能力的大小,往往从很大程度上反应了创新成果的多少,成员的创新能力越强,其创新智力成果就会越显著。

1.2.3 团队环境指标

团队知识共享氛围的优化,有利于提高知识共享活动的效率,营造团队共享氛围,可通过团队内部创新支持文化建设,成员信任水平的强化及知识共享平台建设等方式实现。

(1) 团队文化建设。知识共享活动需要建立相应的文化进行规范,塑造有利于知识共享的企业文化能够鼓励员工积极参与知识共享。当团队文化氛围建设适应知识共享时,会对成员的行为产生激励和强化作用,支持创新的团队文化氛围中,团队成员会乐于与他人分享自身知识,从而促进知识共享活动的开展。

(2) 知识共享平台建设。软件开发团队是以知识等创新为追求的组织形式,团队内部知识共享平台的建设完善包括为成员进行知识共享的畅通的信息及创新知识交流与沟通的网络平台建设。如果团队的技术基础薄弱,没有有效的网络系统和通信系统,共享的途径少,共享平台不完善,就会大大减少知识的需要方和所有方之间的接触机会,不利于成员间的交流共享,对知识的有效共享形成障碍。

(3) 成员信任水平。团队信任水平同样决定着个体间的知识共享方式。软件开发项目团队内的信任,是个体基于对同伴会执行某项对自身重要的行为的期望,而对对方不加控制的接受的意愿。社会学视角下的信任水平自从被引入组织行为学的研究以来,就受到了广泛的关注与应用,研究与管理实践证明,个体间的信任可以促进个体间的合作行为,包括知识共享行为的发生。

2 软件开发项目团队知识共享有效性评价

指标体系构建

Bandura的社会学习理论认为成员的学习行为是成员自身的态度和外部环境因素的交互结果,在总结有关文献的基础上,本研究分别从软件开发项目团队成员的知识共享态度、能力及团队氛围因素等方面构建包含3个一级指标及10个二级指标的评价指标体系以评估软件开发项目团队成员知识共享的有效性。经过专家修正后,得到图1所示指标体系。

3 软件开发项目团队知识共享有效性评价模型

确定软件开发项目团队知识共享有效性评价的目标层次结构,包括总目标层、中间准则层及指标层。为科学准确的明确这共享有效性指标,构造下述成对比较矩阵(见表1)。

首先,构造准则层要素的判断矩阵,并计算权重:

通过两两比较得到的判断矩阵可以表示如下:

将判断矩阵每一列正规化,并得出其特征值ω(见表1),同时计算判断矩阵的最大特征值λmax并利用一致性检验指标CI进行一致性检验,通过相对一致性检验的指标公式CR=[CIRI,]可以得到对应的一致性检验值,当一致性比率CR<0.1时,判断矩阵有满意的一致性,否则,应对矩阵进行调整,直至满意(RI表示平均随机一致性指标,表2列出了1~9阶判断矩阵相应的RI值)。

此时,λmax=4.045,CI=[λmax-nn-1]=0.014 5,CR=[0.002 40.9]=0.016<0.1。

上述所示的两层指标间的两两比较矩阵,对表现出了较好的一致性,但还需对层次总排序进行一致性检验,如表6所示。

通过上述分析可知,成员自身共享知识的态度和软件开发团队的共享文化建设是决定着知识共享有效性的重要方面。其中成员共享态度中自我效能感认知占19.9%,成员的目标承诺占14.81%;团队文化指标中的信任条件和鼓励创新的文化氛围均占18.37%。而对于成员的共享能力,尽管同样是知识共享有效实现的重要指标,其重要性不及态度与团队共享文化环境建设。分析原因主要在于在软件开发项目团队中,成员的知识水平及知识储备丰富等特点确保了成员知识共享能力。

利用层次分析法对软件开发项目团队的知识共享有效性进行系统分析后得到知识共享有效性影响因素模型,且各指标对软件开发项目团队的知识共享有效性作用不一,团队管理者可根据各指标的不同影响程度作出相应决策。

4 软件开发项目团队知识共享有效性提升建议

(1) 构建和谐团队共享平台。团队成员在对团队基本价值观及其他成员产生人际信任时,会感到自身有义务提供高效而有效的隐性知识,因此可以通过合理利用硬件设施如会议室、休息室及户外场所等举办团队内部的经验交流会、沙龙乃至拓展活动等,使成员在轻松的文化氛围和环境中获得更多的信任,从而更加愿意采取知识共享行为,使团队成员之间和团队成员对团队整体产生足够的信任,以发挥出更大的努力,提高团队产出。

(2) 建立科学、多元的知识共享报酬制度。现代经济活动中,理性行为下的个体对报酬的追求是其做出决定的最初原因。软件开发项目团队成员追求的最直接的目标是伴随着软件创新成果的形成而产生的直接经济报酬,因此,团队要建立科学而合理的团队知识共享报酬机制。与此同时,要通过建立更加多元化的非物质共享报酬机制,如团队内部专利申请奖励、知识产权保护、团队成员额外休假制度、团队内或团队外组织的职位晋升等。满足团队成员外在的与内在的经济报酬的预期,提高软件开发项目团队的知识共享有效性。

总之,软件开发项目团队的知识共享是复杂而动态的系统工程,针对知识共享有效性的激励机制同样是一个循序渐进的过程。激励过度会增加组织的成本且并不容易产生有效的员工效用,过小则无法激起员工的共享意愿,因此,针对软件开发项目团队成员的知识共享影响因素实施激励并及时反馈是软件开发项目团队创造高效创新成果,获取竞争优势的重要保障。

参考文献

[1] 杨雨山.德鲁克的管理精髓[M].北京:中国铁道出版社,2009.

[2] 吕学清.增强学校过程管理的有效性[J].青海教育,2005(z1):32?33.

[3] 李春旺.虚拟企业知识共享有效性与激励研究[D].合肥:安徽农业大学,2007.

[4] 沈凌.基于本体的知识团队有效性形成机理及评价研究[D].武汉:武汉理工大学,2009.

[5] 班杜拉,林颖.思想和行为的社会基础:社会认知论[M].上海:华东师范大学出版社,2001.

[6] 刘瑜, 王建武.研发人员知识共享绩效评价指标研究[J].中国酿造,2008(16):114?116.

[7] 波.网络组织中知识共享效率评价指标体系的建设[J].情报杂志,2009(1):68?71.

[8] 安中涛,安世虎.个体知识共享绩效评估参考模型[J].情报科学,2006(3):396?399.

. Information Systems Research, 1994, 5(4): 400?421.

[10] 单雪韩.知识共享的影响因素分析与实现对策研究[D].杭州:浙江大学,2010.

. Academy of Management Journal, 1994, 37(3): 580?607.

[12] 徐瑞平,陈莹.企业知识共享效果综合评估指标体系的建立[J].情报方法,2005(10):2?5.

第3篇

[关键词]工作过程 高职院校 网络数据库 课程开发

[中图分类号]G [文献标识码]A

[文章编号]0450-9889(2013)02C-0081-02

网络数据库是高职院校计算机网络技术(软件技术方向)、计算机与信息管理专业(软件技术方向)的核心主干课,也是电子商务专业的必修课。该课程是培养网络软件程序员、数据库管理工程师、数据库开发工程师的核心课程。该课程基于微软SQLServer数据库平台组织教学内容,定位于培养学生在大型数据库系统方面的管理和开发的技术能力。通过该课程学习,学生应具备SQL Server数据库管理系统的安装部署、SQL Server数据库对象的管理、SQL Server数据库程序开发、数据库系统的安全管理等专业能力。因此,建设基于工作过程的高职网络数据库课程开发,对于培养学生职业能力具有重要意义。

一、课程开发理念

传统学科体系的平行学科的排序方式,往往采用部分理论课与部分实践授课相结合方式,以传统的章节方式组织内容。以这种方式培养出来的人才,无论是在职业素质还是在职业技能方面都无法达到企业实际工作岗位的要求,为此网络数据库课程的设计引入了新的课程理念:

第一,以工作过程为导向,对原有学科型网络数据库课程进行解构,在重新开发课程,基于行动导向方式来组织内容结构,并在组织教学活动过程中,充分融入行动导向和学习情境的思想。教学过程中,教学内容和活动的安排以企业真实岗位人员胜任岗位工作所要求的技能为基准,充分考虑在教学过程中融入相对应的工作过程的元素,让学生得到相当于真实岗位的训练,增强“零距离”上岗的能力。

第二,以真实的软件开发项目为主线,把项目开发的内容分解到课程的学习内容中去,做到学习内容就是真实的数据库开发项目内容。依托学院现代教育技术与网络信息中心,与信息技术类相关企业合作,从企业引进真实项目,并与企业合作进行二次开发。在教学过程中,任课教师与企业专家一起,充分选取并严格分析管理信息系统开发项目,以分析系统的开发过程为主线,抽取出系统开发过程中产生的各个工作环节,在充分论证的基础上,把工作过程中的各个环节融入到课程内容中,从而构建新的课程体系。通过这种方式构建起来的课程,其教学案例更接近真实的数据库软件开发项目,从而能给学生营造更真实的工作情景。

第三,通过对课程的学习和实践训练,应该能培养学生在进行自身职业生涯发展规划方面的素质,让学生通过课程的学习找到适应自己个性化发展的地方。在组织课程教学过程中,要以学生为中心,把课程内容分解成若干个学习任务,每个任务又对应软件项目的某个功能模块,以任务驱动形式推进课程学习。将真实的数据库软件开发项目确定之后,以完成这个软件项目为总任务,围绕完成任务这一主线,可将学生按能力、发展定位等方面的不同进行角色划分,一般分为项目经理、数据库设计师、程序员等角色。通过这种根据学生个性特点的角色划分,学生更能清楚地看到自身职业发展前景,能有效增强学习主动性。

第四,课程的内容应更利于培养学生的创新思维和能力。软件开发岗位所需的技能属于脑力劳动,这种岗位跟一般性的劳动技能区别较大,对相关人员素质要求相对较高,这就要求通过高职教育,能有效地培养学生的创新思维和创造能力,这样才能满足企业对人才的需求。网络数据库课程的主要内容是针对数据库软件系统开发和管理人员,因此,课程设置内容应能较好地培养学生的创新思维和创造能力。本课程主要是通过项目教学、任务驱动的形式组织教学内容和教学方式,学生在这种方式的训练过程中,能充分发挥自身的思维能力和解决问题的自主空间,同时,在完成软件开发工作任务时,本身具有多样化的解决方法,这些特点都非常有利于培养学生的创新能力。

二、课程开发思路

按工作过程系统化思想,开发设计一个管理信息系统可分为:需求分析和业务设计阶段“数据库设计阶段”程序代码编写阶段“系统测试阶段”系统正式运行阶段,而本课程学习的内容涵盖“数据库设计阶段”和“程序代码编写阶段”,是开发管理信息系统成败的关键。因此,组织学生学习网络数据库课程对实现软件技术方向人才培养目标起到非常重要的作用。

第一,以岗位能力需求为导向,以典型管理信息系统数据库设计开发为载体,设计教学项目和学习任务,将网络数据库的单元技术组装到系统开发的相关工作过程中,以提高学生的学习兴趣,有利于综合职业能力的培养。

第二,教学项目按照管理信息系统设计工作顺序进行设计安排。

第三,以提高学生综合职业能力为目标,组织实施项目教学法、问题探究法等行动导向的教学模式。

第四,改变过去单一纸质考试的模式,采用丰富多样的教学效果评价方式。注重教学过程中的阶段性成果评价,同时,学生的评价也占教学评价结果的一定比例。总之,从人员参与方面看,要有教师和学生共同参与评价;从评价过程方面看,要侧重于项目计划、评估、实施等过程评价;从整体上看,要评价教学过程是否有利于学生职业素养的养成。

三、课程开发实施

(一)课程内容的解构与重构

通过组建骨干教师、企业技术骨干、课程专家小组深入企业进行调研,企业家与专家座谈研讨等方式,分析职业工作任务等构建课程结构,选取一个最符合工作岗位要求、囊括全部课程内容的真实项目引入到课程,以该真实项目为主线,对课程教学内容进行解构和重构。本课程以开发一个完整管理信息系统(校园电子商城CampusWebShop)的数据库为载体设计课程教学项目,按工作过程系统化的思想,采取行动导向的教学模式,具有很强的工作过程完整性,使课程具有较强的针对性和适用性。具体见图1。

(二)课程教学模式改革

1.基于工作过程导向的“项目教学”模式。通过结合真实的软件开发项目,整个学习过程由师生共同完成真实的项目开发的工作过程,以促进学生在校学习与实际工作的一致性。在组织和开展教学过程中,主要按如下顺序开展:第一步,选取较有代表性的大型数据库软件开发项目;第二步,组建课程项目教学团队;第三步,通过教学团队把软件项目的工作内容进行工作任务化的整合和序化;第四步,根据软件项目开发的规律,对项目的工作过程进行分解,即由大的工作过程一小的工作过程一小的项目模块。每个小的项目模块对应学习领域(课程)的学习情景,通过一个个小项目的完成,让学生逐一掌握相关的理论知识与开发技能,过程中培养学生的职业素养与综合素质,最终完成一个或多个典型的开发项目工作。在以上项目训练的基础上,再综合选取若干个较有代表性的数据库开发项目,以便于学生课后拓展,通过反复训练,让学生最终具备如下能力:基于微软的SQL Server平台,独立完成数据库软件开发项目的完整工作过程。

对于每一个小的工作过程(项目),都遵循工作过程的步骤来组织教学,将工作过程的资讯、决策、计划、实施、检查、评估的六个步骤映射为接受任务、企业需求分析、计划、实施、检查、总结、评估的学习过程。具体见图2。

2.职场环境下“教、学、做、用”一体化的小组学习方式。在软件技术实训室中按照软件的生产流程和全真工作环境,并以企业的实际需求来设计和组织实训项目。在学习过程中,一般是整班组织在一起学习,但需要把3-6个人分成一组,每组围成一圈进行学习,从而形成小组学习的形式。教师按小组分配任务,并进行引导,每个小组的学生集中一起学习交流,并定好学习计划,然后按计划完成学习任务。学习任务完成后,对于完成学习任过程中产生的成果,可以采用多种方式进行检测,一般有自我检查、学生之间互查、教师检查等方式,也可以通过直接把产品进行推广应用的方式来检验。最后根据检验的情况对学习给予总结和评价。全真工作环境的构建,主要通过改造传统实训室的方式来实现。具体做方法是:把一个实训室进行分区,让它具有项目教学实训功能、教师工作室功能以及个性化教学区功能。通过这三个功能区,可以按项目教学法开展教学,满足教师进行软件系统的研发及技术服务需要,同时,教师利用个性化教学区可以对个别学生进行个性化辅导学习。

3.改革网络数据库课程的考核方式,主要是突出考核学生的职业能力养成和重视学习过程的评价。传统的课程考核方式具有较大的局限性,一般形式是笔试+操作考核,这种方式很难检验学生的整体学习效果。当前,学习效果的评价应该更重视检查学生的职业素养、适应岗位的能力,以及他们掌握理论知识和实践技能的综合情况。对于本课程的考核,将彻底改革传统考核方式,侧重于考核学生的学习过程和结果,特别是注重考核学生的综合素质,这样能更好地引导学生重视自身岗位能力的训练,利于学生职业能力的养成。而考核的方式可以是现场演示系统设计方案书、软件开发成果等,或回答教师的问题等。

[基金项目]2011年度广西农业职业技术学院院级精品课程《网络数据库》建设项目资助

第4篇

项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目

的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。

2、为什么要有项目管理?

没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目

的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。

另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改提供进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥作用。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。

3、项目管理的发展与现状。

今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特点、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,如果都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%。新世纪项目管理在中国的迅速兴起,给软件企业的发展带来了前所未有的发展机遇。

项目管理在软件开发中的应用的成因

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发提供能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。

早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。

目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。如果管理不善,必将造成版本混乱,提供

各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。

因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软提供件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展与计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。

软件项目管理常见问题及解决方案

对于软件开发项目|中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。

后者,如某套系统未弄清楚需求,或因设计问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清晰一些。

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量提供不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

分析目前项目管理需要改进的问题可以从几种相关角色的角度去考虑:项目经理、项目组成员、公司管理人员、市场人员、客户等。

问题一:缺乏项目管理系统培训(相关对象:项目经理、管理人员)

项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。

解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。

问题二:项目计划意识问题(相关对象:项目经理)

项目经理对总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。

解决方案:在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

问题三、管理意识问题(相关对象:项目经理)

部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前提供,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

问题四:沟通意识问题(相关人员:项目经理、项目组成员)

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

解决方案:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

问题五:风险管理意识问题(相关人员:项目经理)

项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。

解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。通过加强对项目规划本论文提供>由整理提供中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。

问题六:不重视项目经验的总结(相关人员:项目经理、管理人员)

项目经理在项目结束时有些是因为自身对写文档工作的兴趣或意识,或

者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。

解决方案:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。

问题七:项目干系人相关问题(相关人员:项目经理、项目成员、客户)

在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、

工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作问题,客户参与程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。

问题八:项目团队内分工协作问题(相关人员:项目经理、项目成员)

项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任

分工不够清晰而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰但是各项目成员只顾完成自己那部分任务、不愿意与他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。

解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。

以上对软件开发项目管理中出现的问题的分析还不够深入,也无法列举所有遇到或将遇到的问题,解决方案也要根据实际情况进行调整,希望引起对这些问题更多的思考和改进。

结束语:项目管理虽然没有非常高深的理论,但要真正实施起来,也绝非易事。对于软件开发企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,宣传并树立公司范围内的项目管理文化十分重要。从而在实践中锻炼提高,解决各种各样的问题,使项目管理工作越做越好。

参考文献:

吴照云《管理学原理》经济管理出版社

StanleyE.Portny(宁俊等译)《如何做好项目管理》新经济工商实务丛书

NealWhitten(孙艳春等译)《管理软件开发项目》(第二版)软件项目管理系列丛书

邓良松《软件工程》西安电子科技大学出版社

第5篇

近几年来,软件工程发展的非常迅速,然而与其相比较,在软件工程开发培养人才方面,却出现了停滞不前的状态。从而导致了软件工程这门学科的发展与其学科人才的培养方面出现了严重的脱节现象。我们可以把导致这种原因的状况归纳为两点来看:一方面,教学内容和方式过于落后,就目前高校的教学形式来看,老师依然注重理论课程的教育,看轻实践过程。因此,导致学生在学习的过程中很难能够把软件工程开发的精髓部分学以致用,得到更为深刻的升华和理解;另一方面,教学模式过于单调。而这两种情况,都不能够使学生在学习和运用软件工程中,得到很好的维护和开发。

1软件工程教育现状简述

软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发,运行和维护的全过程及上述方法的研究。因此,软件工程的研究所涉及到的范围广泛,领域甚多,内容为之丰富的特点。但是,软件工程依旧处于年轻、尚未成熟的状态,在教材中也很少提供较为成熟的设计、训练和实践内容本文由收集这就导致了,在其教学过程中存在着诸多的困难。

2教学改革要求

2.1要提高实践能力。在教学的过程中,我们要以具体的项目为驱动,培养学生将所学到的理论知识应用与具体的实践的能力当中,体验项目开发的原则和规范,以便于积累更多宝贵的项目开发经验。其次,老师在教学过程中,还可以通过案例教学让学生对实际的项目开发有着深刻的印象,从而提高学生的学习兴趣,培养动手能力。最后,我们还可以利用团队合作的方式,此教学方法能够更深刻的培养学生的团队意识。上述所提出的实践能力不但可以使学生在学习的过程中,将抽象的理论知识和实际的软件开发项目联系起来。而且,有利于学生更好的适应社会的需要,找到适合自己的工作岗位。

2.2打牢知识基础。因为,软件工程是总结于实践的抽象理论,是对软件开发的总结和指导,涉及到计算机技术等诸多的科学领域。这就要求学生在学习好软件工程这门学科的同时,加强计算机科学和软件基础理论等其他相关专业课程的教学。此外,数学是所有理工科的基础,起着至关重要的作用。最后,还需要培养学生对问题空间分析和建模的能力,以及运用算法求解问题的能力,同样也是不能够被忽视的。

3以项目为驱动的教学模式

目前,在项目模式驱动下的教学改革,可有效提高学生在今后的工作中需要的计算机专业技术能力,更能培养学生相互交流,合作的团队精神,使学生获得项目开发的宝贵经验,提高学生不断的自主创新能力,体现改革中理论和实践相互结合的具体精神。

3.1具体方法

首先,优先考虑团队合作的教学方式,此种方法,虽然在人员和组织上有些复杂,但是效果显著。在实际的操作过程中还可以接受真实的软件开发项目,让学生在实际工作中体会团队合作的重要性。增加学生之间相互合作,相互信任的机会,增强社会实践能力。其次,还可以通过具体的案例分析的教学方法,让学生在实践的工程中真实的感受到操作的重要性。在教学工程中,让老师引导,辅助学生学习的教学方式;在授课过程中,以具体的案例为背景,教材为基础。以此来培养学生独立思考,自主学习,相互讨论,自由发挥自己的观点,表达自己的主观意见。由此可以看出,这种方法可以最大化的体现理论和实践想结合,使学生可以运用知识解决软件开发法项目中遇到的实际问题。

3.2主要过程

以项目为驱动作为主要的教学模式有两条主线组成。老师以讲课为基础,可以传授软件工程的相关理论知识。而且还有一点事项目实现过程,通过实现具体的项目来提高学生的动手能力。两条做主线同时进行既能够重视实践,有能够对理论知识有着很好的把握。在项目的实现阶段。我们可以通过以下几个方面来实现,即可行性研究与计划的制定阶段、需求分析阶段、概要设计和详细设计阶段、实现阶段、测试阶段、运行和维护阶段等等。这种教学模式可以利用校园网络来作为连接的平台,简历,学生和学生,老师和学生之间进行互联网的沟通和教学。快捷,方便,节省时间和空间上的利用。这样利用网络可以使软件工程项目的开发和教学的过程中变得具有灵活性质。老师和学生之间可有就难题解决,防止问题的堆积,让教学的课程显的板没有意义,乏生动性。

当然,教材是教学过程的载体。现如今,软件工程的发展日新月异。所以,我们在教学工程中要弥补不足的地方,使其内容更加的完善。这就要求我们要取长补短。善于借助这种形式扩展教学内容。使学生在有利的条件下能够掌握先进的实用知识。我们可以考虑与社会中的相关公司相联合,安排学生可以听企业的技术专家的讲座。让学生到相关的企业进行参观实习。通过以上方法,,可以使软件工程课程内容紧跟学科的最新发展,更贴近社会需求。由此可以看出,我们不紧要制定相应的教学方案,更要重视技术管理的相关知识。

3.3目的

对软件工程的教学模式是为了让学生能够主动积极的参与软件工程开发的兴趣当中去。培养高素质的专业软件项目开发人员。以社会需要为动力,结合自身的实际情况,积极的创新,探索适合自己的软件工程教学方式。学生只有理解软件的开发原理,掌握软件的开发技术,从而具备软件开发和维护的能力,为以后进入相关企业工作打下结实、良好的基础。

第6篇

【关键词】教学软件;教学系统设计;软件工程;开发模式

【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2009)07―0049―03

当前国内的论著和教材中提出的教学软件设计与开发模式大体可以归为两类。一类是对教学系统设计模式修改而来的,如对ADDE模式的修改;另一类是在软件工程的线性开发模型中插入教学设计环节的,例如“项目定义教学设计系统设计脚本编写素材准备软件编辑试用评价产品出版”。这两类模式都忽略了教学设计与软件工程的内在联系,不能很好地指导教学软件开发。

教学软件既是一种教学材料,又是一类应用软件。作为教学材料,属于教学系统设计的对象,作为应用软件,是软件工程的产品。 因此教学软件开发过程中有两条并行交叉的过程。本文在分析开发过程的基础上,提出两者结合的开发模式。

一 教学软件开发过程分析

1 教学材料的系统设计

在教学系统设计中,教学材料的开发是放在整个系统中考虑的,是一系列的相关分析和决策的结果。

教学系统设计有多种模式。图1所示的是美国学者迪克(Walter Dick)和凯里(Lou Carey,James O. Carey)提出的模式,这个模式有广泛的应用。

对于整个设计过程,可以分为两个阶段,即分析阶段和决策阶段。分析阶段的结果是编写出绩效目标。以绩效目标为依据,设计者开始做出的决策,形成如下的设计文件:

评价学习的试题和量表;

教学内容和活动的顺序与组织方案;

教学材料和教师手册的初稿;

对教学和教学材料的形成性评价方案;

对教学和教学材料的总结性评价方案。

2 教学软件产品的开发

教学软件产品的开发要遵循软件工程的规律。软件工程是“采用工程化的原理与方法对软件进行计划、开发和维护。” 目的是提高软件开发的效率和可靠性。软件开发的基本模型如图2。

这样的线性过程不适合于教学软件开发。首先这种模型是以编写程序代码为中心的,而教学软件除了程序代码,还有大量的媒体元素,如图像、动画、音频、视频等。这些元素的制作是与程序编写并行或交叉进行的,该模型反映不出媒体制作的工作过程。其次是在教学软件设计的初期,由于教学本身的复杂性,设计者不可能完全确定设计的细节,不可能在分析阶段解决所有的分析问题,经常需要在开发过程中修改他们的设计,该模型没有考虑到开发过程中的不确定性。

在对软件开发模型改进的过程中,人们提出了快速原形法、增量模型、螺旋模型等,这些模型的共同特点是把软件开发看作多次循环改进的过程,在多个循环过程中有多次的评估和修改,或是从软件的核心逐步丰富。图3示意了原型法与螺旋模型结合。无论是哪种模型,都有软件开发的基本步骤:分析、设计、开发、测试。

3 教学系统设计与软件开发模型的结合

教学软件与管理软件、工具软件等功能性商用软件最显著的不同,是不能用“功能”来衡量。例如一个文字处理软件,如果测试者能够用软件录入文字,实现任何格式的排版就表明该软件的功能实现了,而教学软件无论运行多么流畅,严格地讲都不能说它具有了功能,因为教学软件的作用效果,不是自身表现出来的,这是具有不确定性的。因此对教学软件,开发是否成功要看教学性,而不是“功能”,而教学性要靠教学系统设计来保证。

无论是从教学系统设计的角度,还是从软件工程的角度,教学软件开发过程都可以分为两个阶段,一个是设计阶段,一个是开发阶段。两个阶段之间有反复调整修改的环节。教学系统设计的理论和方法,主要应用在设计阶段,以实现软件的教学性,为开发提供蓝图。软件工程的思想和方法,贯穿整个设计和开发过程,但重点是开发阶段的组织与管理,以实现软件的技术性能。一个好的教学软件开发模式,应该以教学系统设计为基础,结合软件工程的思想和方法。对这种结合可以用图4示意。该图的内圈表示教学设计过程,外圈表示软件开发过程,两个过程是同时启动同步进行的,交织成一个软件开发循环周期,但是在各个阶段两者的重要程度和工作任务的分量不同。

二 教学软件开发模式描述

1 模式的构成

该模式是借鉴美国学者Stephen M. Alessi和Stanley R. Trollip提出的模式,结合国内实际情况和我们的工作经验提出来的,见图5。

这个模式在整体上是软件开发的螺旋模型中的一个周期,也可以看作增量模型的一个构件的实现过程,这取决与软件开发的任务和条件。这个模式具有一定的普遍性,适合教学软件专业开发,也可供学校的教育技术人员和各科教师制作课件参考。

设计与开发模式有三个要素和三个阶段。三个要素是标准、评价和管理,三个阶段是计划、设计与开发。三个要素始终与三个阶段相互作用,是指在制作的全过程中都要注意,是全过程的活动原则,保证项目的成功。计划和设计两个阶段用环形表示阶段内部有反复的修改,开发阶段用竖的框架表示多项工作可能会并行或交叉开展。

这个模式涉及到开发者和用户两个方面,开发者包括教学设计人员、教学与培训专业人员、媒体素材制作人员和美工人员、程序编写和测试人员、项目管理人员等。在专业开发中,用户是指接收产品的客户,如学校、培训机构或出版商。在学校或培训机构内部开发时,用户是指使用软件的教学者,通常是教师。

2 模式的特点

(1) 基于标准的过程

从项目一开始,开发者与用户等共同明确软件最终产品所有方面的一致的标准,每个开发人员都知道应该怎么做,始终坚持确定了的标准。

(2) 实证的方式

全过程是初步设想、评价、修改的反复循环,直到最后完善。在计划和设计阶段需要完成两个原型,体现了原型法的思想。软件开发虽然有理论指导,但是最保险的还是不断地试验修改,直到合适为止。在全过程中坚持按标准评价,既不拔高也不降低。

(3) 全过程管理

软件开发中有一种现象是偏离原定方案,到了最后又耗费时间、人力和财物进行修改。好的项目管理能保证方案实施,坚持既定标准。

(4) 重视决策阶段

该模式中把计划与设计分为两个阶段,在全过程中花费较多的时间,意图是制作人员多花一些时间讨论,提出初步设想,做出正确决策,然后进行技术实现。这样不仅能少走弯路,提高工作效率,更重要的是能开发出体现教学设计魅力的软件,而不是炫耀技术水平和艺术效果的展品。

(5)倡导集体协作

全过程贯穿了集体协作的工作方式。首先是因为设计与开发所需要的技能与知识不是一个人能全部具备的,决策需要集思广益,需要有各方面专长的人合作;其次是协作方式能够在参与者共同监督下,保证原定的标准与方案。

3 模式的要素

(1) 标准

标准是一个好的项目的起点和基础,规定了开发人员持续努力所要达到的质量。在典型的情况下,一套标准来自两个方面。第一,是由开发人员提出来的,开发人员都应知道质量标准,并且在全过程中遵守;第二,是由客户或教学人员提出来的,往往比较具体,例如规定了总体印象、内容详细的程度、字体、颜色等等。来自两方面的标准一般是不会冲突的,能够协调为一套标准。

(2) 评价

标准只有在软件开发中坚持才有用,这就要求对所做的每一件事进行评价,每个人员也必须执行标准,以标准来衡量自己所做的工作。如果等到项目接近完成时,才来看是否应用了标准,既不现实,也没有用处。

进行全程评价关系着项目的质量,通过设计与开发过程中反复的设想、试验、评价、修改,使每一步工作都符合质量,则最终的产品才能具有高质量。

(3) 管理

成功与不成功的项目的差别很大程度上在于管理。对整个软件开发项目的资源、经费、时间等要从始到终严格控制,进行的良好管理,否则项目容易偏离预定计划和标准。加强项目管理,首先是要制定好计划,其次是要做好监控工作,最后是要保持项目组成员之间以及与用户之间的交流和沟通。

4 模式的阶段

(1) 计划阶段

计划阶段奠定多媒体教学软件开发项目的基础,形成总体设想,以保证项目各方面顺利进行。

计划阶段应确定项目的目的,也就是学习者完成软件学习后应掌握的知识、技能及应形成的能力、态度等。目的的确定涉及到教学内容范围,学习者的起点知识技能,以及一般特点。明确工作的限制条件也是必要的,例如运行软件的计算机环境,用户对信息呈现的特殊要求、软件内容的指定范围等。

计划还包括收集资料,明确所需要的资料是否都能得到,能否改编或自制,如果有些资料不可能解决,决定是否需要改变软件的内容。计划阶段应开展头脑风暴活动,项目组成员共同讨论,形成对软件的内容、结构、外观、风格等方面的初步设想,用原型或文字描述出来。在这一阶段需要频繁地与用户沟通,应编制一些文件,包括项目说明、计划书、项目标准等,使项目管理有章可循,并得到用户认可。

(2) 设计阶段

设计阶段进行软件的教学内容的组织,明确软件的教学目标,形成对软件的具体描述,为技术实现提供指南。

设计是软件开发的核心阶段,时间用得最多。在这一阶段,要综合应用教学理论,使用控制与交互的各种方法,体现信息呈现的要求。在设计过程中,制作人员之间,以及制作人员与用户之间,要继续交流,对软件最终的样式达成共识,完成原型和设计文件。

(3) 开发阶段

开发阶段使设计的结果最终转化为实际的产品。

这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。

在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。

参考文献

[1] 张军征.多媒体教学软件设计原理与方法[M].北京:科学出版社, 2007.

第7篇

关键词:计算机;软件测试;面临问题;对策

随着信息技术不断发展进步,软件规模越来越大,复杂性也随之提升,要想保证软件质量,就要加强对软件测试工作的重视。我国软件测试工作起步相对较晚,还存在很多问题,需要不断完善优化,才能提高计算机软件行业的竞争能力。软件开发行业发展前景广阔,受到各大企业的青睐,加强对软件开发技术的研发,而计算机软件测试则是其中的重要内容,对软件质量有着直接的影响。本文先介绍软件测试工作的重要性,再总结软件测试面临的问题,提出合理的对策。

1软件测试工作的重要性

软件测试工作的重要性主要体现在两大方面:一是软件测试可以提升开发效率。在软件工程项目进行过程中,一般将质量、进度作为核心评价指标,很多项目负责人都会尝试各种先进方法技术,以期望可以加快开发进度,一旦出现返工现象,会对项目进度产生巨大影响,这就突出软件测试重要地位,可以通过合理的测试发现存在的问题,加快开发进度的同时避免出现返工现象。软件测试工作拥有很多测试项目,其中包括集成测试、单元测试,可以第一时间发现软件存在的BUG及实际问题,这样就可以提供充足的修改时间,减少开发工作量。二是软件测试可以保障软件质量。在开展计算机软件项目时,关注进度的同时还要关注质量,通过常规的软件测试,可以发现系统问题,但是无法发现系统BUG,这时候就需要展开集成测试,可以让模块之间拥有更高的集成度,减少软件错误。

2计算机软件测试面临的问题

2.1软件测试自动化程度较低。

近些年,计算机软件行业处于一个高速发展的状态,也出现了自动化测试工具,但是这类工具本身技术不够成熟,存在较多的缺陷,需要花费大量的成本费用,操作难度相对更高,无法实现快速拓展等,没有达到大规模应用的要求,仅仅运用到一些软件测试的特殊工作,在实际的软件测试过程中,还需要大量的测试人员,特别是在嵌入式测试这一部分内容中,基本无法使用自动化测试软件,需要人工校对测试,由于信息技术发展较为迅速,为计算机软件开发提供充足的技术支持,软件开发水平越来越高,软件工程规模也在随之扩张,但是现阶段软件测试仍然以人工测试为主,一方面会提高开发成本,导致人工费用占比不断扩大,另一方面无法保证最终的软件质量,人工测试很难达到零差错,影响软件质量,同时降低测试效率,增加项目运行风险。

2.2测试工作介入时间较晚。

正常情况下,软件开发和测试呈现出相辅相成的关系,两者相互搭配完成软件开发工作,才能得到高质量的计算机软件。为了充分发挥软件测试的作用,就要控制好开发时间和测试时间,但是就调查发现,很多企业将全部精力都放在软件开发工作上,缺乏对软件测试环节的重视,经常将测试工作安排在较后的位置,导致软件测试介入时间过晚,无法实现对软件质量的科学管控。由于软件测试介入时间较晚的原因,在开发后期才发现软件存在的缺陷问题,只能展开返工,增加不必要的花费。

2.3测试方案与案例的利用率较低。

现阶段,软件测试管理体系还不够完善,存在较多的漏洞,在软件开发过程中,无法提供专用的测试案例库,在后续的软件测试期间,经常出现重复利用测试案例的现象,这就会造成不小的资源浪费。同时,现阶段没有完善的测试程序归档规范,在测试结束后没有按照要求完成归档任务,导致测试案例库得不到及时更新,只保存一些较为老旧的案例,无法发挥实质作用。在软件测试的后期阶段,即使发现与前期相似的测试工作,也没有可以参考借鉴的案例,还需要重复测试工作,投入更多的时间精力,浪费资源的同时还会耽误开发进度。

2.4缺乏稳定高效的测试团队。

在软件开发过程中,软件测试成本占比较高,可以达到总开发成本的30%左右,需要一支专业的测试团队,才能顺利在规定时间内完成测试任务。但是现阶段项目开发期间过于重视开发,对于软件测试较为忽视,缺乏足够的专业测试人员。在此同时,项目给软件测试拨下的经费相对较少,甚至出现经费短缺的现象,导致软件测试工作进展缓慢,逐渐发展成形式化工作。除此之外,由于忽视软件测试的原因,无法培养出足够的软件测试后备力量,很多测试人员长时间重复同样的测试工作,无法提升综合能力,掌握的技能相对较为单一。可以看出,现阶段大部分的软件开发项目都缺少专业的测试团队,测试人员掌握的专业技能较少,无法保证软对的稳定性,这些都是急需解决的问题。

3计算机软件测试工作的解决对策

3.1灵活使用软件测试方法。

(1)强化自动化测试手段。虽然现阶段自动化测试手段较少,但是仍然有一些较为成熟的手段,在软件测试期间应该加强对这类手段的重视,选择技术更为成熟的自动化测试手段。在选择测试方法时,要展开综合性的评估,考虑到软件开发项目的实际情况,选择最适合的一种,才能达到预计的测试效果,加快开发进度的同时提高软件质量。在选择自动化测试手段时,考虑到系统架构、数据库平台、软件规模、复杂程度等,选择适合的评估项,才能选择最适合的开发工具,一方面可以提高测试质量,另一方面可以加快测试效率。同时,还要加强对软件自动化测试手段的研发,结合市场需求推出新型产品,弥补市场上的空白。(2)学习借鉴及自主研发。在软件测试过程中,要加强对先进案例的学习,国外一些发达国家的软件开发工作起步更早,已经积累了丰富的开发及测试经验,研发出完善的软件自动化测试工具,要加强对宝贵经验的借鉴,结合我国软件开发测试的实际情况,取其精华去其糟粕,不断提高我国软件测试水平。同时,企业要可以加强对软件自动化测试工具的研发,要考虑到自身的规模和需求,通过自主研发的方式,获得的测试工具更符合企业需求,可以大幅度提高测试效率。

3.2构建软件测试标准及软件测试体系。

一是标准化软件测试规范及体系。明确规定软件测试工作流程、团队建设模式、软件测试不同阶段工作内容以及预期取得的成果,统一化软件测试工作文档格式及内容,对软件测试工作的不同阶段内容制定可行性较高的标准体系。二是构建软件测试案例库。持续完善软件测试案例库,有助于提升软件测试案例的利用率,能够尽早确定系统问题的来源,缩短问题分析及问题解决方案制定所需要的时间,避免此类问题再次发生,真正提升软件测试效率,保障软件质量。

3.3软件项目更加重视测试管理工作。

可以从两方面入手:一是加强沟通交流。就调查发现,很多软件项目的测试工作介入时间相对较晚,并且开发人员和测试人员基本不存在沟通交流,为了避免上述问题,就要加强沟通交流,这样可以让测试人员更快了解测试内容,快速找到软件存在的问题点,与同事分享发现的问题,将所有的问题归类处理,录入案例库,设计人员在受到测试报告以后,可以与测试人员沟通交流,共同讨论出一个科学的解决方案,这样可以加快开发进度,提高软件质量。二是加强测试团队的建设。软件测试面临的最大的问题就是“重开发轻测试”,甚至出现测试资金不足的现象,为此要摒弃这种不合理的思想,加强对测试人员的合理培训,引进一些先进的测试技术及方法,不断提高测试人员综合素养,掌握更多的专业测试技能。同时,还要注意改善薪酬福利结构,让测试人员感受到公司的重视,全身全意投入工作。

第8篇

关键词:实训体系;Android软件开发;培训

中图分类号:TP31 文献标识码:A 文章编号:1001-828X(2013)06-0-02

移动互联网是继通信、计算机和互联网之后的又一次信息产业的革命性发展,并成为全球信息通信行业的万亿元级新兴产业。近年来,由于3G技术的发展,国内智能手机的普及率急升,人才市场对于Android软件开发工程师的需求量也急升,因此,如何快速地培养和建设Android软件开发工程师,成为IT企业培训的热点。本文旨在探讨IT企业如何通过实训培训体系的模式快速培养有计算机基础的初学者成为相当于1-2年开发经验的开发工程师。

实训体系建设包括独特的实训形式建设、实现过程的开展以及课程和师资的组建。其中,最根本的把握好实训的内涵和监控整个实训过程的开展是关键。

一、实训形式

实训的特点就是通过项目实际操作的方式,使得每个学生通过做项目来锻炼时间的编程能力。具体的形式为每个班的学生组成软件项目组数个,每个项目组均以真实项目为背景,重新演练一个经裁剪过的项目立项、计划、需求分析、设计、编码、测试和交付的全过程,按照企业的正规开发流程组织实施,让学生熟悉软件工程在企业中的具体应用方法。项目总监由实训老师来担任,控制项目的进度和质量,学生通过直接扮演项目开发组中的成员角色,来了解在软件项目开发团队中的角色、过程、规范和执行方法,以及在团队中合作沟通能力的重要性,养成良好的职业习惯。以下是学生扮演的角色的主要职责说明,学生可以根据自己在学校的学习情况扮演如下角色。考虑到Android软件开发工程师培训的实际需要,项目开发过程中某些方面的学时将相对压缩,而把重点放在跟开发直接相关的角色上面。

二、实训过程

整个实训过程包括实训预备期和实训期两个阶段。

实训预备期:实训的学生对Android课程体系中必须掌握的业界实用技术知识清单和相关课件进行学习,必要时进行相关课程的考试,考试合格者才能进入实训环节。

实训期:以模拟公司为平台,以仿真的商业案例项目为载体,将企业文化及职业素养训练、IT技能培训、行业知识以及业务流程实践等实训内容完全贯穿在模拟公司的运营过程中,使学生在实践中体验企业工作环境,获得一定的实际经验和职业磨练。

实训师发放《项目实训学生指导手册》,手册中规定了学生在项目Android软件开发各阶段的输入、活动说明和输出。实训选择的生命周期会覆盖软件开发过程的基本要素。其中有的要素在实训中存在操作困难的,只讲解方法并直接发放相关资料。

实训中由实训老师统一指导各阶段的详细过程指导。基本过程如下:

1)搭建环境:主要讲解搭建各种手机操作系统所需开发环境所要具备的软、硬件及网络知识。包括计算机中各种硬件和接口。软件的分类、分发和授权等方式;操作系统的初步知识;注册表、病毒、安全等知识;基本协议、活动目录等知识。从而让学员可以在实际工作环境当中搭建需要的开发环境。

2)完成的软件开发过程:主要讲解实际项目的开发所涉及到的软件开发过程的各个环节,如需求开发、设计、测试、项目管理、配置管理等,并将其运用到实训项目开发。

3)Android手机软件应用开发:这是本培训课程的核心部分,主要是使学员掌握软件开发的技术,掌握编程的方法、思想,了解软件开发过程当中常犯的错误。课程注重实用性、重在培养学员对代码分析的能力,掌握编码规范,掌握调试知识和分析程序错误的能力。同时学习内存检查工具和软件配置管理等知识。课程中贯穿了一个开发项目,以增加学员开发项目的经验。

4)测试计划与软件缺陷:主要介绍软件测试的基本概念和基础知识、如何编写测试计划、识别软件缺陷、编写缺陷报告等。通过学习,学员可以掌握软件测试的流程、软件测试的策略和分类,掌握缺陷的分类和优先级等,从而对测试有一个整体的认识。介绍了缺陷跟踪管理系统(测试工具)。总体来说,本课程将使学员掌握软件测试相关的大部分基础知识。

5)数据库:通过对数据库基础知识的讲解,让学员掌握这些技术。数据库是以主流的Oracle和MySQL 数据库的运用为主。

6) 职业导向训练:进行职业引导,包括就业指导和职前引导。通过座谈会等辅助训练明确就业方向,进一步了解职业发展形式。

三、实训课程设计和引进

A.参考国内外IT知名企业现有已取得各地区政府认同的移动应用软件开发培训课程体系,以移动应用行业应用的实际需求为导向,自主研究开发适合本地企业的Android软件开发方面的案例及课件。

B.结合需要引进其他国内一流的成功Android软件开发培训课程体系。

C.培训实例设计:根据大多数软件开发企业的实际需求,以多个实际项目为原型开发出具有实战意义的案例。

D.企业培训定制:企业培训必须密切结合企业战略,从企业的人力资源规划和开发战略出发,满足组织及员工两方面的要求,考虑企业资源条件与员工素质基础,考虑人才培养的超前性及培训效果的不确定性,为企业确定员工培训的目标,选择培训内容及培训方式。

四、师资队伍建设和引进

在内部培养培训讲师和实训导师的同时,我们还将根据课程需要积极引进高端的Android培训讲师,包括网络通讯、Android应用开发等各领域的高端实战人才,建设一支实战经验、培训经验俱佳的师资队伍。

五、制定Android软件开发工程师培训大纲

Android软件开发就业培训大纲由多名资深移动应用软件开发专家及有丰富Android实战经验的工程师倾力开发而成,在本实训项目里将得到充分的贯彻执行。该课程总结了Google、中兴、华为、HTC、摩托罗拉、IBM等顶级国内、跨国大型企业的先进的软件开发理论和经验,在此基础上形成了一套适合我国国情的Android软件培训课程。目的是将优秀企业完善的Android软件开发技术和方法等推广到国内的软件产业,以提高广州本地软件企业的Android应用软件开发水平,改进开发方法和方式。

Android软件开发培训采用教师授课和学员实际练习相结合的方式。针对每个培训的章节,在课程中都会提供丰富的项目实践案例,使每个学员不仅能够学到Android软件开发的一些基本理论知识,重要的是能够让学员将学到的知识运用到实际的移动应用软件开发活动过程中。

本Android软件开发就业培训大纲主要由三大部分组成:

基础阶段:主要阐述了一个Android软件开发工程师需要了解和掌握的入门知识,包括Android开发编程语言基础,主流数据库开发技术,以及一些必要工具的使用,是迈入Android软件工程师职业必备的一些基础知识。

中级阶段:主要阐述了一个Android软件开发工程师需要掌握的常用的通信协议,整套主流的应用服务器和中间件编程技术,数据访问层框架技术,并帮助深入理解软件工程过程。

高级阶段:通过一个个具体的项目案例,将上面提到的技术、方法、度量、文档和过程相结合,掌握Android移动应用系统开发技术,包括Android环境下的音视频多媒体处理、游戏技术开发、底层核心架构技术等,并进行项目开发实战。了解不同设计模式与运用、软件性能调优、软件过程管理等。