电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

软件工程项目范文

来源:莲生三十二作者:开心麻花2025-09-191

软件工程项目范文(精选11篇)

软件工程项目 第1篇

1.1 研究背景

随着软件工程的不断发展, 对软件工程的研究逐渐划分为两个方面:

(1) 软件工程技术。包括对工程化的开发方法, 软件开发工具与环境的研究。主要面对的技术有:适应需求分析的不确定性;软件的可靠性;软件度量;软件复用性等。

软件工程技术的发展非常迅速, 出现了许多优秀的软件开发方法和工具。比较熟悉的瀑布模型、快速原型法等方法在国内外都有过成熟和成功的应用范例。近几年随着新的软件开发技术的不断涌现, 一些先进的软件开发思想也不断渗透到软件工程技术的研究中, 出现了诸如面向对象的软件工程等新的软件工程开发技术, 给软件工程技术的研究带来了新的课题。

(2) 软件工程管理。包括质量管理, 费用管理, 配置管理, 项日管理等。主要面对的问题有:软件开发成本的控制;软件开发中的资源控制;软件质量的控制;开发进度的控制等。

人们最初认为软件工程的发展主要由软件工程技术决定, 而长期忽视软件工程与软件质量管理。对软件工程管理和软件质量保证的重视, 从而导致了对软件工程管理的研究长期滞后。

可喜的是随着国内众多工业企业掀起的与国际标准接轨, 进行国际标准化质量体系认证 (ISO 9000系列) 的热潮, 许多软件开发企业的有识之士已经开始关注软件质量的管理, 甚至开始准备或已经进行软件质量体系国际标准化认证的工作。

1.2 研究方向

随着国际计算机行业新思想, 新技术的不断涌现, 只有从一开始就站在一个较高的起点上研究和开发软件工程的技术和管理, 才能紧跟、赶上、甚至超过软件工程的国际先进水平。试图从软件工程学科的两个方面 (软件工程技术和软件工程管理) 对国际上的一些新的发展进行研究;而且希望结合具体的开发实例寻求一套比较实用和先进的软件系统开发和管理手段。

采用的方法主要来自于Elvar Jacobs等人的“面向对象的软件工程” (object-Oriented Software Engineering, OOSE) 这一方法, 略加修改以适应软件质量管理的需要。将在第二章详尽介绍这一方法, 并简要其它面向对象的开发方法。

2 软件质量体系参考模型

2.1 模型的建立

提出的软件质量参考模型是基于三个方面的考虑而形成的, 包括SQMP、OOSE和ISO9000-3。建立模型的基本指导思想是SQMP, 即软件质量管理的方法。SQMP首先要求对软件的质量要有一个目标 (即需求的建立) 。根本地、全面地满足用户的需要当然是任何体系模型最基础的目标。但是, 不同的体系模型由于存在不同的体系结构, 实现方法和着眼点, 必然在具体的功能和性能要求上有不同的追求。由前面对软件工程两个方面的讨论可知, 提出的模型希望使软件产品最大程度地具有可维护性、可重用性、可移植性, 更主要的是使软件开发过程更简单, 更易理解, 具有更高的灵活性、抗变化能力、可维护性和可追溯性。这些要求与体系模型建立的方法有很大关系, 即SQMP中的第二方面:设计、开发和维护的方法。这里采用的方法是OOSE法。面向对象的思想本身就具有许多优秀的品质, 而OOSE以维护为主要目的, 它的软件设计和开发过程能更充分地利用面向对象的思想的优势, 使模型的质量目标更易实现。

2.2 质量体系框架

本小节规定了质量体系框架建立的基本原则、基本步骤、基本要求和基本要素。主要包括七个方面:

(1) 确定质量方针和质量目标

质量方针体现了一个组织对质量的追求, 对顾客的承诺, 是职工质量行为的准则和质量工作的方向。质量方针中应包括质量目标, 质量目标是一个企业或组织对质量的具体要求。

(2) 确定组织机构

企业内部应对现有的组织机构进行调整以适应质量管理的要求, 对具体的项目而言应建立相应的责任小组。组织机构中应至少建立一个质量管理部门专门负责质量体系的建立, 质量控制的实施和与质量相关的其它活动。质量部门应具有较高的独立性, 一般只对最高领导或机构负责, 不受其它部门和项目的约束。它还应具有相当大的权利, 能够对在生产过程的各个环节, 产生的质量问题予以及时解决。

(3) 培训和教育

在质量体系实施之前, 应由最高领导者或机构负责, 由质量管理部门实施, 对全体员工进行质量管理的教育和培训, 以提高全员的质量意识, 熟悉质量管理的过程和方法, 明确责任和分工, 以确保高效快速的实施质量体系。首先由质量管理角色制定出质量管理培训计划, 并与规划角色协商, 然后, 依次对开发层和实现层进行质量概念的教育, 力求使每一个开发和管理人员明确自己的责任, 明确质量管理的重要性。最后, 将质量手册分发给每个人, 使每个人对自己的职责、行为规范和质量要求有明确的认识。

(4) 确定管理职责

在明确组织机构的同时, 质量体系应明确各个机构和人员的职责及他们之间的相互关系。这些责任应包括企业和项目管理者的责任, 各个机构的责任, 客户方责任, 工程需求分析、开发、实现和测试等各个环节管理者的软件工程与软件质量管理责任等, 以期达到产品开发的每个过程和质量控制的每个环节都有明确的分工负责, 既无重叠也无疏漏, 以防止质量因控制的原因产生缺陷。

(5) 评审

应组织专门人员和机构对建立起来的质量体系进行定期的审核, 以确保质量体系的不断改进。审核有内部审核和外部审核。内部审核是企业的主动行为, 应包括开发和管理的各个过程的主要负责人。在审核前应按照需要和重要性安排审核的顺序。审核结果要有书面记录, 发现问题应及时采取纠正措施。

(6) 质量体系文件

质量体系的所有要素和规定都应落实成文字, 要用系统有序的方法将所有质量体系要素、要求和预防措施清楚地写入文件。每个软件项目的开发和实施都应依据质量体系文件的规定制定相应的质量活动计划并形成文件, 以确保有关机构和人员能够理解并遵照执行。

(7) 纠正措施

应制定采取纠正措施的书面规定并贯彻执行。其内容应包括:调查产品不合格的原因并研究为防止再发生所需的纠正措施;对全部过程、操作、质量记录、服务报告和顾客投诉进行分析, 以查明不合格品的潜在原因;根据风险程度, 采取相应的预防措施;应对纠正措施的有效实施予以控制;执行由纠正措施引起的规程的更改并予以记录。

结束语

在对软件工程的发展现状进行分析后, 提出了对软件工程的一些基本认识和看法, 并以此为出发点, 希望结合最先进的软件工程开发技术和管理的成果, 探讨一种面向实用的、保证软件质量和提高软件生产效率的大型系统的开发方法, 并给出了一个质量体系框架模型。

以上观点还有许多值得推敲的地方, 由于知识的局限性, 致使很多问题未能进行深入的探讨。对于提出的模型, 还需要进行大量的实际应用才能积累度量本方法质量的数据和经验, 单纯从理论上考察这个模型是不够的。

参考文献

[1]中国认证人员国家注册委员会.质量体系内部审核员国家通教程[Z].[1]中国认证人员国家注册委员会.质量体系内部审核员国家通教程[Z].

[2]李友仁.软件工程与软件质量分析[Z].[2]李友仁.软件工程与软件质量分析[Z].

[3]朱兰.质量计划与分析[Z].[3]朱兰.质量计划与分析[Z].

软件升级软件工程论文 第2篇

1软件升级必须达到的目标

近几年,计算机软件工程的应用领域日益广泛,具体包括各种程序设计语言、数据库技术、软件设计模式、操作和数据指令的标准、应用系统平台和软件开发工具。鉴于传统软件工程存在的诸多缺限,还有功能对象的转变和应用范围的扩大。无论是作为软件研发的开发商还是作为软件直接应用的用户都要进行软件的升级。软件升级需要达到几点要求,包括要有非常高的工作效率,靠的住的安全性,增加软件的应用寿命和能够进行方便的修改重生成特性。

1.1软件要具有高的工作效率

软件升级几乎涵盖了所有软件相关组成结构,要充分审核任何一个重要结构,做必要的改造。升级后软件要明显优于未升级前,对任务的处理时间要有较大的提升。具体来说就是,要对空间、时间等资源进行充分高效的利用,例如对计算机数据库技术一定要充分挖掘数据的可利用价值。同时,始终保持用户至上的理念,不断提高用户操作的便捷性是软件升级最重要的目标。应该在原有的基础上增加修改程序、组装软件和调整指令等必要的新功能。

1.2软件要安全可靠

互联网的广泛应用方便了人们的工作生活,对计算机的广泛应用起到了不可忽视的推动作用。但由于它的开放性也给x提供了作案方便。x善于利用应用软件对计算机系统实施攻击,通过对软件代码的反编译,植入和修改破坏软件安全性以达到个人的目的,使得用户蒙受巨大的精神或经济损失。所以软件升级改造必须要考虑软件的安全防御功能。

1.3尽量延长软件的使用寿命

软件开发设计前期调查,需求分析,开发,维护等多个阶段,其过程复杂,需要投入大量的人力、物力和财力。所以从成本消耗的调度看,新软件要尽量延长使用寿命,缩短产品更新换代的周期。就拿杀毒软件而言,每年市场上销售的杀毒软件数量巨大,对就的软件增加和完善功能必须要确保其在规定的时间内无需更换。同时,为了创造良好的经济效益,使用周期也应该得到延长。

1.4方便修改重新生成

为了减少软件开发的`投入,还可从软件后期维护着手。对于软件后期维护也是软件周期中花费最大的,只要设法减少这一阶段的投入,就会大大减少软件的成本。因此,开发软件时考虑留有修改余地,使得软件便于修改重新生成就显得尤为有意义,另外也会有效的减少设计工程师的操作难度。

2计算机软件工程升级策略考虑

2.1软件工程设计要有科学性

软件开发的第一阶段就是设计,软件工程的升级设计一定要以科学为指导。例如,对于研发程序代码要考虑软件模块化。对外要考虑软件的抽象和信息隐蔽特性,以及软件的局部化、一致性原则和适应性等特征。选择恰当的科学的设计方法,能够为这些特征的实现提供方便,达到科学性设计这一目标,突出升级软件后的优势特征。

2.2要全面兼顾市场需求

软件开发的直接目的就是服务于市场需求,一个脱离市场需求的软件产品是对经济资源的浪费。同样,软件的升级也要有市场需求为支持,在满足市场基本需求的前提下,进行相关的研究和开发,才会使工作有价值,避免由于开发设计不当造成资源浪费。另外,作为计算机组成的两大部分,软件和硬件一直都存在计算机产品开发不可兼得的问题,无时无刻不逼迫使得软件开发单位考虑两者互相的影响与制约的关系,做出权衡。如此一来,面对具有多变性的市场,在采取有效控制之前,必须对市场有全面的掌握和理解,才能开发出更加满足社会需要的软件产品。

2.3把握智多种发展趋势

2.3.1智能化智能化不仅出现在计算机科学领域,它是现代通信与信息技术、行业技术、计算机网络技术和智能化控制技术综合到一起针对某一方面的应用。在人工智能化应用与计算机领域的今天,这个趋势必然会与现代通信技术、计算机网络技术与现场总线的控制技术飞速发展,一起给人们的生产生活带来巨大的变革。

2.3.2服务化随着计算机软件技术的发展和应用软件的广泛普及,计算机软件技术及产品的服务化将成为一种大趋势。未来,软件开发商会以一种服务的形式提供软件,利用网络提供方式,将各种软件放在服务器的主机上,客户可根据选择下载安装某种应用软件。当然客户也可以与软件开发商联系,提出自己的要求,订购软件服务。通过网络享受软件和硬件资源,软件维护升级等,使软件真正的服务于人民。

2.3.3融合我国对工业发展策略调整以及传统工业的升级,必然会加快电气化、机械化和自动化这些硬设备向信息化、数字化和网络化等软设备转变。计算机软件技术的融合化是我国信息化和工业化融合的一支重要力量。随着工业化不断推进和传统产业升级加快,工业软件的需求会进一步加大,我国计算机软件软件产业会不断发展壮大,推动计算机软件技术融合,以适应发展需要。

2.3.4开放化随着软件工程的蓬勃发展,早期封闭性强的收费性软件发展模式以慢慢不再适应大的形式。为了给提高计算机软件质量的提高创建机遇,逐步打破软件技术和知识产权的垄断,开发化已变成不可阻挡的趋势。计算机软件源代码的开放,将意味着软件产品逐步标准化,这将有利于我国计算机软件产业的更新换代和全面升级。在这种趋势下,也势必会使我国计算机软件开发效率得到较大提高。

2.4提供工程化支持,强化升级管理

新软件必须大幅增强软件的使用价值,具有很强的软件工程使用多用性,这些就需要软件工程的支持。主要包括软件工具和环境要对软件工程有足够的支持,以及充分保障软件工程项目的质量、技术和开销。这些都由对软件工程所提供的支撑质量和效用所决定。软件工程的管理作为另外一项比较重要的方面直接影响了对可用资源的有效利用,大幅提高软件组织的生产单位产出率,生产出合格的软件产品等问题。在参照市场需求下,提前做好准备,制定软件工程的管理制度,加强新旧产品升级空隙的质量监督和管理是电子产品研发企业必须做好的工作。

3结束语

《软件工程》项目式教学改革 第3篇

【关键词】 软件工程;项目式;教学改革

传统的软件工程教学模式大多照本宣科,学生缺乏对软件工程知识的感性认识,学习兴趣不浓,动力不足,课程中所运用的教学方法也存在着一些不适合高等职业教育教学需要的问题,提出在软件工程课程中采用项目式教学的设想,并对其实施办法进行分析与探究。

一、软件工程项目式教学改革思路

1.软件工程课程的特点

软件工程是研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来。通过软件工程课程的学习,学生能够了解和掌握软件工程的理论、技术和方法,具备作为软件工程师所需要的专业能力。软件工程不是完全可以从书本和课堂上学会,理解和实践是非常重要,学生必须在实际“动手做”和“真正练”的过程中才能掌握软件工程的思想。

2.项目式教学的意义

以教师为主导,以学生为主体的教学理念我们经常提,要真正落实下去有一定难度,教师唱“独角戏”的时候并不少,项目式教学很好地解决了这一矛盾。将项目式教学方式应用于软件工程课程的教学实践中是课程改革和教学改革的需要,有利于提高学生的职业素养和实践技能。

项目式教学是行动导向教学的实现形式,是基于工作过程的课程观,是职业院校课程改革的核心。项目式教学的意义如下:(1)选择来自实践中的项目,使培养的学生更快地使用企业需求。(2)采用项目式教学,更能激发学生的学习动力,发挥学生的主体作用,培养学生的技能。(3)在教学中采用项目式教学法,会形成软件专业方向核心课程的新学科体系。

二、软件工程项目式教学改革设想

1.确定合适项目

选取明确、合理、切合实际的项目任务,是开展教学的第一步,也是最重要的一步。选取的项目应该来自于实践,这是缩短学校与企业生产的差距,使学生更快地适应企业需求的一种正确的方法。按照真实性的学习理论,以来源于企业的项目为中心组织教学,能最大限度地发挥项目式课程的功能,贴近于企业生产实际的教学内容也弥补了学校教学比企业实际滞后的问题。教师所规划制定的项目和目标,必须使学生易于理解,让学生知道自己要做什么,要学哪方面的知识,练习哪方面的技能,达到什么样的目标,让学生清楚整个系统的具体组成模块。

2.项目驱动与案例教学整合运用

在“项目任务驱动”教学中,“任务”的提出是最重要,它将决定这节课学生是主动的去学习还是被动的去学习,可以将一个大项目分成若干个子项目。项目驱动是将所要学习的新知识隐含在子项目中,再将子项目划分为一个或几个任务之中,学生通过对所提出的任务进行分析、讨论,明确它大体涉及哪些知识,并找出哪些是旧知识,哪些是新知识,在老师的指导、帮助下找出解决问题的方法,最后通过任务的完成来实现子项目的建构。事实上它并不是简单的给出任务就了事,更重要的是应该让学生掌握分析问题解决问题的方法。

项目驱动教学法中的项目,是师生通过共同实施开发一个完整的“项目”工作而进行的教学活动。在职业教育中,项目是指以生产一件具体的、具有实际应用价值的产品为目的任务,应该满足下面的条件:

(1)该工作过程可用于学习一定的教学内容,具有一定的应用价值。

(2)能将课程教学的理论知识和实际技能结合在一起。

(3)与企业实际生产过程或现实的商业经营活动有直接联系。

(4)学生有独立进行计划的机会,在一定的时间范围内可以自行组织、安排自己的学习行为。

(5)有明确而具体的成果展示。

(6)学生自己克服、处理在项目工作中出现的困难和问题。

(7)具有一定的难度,不仅是已有知识、技能的应用,而且还要求学生运用新学习的知识、技能,解决过去从未遇到过的实际问题。

(8)学习结束时,师生共同评价项目工作成果和工作学习方法。

案例教学法是运用案例来说明、展示从实际案例出发,提出问题、分析问题和解决问题,通过师生的共同努力使学生达到举一反三、理论联系实际、融会贯通、增强知识、提高能力和水平的方法。软件工程项目式教学中可以灵活的将项目任务驱动和案例教学法结合起来,让学生既对整体大项目有了解,又对子模块(子项目)案例有把握,也对案例中划分的更小单位即各个任务有明确的解决办法。

3.将工具的使用融入实验环节

目前受硬件环境的限制,学生在课堂中一直无法使用到软件工程学科中常用的重要工具,这也是影响课堂教学效果的一个重要因素。在项目式教学过程中,一定要将工具融入进来,可以把工具软件的使用放入实验环节中,课堂内容应该包括软件生命周期各个阶段所用到的CASE工具,把软件工程的概念和理论知识融人到实验内容当中,让学生更加深入地了解学习软件开发中各个阶段的技术、方法和工具的使用。

软件工程课程常用的比较流行的工具有绘图工具Microsoft Visio、数据建模工具PowerDesigner、面向对象建模工具Rational Rose、功能测试工具WinRunnero、压力测试工具LoadRunner、软件代码测试工具PurifyPlus、软件配置管理工具Visual SourceSafe和软件项目管理工具Project等。建议在每次实验中要包括:背景知识介绍、实验内容、实验方法及实验报告等部分。

4.灵活的考核评价机制

软件工程课程中如何灵活采用不同的考试方式是一个值得探讨的问题。多年来传统的笔试闭卷考核方式存在着一定的弊端,围绕项目式教学的要求,可以在软件工程课程考核方式中加大实践考核的比重,可以按照以下比例进行:平时考勤课堂讨论30 % ,实验或课程设计30 %,笔试40%。

其中实验或课程设计环节要求学生采用结构化开发方法、面向对象的开发方法、或两种方法结合按照软件工程思想开发完成一个真正的小型软件系统。应按教学进度,分阶段提交详细的需求分析文档、设计文档、测试文档和软件代码。考虑到软件专业课程体系中有编程方面的专项课程设计,软件代码部分可以要求降低些。为避免学生死记硬背理论,应付考试,笔试最好采取开卷的方式,卷面综合性题目和实践性题目要占主要部分,要重点考查学生对软件工程思想和软件开发方法的实际掌握程度。

项目式教学由传统以教师为中心的教学转变为以学生为中心的教学;由以课本为中心转变为以项目为中心;由以课堂为中心转变为以情景为中心的教学方法。在软件工程课程中采用项目式教学改革策略,不仅会达到“授之以鱼”的效果,更起到了“授人以渔”的作用。

参考文献

[1]刘强.《“软件工程”课程教学改革的探索与实践》[J].北京:清华大学软件学院理工科通讯.2008

[2]李龙澍.实用软件工程[M].北京:人民邮电出版社,2007

基于软件历史信息的软件工程实践 第4篇

关键词:软件历史,软件演化,软件维护

1、引言

软件的开发和维护是一个时间、劳动力和资源密集的过程, 软件缺陷的修复成本也非常高。软件的修复和维护通常占据了软件项目90%的资源, 即使在开源的环境中, 软件的维护也是一个艰巨的过程。研究人员在改善软件维护过程方面已经进行了大量的研究, 主要包括设计良好的编程语言和可适应的集成开发环境以提高编程的效率;构建自动编译工具;实施更加严格的软件安全策略等等。可是这些研究工作并没有涉及如何降低软件的维护成本。虽然在软件开发和维护方面的研究已经取得了很大的进展, 然而与软件演化过程相关的成本仍然很高。在目前这样一种情况下, 我们需要研究 (1) 编程语言对软件开发效率以及软件质量的影响。 (2) 软件缺陷修复的分派机制。 (3) 设计基于图的模型来预测软件维护的成本。 (4) 设计一个自动化的框架来集成各种各样的软件产品资源库以帮助软件开发人员和研究人员进行相关的数据挖掘活动。

2、编程语言对开发和维护的影响

编程语言对软件开发和维护影响的定量评估长期以来都是一个具有挑战性的问题。目前, 由于新的应用的产生, 编程语言的选择也在发生着变化。随着Web2.0的出现, 编程语言受欢迎程度的统计数据显示动态的高级语言越来越受到编程人员的青睐。这些语言提高了抽象水平, 有希望加快高质量软件产品的开发。可是, 我们仍然缺乏静态检测工具。由于缺乏成熟的分析和验证工具, 使得程序员在编写代码时非常容易出错, 以至于软件难以维护。有研究人员曾经分析过编程语言对软件开发和维护的影响, 但是他们并没有将编程语言和具体的应用联系起来, 也没有考虑进行的研究是否恰当。例如, 有的研究者将开发人员分成几个小组针对某些项目进行研究, 可是他们并没有考虑到开发者的水平因素, 而且这些项目通常是比较小、不被经常使用而且生命周期比较短。使用这样一些方法产生的结果通常不能推广到现实世界中比较大的一些应用项目。

3、软件缺陷的分派机制

流行的开源软件项目通常每天都会收到上百份缺陷报告。理想的情况下, 每个缺陷应该在最短的时间内分派给相应的软件开发人员进行修复。缺陷的分配过程比较复杂, 通常受几个因素的影响。如果手工来处理缺陷的分配过程, 那么这个过程将会消耗很多劳动力和时间, 而且非常容易出错。不仅如此, 对于每一个项目, 跟踪每个活动的开发者和他们的经验也是一件非常困难的事情。有的研究者通过使用机器学习的方法来自动的分配缺陷, 然而效率和准确性却比较低。

4、基于图的方法

在软件维护的研究中使用基于图的度量最早应用在软件缺陷预测领域。Zimmermann等人使用函数调用关系图预测一个文件发生故障的概率。Pinzger等人构建了一个开发者网络来预测软件故障。Nagappan等人通过提取函数调用关系图中的复杂性度量集来预测缺陷。但是, 这些研究都没有建议使用基于图的度量来预测软件维护的成本, 以及识别软件代码中的关键点, 这些关键点往往更容易发生故障。可以通过构建基于图的软件模型来计算软件中各种元素之间的关系, 通过分析软件的结构来找到提高软件质量和降低软件维护成本的方法。

5、集成软件产品的框架

开源软件项目在开发过程中使用不同的资源库来存储项目和演化的信息, 例如:源代码, 缺陷和补丁等。一个集成系统必须整合这些不同的资源库, 采用先进的查询技术允许软件开发人员和研究人员在这些不同的资源库之间进行查询和浏览, 以帮助他们解决在开发和研究过程中所遇到的各种问题。例如:软件开发者在编写代码的时候经常遇到这样一个问题:为什么代码要按照这种方式来实施?开发者为了得到这个问题的答案, 他们需要使用软件缺陷资源库和代码资源库中的信息, 由于这两个资源库是互相独立的, 这使得查找信息的效率非常低。手工集成这些资源库的信息通常非常的繁琐、耗时、也比较容易出错, 对于大型的项目更是如此。以前解决这些问题的方法是限制用户查询和浏览的方式, 例如:查询只能按照规定的查询模版来进行。为了解决这些问题, 需要建立一个框架来支持各种查询语言, 允许软件的开发人员和研究人员在更加广泛和深层的空间中去寻找问题的答案或线索, 从而帮助开发人员和研究人员完成相关的开发和经验分析任务。

6、结语

本文主要探讨了在软件演化过程中如何提高软件维护和软件质量的问题, 提出了一个软件资源库的集成框架, 对于软件产品的开发和分析活动是很有帮助的。

参考文献

[1]宿为民.支持过程度量的软件过程建模及软件过程评价平台的研究[D].上海:复旦大学, 1999.

[2]李健, 金茂忠.中小型企业软件过程改善研究[J].计算机工程与应用, 2001, 37 (19) :1072111.

[3]李健, 金茂忠.有效改善软件过程方法研究[J].计算机研究与发展, 2001, 38 (1) :26234.

[4]N.Nagappan, T.Ball, andA.Zeller.Miningmetricstopredictcom-ponent failures.In ICSE’06.

[5]NIST.The economic impacts of inadequate infrastructure forsoftware testing.Planning Report, May 2002.

[6]M.Pinzger, N.Nagappan, and B.Murphy.Can developer-modulenetworks predict failures?In FSE, 2008.

软件项目的需求变更管理 第5篇

需求管理的常见误区

软件项目的范围控制应该是在需求分析阶段就开始的,然而很多项目经理针对需求分析存在不少认识误区。

误区1:开发商和用户仅就软件需求的基本轮廓达成一致即可,具体细节准备日后协商。

从项目管理角度分析,这是非常危险的,许多软件项目失败的最主要原因就是需求分析阶段对问题、流程、细节的描述不够准确,导致后期预算超支或者工期延误。

正确的方法是:在需求分析阶段,双方必须对项目的应用背景、功能需求、性能需求、可靠性需求、可用性需求、操作界面需求、外部接口需求,以及项目评审的方法、标准、过程进行全面、细致地研究讨论,逐一进行明确。

误区2:软件需求是软件必需向用户提供的功能和界面,功能上满足需求就足够了。

从软件需求工程角度分析,这只是认识到了软件系统的功能需求,忽略了软件的非功能需求和设计约束,需求捕获不够全面。软件需求工程理论认为,软件需求包括功能需求、非功能需求和设计约束三方面内容。

正确的方法是:除了要明确软件的功能需求,还需要进一步明确非功能需求(即软件产品所必备的属性和品质,包括可靠性、可用性、安全性、可扩展性、可移植性等)和设计约束(即软件研发必须遵守的特定规约、限制条件、政策标准,如软件必须采用国内自主知识产权的数据库产品)。

误区3:需求调研的对象是用户,用户就是软件产品的最终使用人员。

从项目管理角度分析,该观点缺乏对项目相关人全面、系统的认识,对用户的概念理解不到位。“用户”是一种泛称,它可细分为客户、最终用户和间接用户三种类型。例如,很多企业的一把手并不直接参与软件的采购和操作,但是其对于软件项目实际上起到了关键意义的决定作用,属于最重要的间接用户。

正确的方法是:要充分认识用户的多重性、层次性、复杂性,在进行需求调研时应首先对用户进行分析、分类,根据重要性、优先级、特殊性对各类用户进行排序;其次,是针对不同类别的用户分别制订不同的需求调研计划,全面开展需求调研。需要重点指出的是,对于由多个业务部门共同参与的软件项目,在确认软件需求时一定要得到全部参与部门的共同认可。

误区4:按照“需求、设计、编程、测试”步骤研发出的软件不必考虑需求跟踪问题。

从软件工程角度分析,这是对于需求变更过程缺乏系统的认识的表现,严格线性顺序的开发模型并不能保证各个开发阶段的工作成果与需求保持一致。实际上,由于需求变更的不可预见性和必然性,各个阶段往往以螺旋的方式渐进。

正确的方法是:需求跟踪应该贯穿于整个软件需求管理阶段,需求跟踪的目标是实现《产品需求规格说明书》和软件产品之间的双向可追溯。

做好需求工程

需求分析是软件工程项目最重要、最基础的起始阶段,为后续的规划设计阶段提供参照依据。在软件研发项目过程中一定要树立需求工程的意识,将需求视为一项系统工程。为了能够全面做好需求管理,应根据项目实际情况严格划分项目阶段,清晰界定、定义项目阶段的基线,在每个项目阶段制订、执行阶段性需求管理计划,逐一认真落实。

1.需求工程的结构及目标任务

需求工程是一个包括创建和维护系统需求文档所必需的一切活动的过程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。需求工程结构如图1所示,需求开发与需求管理的流程如图2所示。

需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求开发过程有3个主要活动:需求调查、需求分析、需求定义。需求开发过程可分为两个阶段:用户需求调查阶段和产品需求定义阶段,两个阶段在逻辑上通常是以迭代的形式进行的。需求开发过程产生的主要文档有《用户需求说明书》、《产品需求规格说明书》(对于软件产品而言就是《软件需求规格说明书》)。

需求管理的目的是在用户与开发商之间建立对需求的共同理解,维护需求与软件工作成果的一致性,并控制需求的变更。需求管理过程有三项主要活动:

(1)需求确认:开发商和用户共同对需求文档进行评审,双方就需求达成共识后做出书面承诺,使需求文档具有商业合同效果。

(2)需求跟踪:通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。

(3)需求变更控制:依据“变更申请、审批、实施、重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。

需求管理过程产生的主要文档有《需求评审报告》、《需求跟踪报告》、《需求变更控制报告》等。

2.需求的跟踪

需求跟踪的目的是建立与维护“需求、设计、编程、测试”过程的一致性,确保所有的工作成果符合用户需求。需求跟踪有两种方式:

(1)正向跟踪:检查《产品需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。

(2)逆向跟踪:检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。

正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵。

组建变更控制管理机构

项目变更是指项目实施过程中由于环境或者其他因素的变化而对项目部分或者全部功能、性能、架构、技术指标、集成方案、进度、质量等方面做出改变。

1.变更控制管理的任务及目标

信息系统项目实施过程中变更是无法避免的。变更控制管理的任务是:建立规范、严格、可行、高效的变更控制体系机制,组建变更控制管理机构,出台变更管理制度;对用户提交的变更请求进行快速的响应、受理;及时分析、研究、评估变更的可行性、成本、代价、范围;对于确定接受的变更请求制订变更实施计划方案及配套应对措施,实施变更任务,进行变更测试检查,做好变更记录。需求变更控制的最终目标是:通过建立严格规范的变更控制管理流程,拒绝不切合实际的变更,减少变更带来的风险,防止变更范围扩大、蔓延,杜绝随意的变更申请及受理过程等。

2.变更控制管理机构的建立

组建有效的变更控制管理机构和制订配套的变更控制管理制度,是进行变更控制管理的重要基础和前提保障,否则变更控制管理将成为一纸空文。变更控制管理机构(形式上可以是“变更控制管理委员会”、“变更控制管理办公室”、“变更控制管理组”等)是一个特殊组织,对项目负责人直接负责,它不受现存的职能组织结构的束缚,可由来自不同机构、不同部门、不同专业、不同岗位的人员组成,各成员划分权限岗位、明确职责、落实责任、协同工作。一般情况下,变更控制管理机构内部应至少配备以下四种角色的成员:

项目管理人员(类似于“项目经理”):主要负责制订项目管理制度和项目管理计划,督促、检查、落实、考核项目执行过程,做好项目干系人之间的沟通协调工作。

技术负责人员(类似于“总工程师”):主要负责项目中信息技术平台的分析、建模、设计、测试、实现。

业务管理人员(类似于“业务经理”):主要负责收集整理业务需求、编写需求说明书、验证和评审需求、管理和控制需求变更。

通信联络人员:主要负责项目组织内部成员之间的信息发布。

需求变更控制 管理工作程序

需求变更的目的是希望软件产品更加符合用户的需求,但是变更涉及的人员多、范围广、影响大,在进行变更控制管理时必须建立严格、规范的变更控制管理工作程序,这样才能使项目始终按照预定的方向、模式、进度进行。

需求变更控制过程中最难办的事情不是“满足用户提出的变更请求”,而是“在用户认同支持、追加项目投资经费的前提下尽快完成变更任务”。用户往往认为提出变更需求是基本权利,而软件开发商往往认为只有义务解决在《用户需求说明书》、《产品需求规格说明书》中预先定义的各类需求,除此以外都应该拒绝或者在用户追加投资的前提下解决。

现实中信息系统项目的目标是具有一定弹性的,这一点尤其重要,用户和软件开发商之间为了达成共同目标不可能针锋相对,项目管理人员需要利用高超的管理艺术、沟通技巧、人格魅力,在对立博弈的关系之中寻求最佳的平衡点。

另外,有必要强调的是,在项目实施过程中,变更处理越早,难度越小,损失越小;变更处理越迟,难度越大,损失也越大。而且,任何变更都必须经过项目建设全部相关方(建设单位、承建单位和监理单位)多方确认后才能计划实施,严禁任何一方擅自变更。对项目变更的范围要有明确的界定,而且项目建设全部相关方对变更范围的理解上都没有任何异议。

软件项目 第6篇

oduction目^'1 jri'Bi3———aaasiri nj i ILLI2SSICBS9户管理系统:CRM系统建设目标就统一的客户信息系统平台, 采用先进工具等决策分析技术发现潜在的用户机会, 为客户提供个性化服务, 并且客户业务建立一个业务管理支撑系统, 户的市场营销、服务管理工作系统化、略化, 对客户的特定要求提供个性化售前、售中及售后服务。统集成工程案例M氬|1山H*安金KSJ5工鬌设计施工备案证明单位名Ri{M本) 5*人《醍, -编.注11**1·.山.·.»ft C JT‘螬富4-软件企处认定证书《鼴net件产金H氬釀暾M产鲞复KK'HTXIM�U<tttt企金f AX««SKIt办认sa«傳金ft.nsita.看丨:软件产品记证书*aaft*o>>va««JMi»ftvi«|$合UXJttttft产ftm«成�a»产4发展的费干政*》io it拌产a«a办法》的《关《x.*子e«, «»此证«_企&i£«K«|有》期翁环境噪声自动监測j系统:是基于微软公司的lis服务系统上开发的一套WEB应用程序。本系统提供了噪声数据的统计分析功能, 通过浏览器就可操作查看, 使操作更简单, 更灵活, 适用面更广。该系统主要功能包括数据审核、数据查询、报表生成、系统设置等。数字校园网络工程:大同市十一中数字校园网络工程、同煤二中数字校园网络工程大同市十二中数字校园网络工程 (在建) 、雁北煤校校园网络工程大同市铁路第一中学学校校园网格工程大同市第七中学校校园信息化系统及设备工程大同市云岗中学信息化工程建设项目视频多媒体工程:大同市纪检委及各区县视频会议工程、大同市交警支队视频会议项目应用网络系统工程:大同市纪检委IP电话工程、大同市旅游局电子化管理和商务网络建设系统朔州市财政局国库集中支付系统、大同市纪检委一网六平台监测系统大同市统计局网络防护项目大同市国税局机房维护项目大同市车管所所需电子档案管理系统项目安防监控工程:大同市南郊区教育局国家标准化考点建设工程大同市人民政府防汛抗旱指挥部办公室视频监控工程中共大同市委党校监控工程

软件工程项目 第7篇

Production软件项目lin6RM客户管理系统:CRM系统建设目标就建立一个统一的客户信息系统平台, 采用先进数据库及工具等决策分析技术发现潜在的用户息和销售机会, 为客户提供个性化服务, 并且门针对客户业务建立一个业务管理支撑系统, 面向客户的市场营销、服务管理工作系统化、业化和策略化, 对客户的特定要求提供个性化、优质的售前、售中及售后服务。分系统集成工程案例山If省安金坊范工獮设计施工备案证明·位名H暴位titt, (M本丨法人代翁..山8«公安11·术II鼴瞥蟠办公鬵令软件企虫认定证书tt拿�^《鼴产會»籤现龜篇严金复腥的·子!!·>«<lttf企金U定鰺暹&«螬办:i>矜丨的ir*iw认史&.HSita.T软件产品记证书M».V符钱产鳖和»成嘸B产*«*的8干政*》扣tt件产a«l»办法》的珣关《JE.«予》«, M攻此证中供企!B::大有霞ooco有«補:五年«««*參环境噪声自动监}11系统:是基于微软公司的HS服务系统上开发的一套WEB应用程序。本系统提供了噪声数据的统计分析功能, 通过浏览器就可操作查看, 使操作更简单, 更灵活, 适用面更广。该系统主要功能包括数据审核、数据查询、报表生成、系统设置等。数字校园网络工程:大同市十一中数字校园网络工程、同煤二中数字校园网络工程大同市十二中数字校园网络工程 (在建) 、雁北煤校校园网络工程大同市铁路第一中学学校校园网格工程大同市第七中学校校园信息化系统及设备工程大同市云岗中学信息化工程建设项目视频多媒体工程:大同市纪检委及各区县视频会议工程、大同市交警支队视频会议项目应用网络系统工程:大同市纪检委IP电话工程、大同市旅游局电子化管理和商务网络建设系统朔州市财政局国库集中支付系统、大同市纪检委一网六平台监测系统大同市统计局网络防护项目大同市国税局机房维护项目大同市车管所所需电子档案管理系统项目安防监控工程:大同市南郊区教育局国家标准化考点建设工程大同市人民政府防汛抗旱指挥部办公室视频监控工程中共大同市委党校监控工程

软件工程项目 第8篇

1 软件工程基本概念

计算机软件:与计算机操作有关的程序、规程、规则及任何与之有关的文档及数据。它由两部分组成:一是机器可执行的程序及有关数据;二是机器不可执行的, 与软件开发、运行、维护、使用和培训有关的文档。

软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题。20世纪60年代末至20世纪70年代初的软件开发, 主要依赖个人的“才艺”, 而软件功能的需求越来越强, 造成软件质量 (通用性、可移植性) 差、维护困难。在一定时间内, 人的智力和体力已无法承受。简单增加开发人员已不能成比例地提高软件开发能力。为开发和维护软件而支付的费用已占到设备成本的40%~75%, 开发大型软件一再延时, 因此而产生了“软件危机”。

软件工程:用工程、数学的原则和科学的方法, 研制与维护计算机软件的有关技术及管理方法。它由方法、工具和过程3部分组成。软件工程方法是完成软件工程项目的技术手段, 它支持项目计划与估算、系统与软件需求分析、软件设计、编码、测试与维护。软件工程使用的软件工具自动或半自动地支持软件的开发和管理, 支持各种软件文档的生成。软件工程的过程贯穿于软件开发的各个环节, 管理者要对软件开发的质量、进度、成本进行评估、管理和控制, 包括人员组织、计划跟踪与控制、成本估算、质量保证、配置管理等。

软件生命周期:软件产品从形成概念开始, 经过开发、使用和维护, 直到最后退役的全过程。它包括软件定义、软件开发、软件使用与维护3个主要部分。对应软件生命周期的软件开发模型是经典的瀑布模型 (如图1所示) 。它提供了软件开发的基本框架, 有利于大型软件开发过程中人员的组织、管理, 有利于软件开发方法和工具的研究与使用, 从而提高大型软件项目开发的质量和效率。

2 网络系统面临的威胁

网络时代的互联互通给我们带来了前所未有的体验与便捷, 无纸化办公、电子商务、网络通信等, 正融入我们的日常生活与工作的各个领域。大量有价值的、敏感的数据存储与流动, 使得利益驱使下的犯罪充斥于网络社会。早在1995年, 安全专家Clark和Davis就定义了网络犯罪成本效益比率:

MbPb>OcpOcmPaPc

Mb攻击者的货币收益;

Pb攻击者的心理收益;

Ocp实施犯罪的成本;

Ocm攻击者的定罪成本;

Pa攻击者被缉拿和逮捕的可能性;

Pc攻击者被定罪的可能性。

当不等式的左边大于右边时, 意味着实施攻击的收益大于成本, 犯罪即可能发生。

一方面, 如前所述, 随着应用的普及, 用户必然会存储、处理大量有价值的数据, 使得不等式的左边对攻击者来说是“堆放金钱的地方”, 其值 (Mb) 会愈来愈大;另一方面, 攻击者被发现和追捕的可能性 (Pa) 微乎其微, 同时, 网络上黑客工具汗牛充栋、唾手可得, 实施攻击无需掌握高难的技术, 使得犯罪成本 (Ocp) 愈来愈小。这样, 使得不等式左边远远大于其右边, 导致网络系统始终受到严重威胁。

据国家互联网应急中心 (CNCERT) 发布的《2011年中国互联网网络安全报告》披露:

2011年境内木马或僵尸程序控制服务器IP数量为253 684个, 木马或僵尸程序受控主机IP数量为8 895 123个。

2011年境内被篡改网站数量累计为36 612个。

2011年4-12月监测到境内12 513个网站被植入网站后门, 其中政府网站1 167个。

2011年国家信息安全漏洞共享平台 (CNVD) 共收集整理并公开发布信息安全漏洞5 547个, 其中, 高危漏洞2 164个。

2011年, CNCERT共接收国内外报告网络安全事件15 366起。

2011年3-12月监测到仿冒境内银行网站的域名有3 841个;仿冒境内银行网站的服务器IP有667个。

《CNCERT互联网安全威胁报告》2012年11月的月报称, 仅在1个月内:境内感染网络病毒的终端数为近466万个。境内被篡改网站数量为8 253个, 其中被篡改政府网站数量为658个;境内被植入后门的网站数量为5 462个, 其中政府网站有294个;针对境内网站的仿冒页面数量为6 399个。

国家信息安全漏洞共享平台 (CNVD) 收集整理信息系统安全漏洞729个, 其中, 高危漏洞231个, 可被利用来实施远程攻击的漏洞有686个。

据《瑞星2012年中国信息安全综合报告》称:

2012年1月至12月, 瑞星“云安全”系统共截获新增病毒样本1 181万余个。

2012年1月至12月, 瑞星“云安全”系统截获挂马网站516万个 (以网页个数统计) 。

2012年1月至12月, 瑞星共截获钓鱼网站597万个 (以URL计算) , 瑞星拦截挂马网站攻击的总数总计5 097万次。

360安全中心发布的研究数据显示:

2012年1月至6月, 国内日均约2 835.3万台电脑遭到木马病毒等恶意程序攻击。

2012年上半年, 360安全卫士共截获新增钓鱼网站350 149家 (以host计算) , 拦截钓鱼网站访问量更是高达21.7亿次。

2012年上半年, 360安全卫士平均每月截获46.3万个挂马网页 (以URL计算) , 拦截挂马网页访问量419万次。

从以上的数据分析可知, 网络攻击真实存在, 网络犯罪令人触目惊心, 在攻击者的定罪成本 (Ocm) 和攻击者被定罪的可能性 (Pc) 不变的条件下, 我们只有在采用技术的手段同时, 增大Ocp以减少网络攻击犯罪。

3 基于安全的软件开发生命周期

为了应对日益严重的网络犯罪, 我们必须更新与完善软件工程的方法、工具和过程。

设计高质量的软件和良好的安全系统, 加大攻击者实施攻击的犯罪成本。引进软件安全开发生命周期 (Security Development Lifecycle, SDL) 是目前最有效的手段之一。SDL由13个阶段构成 (如图2所示) , 其目的一是减少软件中安全漏洞与隐私问题的数量, 二是降低残留漏洞的严重性。

(1) 教育和意识。通过对设计师、开发人员、测试工程师、文档专员等每一个与软件开发有关的人员进行系统、持续的安全培训与考试, 结合阅读安全书籍、发表安全文章等手段进行综合度量, 让所有参与软件开发的工作人员牢固树立安全意识、夯实安全基础。

(2) 项目启动。该阶段的主要工作是组建安全团队、配置Bug跟踪管理数据库并建立Bug标准。

(3) 定义并遵从设计最佳实践。采用安全设计原则 (经济机制、默认失效保护、完全中介、公开设计、权限分离、最小特权、最少公共机制、心理可接受度) , 枚举软件受攻击面的构成, 有效降低受攻击面。

(4) 产品风险评估。该阶段完成两个方面的任务:一是进行软件安全风险评估, 二是对软件涉及的隐私影响进行分级。安全风险评估一般以问卷调查的形式开展, 涉及的问题主要包括:安装问题、受攻击面问题、移动代码问题、安全特性相关问题、常规问题等。隐私影响通常分成3级。1级为最高, 当处理敏感数据, 如收集用户个人信息、不间断监控用户行为等情况发生时定义为1级。产品风险评估的目的是确定在开发软件时需要投入多大的资源。

(5) 风险分析。通过威胁建模, 系统地挖掘应用中的威胁, 对每种威胁的风险进行分级并决定适当的消减措施。

(6) 创建安全文档、工具及客户最佳实践。该阶段完成更为安全的文档的创建和安全工具的开发。所谓更为安全的文档就是充分纳入了安全信息的文档, 这些文档包括: (1) 安装文档; (2) 主线产品使用文档; (3) 帮助文档; (4) 开发人员文档。安全工具, 一般是小巧的工具, 如生成器、向导等, 主要目的是帮助用户更为方便且安全地配置系统和使用软件。

(7) 安全编码策略。在代码开发和分析时必须遵从的策略: (1) 使用最新版本编译器与支持工具; (2) 使用编译器内置防御特性; (3) 使用源代码分析工具; (4) 切勿使用违禁函数; (5) 减少潜在可被利用的编码结构或设计; (6) 使用安全编码检查清单。

(8) 安全测试策略。测试阶段要求必须进行: (1) 模糊测试; (2) 渗透测试; (3) 运行时验证; (4) 重审威胁模型; (5) 重估受攻击面。

(9) 安全推进活动。通过代码评审, 捕获安全Bug、分类, 并在工作完成时修复它。

(10) 最终安全评审。在产品交付给客户之前所进行的最终安全评审, 一般由安全团队组织进行, 其主要任务是: (1) 与产品开发团队协调; (2) 对威胁模型进行评审; (3) 对未修复的安全Bug进行评审; (4) 对工具有效性验证; (5) 签署对产品是否可发布给客户的意见。

(11) 安全响应规划。由于无法实现软件产品的绝对安全, 必须制订相应的安全响应规划, 即制订处置预案。该预案一般包括: (1) 接收漏洞报告; (2) 评估与分级; (3) 创建修复; (4) 多级测试; (5) 发布安全更新等。该过程由安全团队与开发团队共同完成。

(12) 产品发布。以CD、DVD或网络下载等方式发布产品。

(13) 安全响应执行。该阶段的工作就是一旦有新的安全漏洞报告, 即启动在第11阶段制订的安全响应预案。

与软件产品本身一样, 其开发方法也是一个动态的变化过程。再安全的方法也要由人来执行, 保障软件安全没有一劳永逸的办法, 即使SDL也在不断地改进和更新。像传统的软件工程带来了软件产业的繁荣一样, 不断完善的、基于软件安全开发生命周期的软件工程, 必将给软件产业带来质的提升与飞跃。

参考文献

[1]齐治昌, 谭庆平, 宁洪.软件工程[M].北京:高等教育出版社, 2001.

[2][美]Michael Howard, Steve Lipner.软件安全开发生命周期[M].李兆星, 译.北京:电子工业出版社, 2008.

工程数学与工程软件结合的探索 第9篇

对工程数学课程模式进行了研究和探讨, 进而提高大工程数学的教学质量。工程数学, 包括线性代数、概率论与数理统计以等数学主干课程, 是大学理、工科及经济管理各专业必修的系列、重要的通识教育基础课程, 是学生学习后续专业课程和进一步深造以及将来从事实际工作所必不可少的工程理论基础, 严密的逻辑思维能力与现代数学知识的应用能力是工程师应具备的必要的数学素养与能力。随着社会和科学技术的发展, 工程数学与科学计算、理论研究、科学实验成为重要的语言和工具, 掌握工程数学这个重要的基础, 就掌握了开启其他科学技术之门的金钥匙工程数学已经不仅是学习后继课程和解决科技问题的工具, 而且是培养学生理性思维的重要载体.它涉及人的理性思维品格和审美意识的培育, 涉及能动性与创造力的开发, 这种特殊作用是一般的专业技术教育所难以实现的.科学理论的工程数学化已经成为现代科学发展的基本特点之一, 在大学数学教育中, 工程数学课程作为其重要的组成部分是大学生学习必不可少的大学数学课程。

工程数学是高等学校各专业学生最重要的基础课之一, 在工程数学的学习过程中, 学生可以学到数学逻辑思维和相关的数学知识, 给今后学习本专业其他专业提供基础的学习方法和逻辑思维, 同时培养学生理解和运用逻辑的能力、研究和领会事物的抽象方法、认识和利用原始数据、图形的能力, 还可以培养学生的运算能力, 培养学生去综合运用工程数学方法去分析问题、解决问题的能力.因此, 工程数学课程的学习关系到学生在整个大学期间的学习质量, 关系到大学基础教学的质量, 因此工程数学是整个大学教育的重要基础部门。尤其是新建工科院校, 对工程专业的学生的工程终身教育已经是当前高等教育质量延续的必然要求。我国高等教育已经进入到了大众化时代.教育的延续性已经是完善教育质量的必经之路, 接受高等教育的大学生比例每年都有较大幅度的增长, 大学生的年龄格局和分布也不断的加大和分散, 工程数学课程教学的形式却还是以往的单一的课堂讲授式, 不能符合当前层次复杂的学生结构和工程需要, 针对这种情况, 如何让学生掌握工程数学的基本知识, 是高校数学教学工作者们迫切需要解决的问题。工程软件的发展和应用为解决这一难题提供了合理和便捷的途径, 使用工程软件等现代信息技术, 建设和共享优秀的教学资源、方便的教学方式、带动教学现代化, 使更多的学生享受到优质工程数学教育, 在这种形势下, 将工程数学的教学模式改革内化到数学素养和能力的人才培养过程中, 深化大学数学教育教学改革, 从教学计划、教学内容、教学方法、网络平台建设等环节入手, 通过对工程数学教学改革进行补充和更深层次的探讨, 提高大学生的数学素养和应用数学解决实际问题的能力。工程数学课程与工程软件的结合可以结合到多媒体学习、工程软件实践, 结合相关专业的工程要求和工程实践在课堂上提出工程数学问题, 直接让学生结束实际的工程数学问题。工程数学课程与工程软件的应用, 可以使高校以往的课堂教从教室扩展到实验室、公司、工地, 尤其是在现代信息网络技术环境下, 工程数学教学可以通过各种工程软件和网络来进行。工程数学教学资源可以多种组合方式适应各种背景学习者的需要, 整个教学过程将转变成在教室和实验室的软件模拟的协同辅导、学习和工作.工程软件还可以在网络上提供各种课题项目的数学模拟, 进而可以使数学问题软件化、工程化, 进一步提高学生的工程实践能力。还可以提供资源共享, 并在每个学习者需要的时间和地点被使用。现代信息技术条件下的工程数学课程与工程软件的结合打破了传统工程数学教学的时空限制, 以信息技术为手段, 体现个性化, 具有开放特征, 充分体现了以学生为中心, 充分发挥学生的积极性、创造性、是工程数学的教学质量得到提高, 进而提高高校基础学科的教学质量, 为其它基础学科的教学改革提供借鉴。

工程素养的形成需要一个长期、延续的过程, 对最初基础的学习方法和逻辑思维的培养是素养层次的决定因素, 对于理工类高校的大学生, 最初的大学数学素养的形成尤为主要, 在工程数学的教学模式的改革和探索是对大学素养培养的重要部分, 要不断的坚持对工程数学的教学模式的改革, 探索与先进技术, 理念的结合。

摘要:本文主要针对应用型本科工程数学课程教学模式的研究, 对工科专业的工程数学课程模式进行了改革和实践, 结合工程软件与数学课堂教学的结合, 提出了对工科专业的工程数学课程模式的改革方法。

关键词:工程数学,课程模式,改革,实践

参考文献

[1]陈学飞.中国高等教育研究50年 (1949-1999) [M].北京:教育科学出版社, 1999, 5.

[2]王子兴.论数学素养[J].数学通报, 2002.

论软件项目的进度管理 第10篇

关键词医保通系统项目进度管理

2013年6月,笔者作为项目经理参加了某保险公司医保通系统建设,主要职责是项目管理。“医保通系统”是指保险公司通过信息化手段和医院之间搭建的信息平台。医保通系统在省级公司建立医保通中心端,搭建数据库和应用服务平台,医保通前端设在医院。系统的主要功能包括:客户入院申报;探访核实的信息录入;处方信息采集和上传;处方审核;理赔金结算;统计分析功能。医保通项目历时6个月,于2013年12月成功上线。

该系统开发中,我主要担任项目管理工作。软件开发进度管理是一项软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节,在医保通系统开发过程中,我采用合理估算项目工期、工作量和技术难度,制定出项目的进度计划表;制作项目周报,及时了解项目进度,适时进行调整和动态控制;采用CPM法,识别关键任务,允许一些任务并行以及组件的复用等方法来保证项目如期完成。

一、合理估算项目工期、工作量和技术难度,制定出项目的进度计划表

首先制定项目日程主计划,内容包括项目在定义阶段、实现阶段、验证阶段、确认阶段的里程计划及主要成果物。

其次制定详细的进度表,先进行项目的工期的精确估算。在工期估算方面,我们主要采用基于公司项目估算参考表,如模块复杂度划分参考表、功能点代码行转换参数表、功能点生产率参数表、缺陷参考基准表、工作量分布参数表,对项目所需要实现的每一个功能模块在项目生命周期的每个阶段的基准规模、需求定义/设计/测试占阶段人天比例、评审占阶段人天比例、bug修复占阶段人天比例、模块规模(FP)、模块规模(LOC)进行详细的估算,同时估算出项目组每一位成员在项目生命周期的每个阶段以人天为单位的工作量,形成项目估算明细表。依据项目估算明细表,汇总统计出每一阶段/任务工作量、缺陷、详细的进度安排(包含每一阶段的开始时间、结束时间)、人员投入安排,制定出项目进度计划表。

最后在project中参照项目进度计划表相关数据填写各阶段工时值时形成项目甘特图。

二、制作项目周报,及时了解项目进度,适时进行调整和动态控制

在project中项目的计划开始、完成时间就是比较基准时间,它在项目计划做好后即可保存起来。项目开始、完成时间随项目成员反馈的任务进度进行更新,两者比较形成项目进度偏差。因此利用project的任务视图和资源视图可以随时看出目前项目进度、资源、成本与计划是否存在偏差。

每周利用project采集项目进度数据填写入度量计划表所列项目进度、里程碑进度差异等内容,按照《标准度量指标定义》中制定的度量方法和度量公式,计算度量结果,并对度量结果进行分析形成度量分析表,寻找偏差,采取行动调整偏差。综合project中反映出的项目的风险和问题形成项目周报,项目周报的主要内容有:项目进展概况、本周任务工作完成情况、下周任务计划、项目目前存在的问题和风险、度量分析表。每周举行项目例会,分析项目周报列出的进度风险和问题。

三、采用CPM法,识别关键任务

允许一些任务并行以及组件的复用采用CPM法,识别出项目的关键任务,允许关键任务以外的其他任务在机动期内收缩。而关键任务的收缩不得超过一周。当遇到关键任务延期时,就会召集大家开会,讨论找出项目延期的原因,并由主要责任人签字,把这种责任作为业绩考核的依据与工资挂钩。

四、结束语

如何加强软件系统工程项目开发质量 第11篇

1 我国软件系统的大致状况

随着经济全球化和信息全球化, 我国许多企业已经开始重视软件系统的开发, 但是现如今仍就有相当一部分企业特别是中小型企业没有掌握软件系统开发的有效方法, 无法保证软件系统项目的开发质量。

2 软件系统的基本特性

软件系统质量的好坏和符合软件系统的基本特性的情况息息相关, 所以各个企业想要加强软件系统项目的开发质量就一定要深刻了解软件系统的基本特性, 并以此为切入点, 从需求、设计、编码、测试到上线验收和使用维护这些环节着手, 加强软件系统项目的开发质量。

2.1 功能性

能够满足需求者确定需求或者隐藏要求的属性。

2.2 效率

在既定的环境下, 软件系统可以有效地使用资源量来满足使用者的需求的属性。

2.3 可移植性

软件可以从某一地方移动到另一个地方的难易程度。

2.4 易用性

使用者, 包括既定的以及未来不确定的客户能够快速使用软件的属性。

2.5 可靠性

在一定时间内, 在一定条件下, 软件系统能无障碍的执行需求者指定的任务的能力的属性。

2.6 可维护性

主要是指理解、改正、改动、改进软件的难易程度。

3 软件系统项目开发所存在的问题

3.1 软件系统项目开发方面的缺少“真正”的人才

随着我国软件产业的发展, 我国从事软件行业方面的人员正在不断迅速递增, 然而, 很多企业软件系统的管理者和相关的软件技术人员的思想还停留在过去, 并没有与时俱进, 仍旧固执的认为软件系统的好坏只跟程序编码有关, 这样就导致软件系统质量没法从根本上得到保证。

3.2 目的需求不明确, “闭门造车”

软件系统项目的开发应该是以企业客户的需求为出发点, 而在中国企业, 很多软件系统项目却是由信息技术部门提出开发的, 并没有考虑到企业实际发展过程中的真正需求, “闭门造车”, 自认为开发的软件系统完全符合企业的发展要求, 最终结果往往南辕北辙, 脱离业务需要, 往往半途而废或者彻底失败, 造成巨大时间和金钱上的浪费。

3.4 软件开发系统过程突发状况多, 时间压力大

软件系统项目的开发有许多的环节, 需要一定的周期, 有的企业客户会在中途改变需求, 有的甚至会在软件系统开发已经完成后变更需求, 这就导致软件系统需要修改或者重新制作, 带来很多问题。

因为软件系统的复杂性, 所以软件系统开发过程中时间的安排是非常困难的, 很多进度时间是需要人为的估算和猜测, 最后往往导致时间紧张, 出现问题。

3.5 测试、验收方法存在一定的问题

许多企业不重视最后的测试和验收, 他们往往认为软件的系统开发比较重要, 所以在最后测试和验收的时候经常草草了事, 并没有全面、全方位的去测试和验收, 这样对未来软件系统正常的运行带来了隐患。

4 加强软件系统项目开发质量的建议

4.1 重视人才的培养, 改变传统观念

一个软件系统开发的成功与否, 软件技术人员至关重要, 技术人员必须熟悉软件开发的需求、设计实施方案以及最后的验收测试方法等。同时, 由于现在的信息技术可谓是日新月异, 企业有必要聘请国外优秀的软件系统方面的讲师进行定期的培训, 不断更新技术人员的思想理念, 增强自身的软件开发水平。

4.2 明确客户需求, 注重沟通

软件系统开发项目的提出应该是由企业根据自身发展的要求提出, 而不是由信息技术部门提出, 企业应该根据自身的发展情况向技术部门阐述自己的立项目的、使用要求、技术指标以及开发周期等。技术部门则应该联合各方面专家对这个项目的可行性进行探讨, 然后对方案设计、实施、技术范围、团队成员进行安排和确定。至此, 该项目才能具体实施。

因为企业在不断的发展, 信息技术也在不断发展, 所以软件系统在开发过程中技术人员应该时时注意和企业客户进行沟通, 看看客户是否有新的需求变动, 对开发过程不断进行调整, 减少系统漏洞。

4.3 要对软件系统开发进行质量控制

由于客户使用需求和开发人员对软件的认识不断变化, 软件系统项目开发在时间进度和技术风险的处理上有一定的困难。所以技术部门要对软件开发进程进行项目策划。同时在各个阶段应对软件开发过程中进行质量控制、配置管理、项目监控和需求管理等。各阶段结束后应对前期的活动进行总结, 和后续的风险分析, 从而调整软件系统项目开发策略和所依赖资源。

4.4 掌握正确的软件系统测试和验收方法

软件系统测试时应该努力将软件应用场景变成最糟糕状态, 对软件系统每个细节和各种异常情况都要进行细致的检测, 比如功能方面测试、效率方面测试、可移植性面测试、易用性方面测试、安全性方面测试和恢复性方面测试等, 而不是草草了事。

5 结束语

总之, 伴随着经济全球化和信息化的脚步, 软件系统对于一个企业来说作用和地位越来越重要, 各个企业如何加强自身软件系统项目开发的质量越来越不容忽视。我们只有不断吸取经验和教训, 优化软件系统开发活动, 学习新的软件开发技术才能使我们的企业发展越来越好。

摘要:本文通过对我国软件系统的现状和现阶段软件系统项目开发过程中存在的一些问题进行了简单的阐述, 从而提出了如何加强软件系统项目开发质量的相关建议。

关键词:软件系统,开发质量,质量控制

参考文献

[1]王璐.软件项目开发过程中的风险分析[D].北京工业大学, 2008.

[2]牟宗峰.软件系统集成项目风险管理研究—以济南三台合一项目开发为例[D].中国地质大学 (北京) , 2009.

软件工程项目范文

软件工程项目范文(精选11篇)软件工程项目 第1篇1.1 研究背景随着软件工程的不断发展, 对软件工程的研究逐渐划分为两个方面:(1) 软件...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部