软件工程论文15篇Word格式.docx
- 文档编号:22260918
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:76
- 大小:70.54KB
软件工程论文15篇Word格式.docx
《软件工程论文15篇Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程论文15篇Word格式.docx(76页珍藏版)》请在冰豆网上搜索。
2)ISO9000系列标准适用领域广阔。
它的出现最初针对制造行业,但现已面向更为广阔的领域,这包括:
(1)硬件:
指不连续的具有特定形状的产品,如机械、电子产品,不只是计算机硬件。
(2)软件:
通过支持媒体表达的信息所构成的智力产品。
计算机软件当然属于其中。
(3)流程性材料:
将原料转化为某一特定状态的产品。
如,流体、粒状、线状等,通过瓶装、袋装等或通过管道传输交付。
(4)服务:
为满足客户需求的更为广泛的活动。
ISO9000系列标准的内容
2000版ISO9000系列标准的内容
ISO9000:
2000质量管理体系基本原则和术语
ISO9001:
2000质量管理体系——要求
ISO9004:
2000质量管理体系——业绩改进指南
ISO19011:
2000质量和环境审核指南
2000版ISO9000族标准的特点
新版ISO9000族标准对比现行的1994版而言,具有以下的特点。
1.面向所有组织,通用性强。
新版ISO9000族标准适用于所有的产品类别、所有的行业和各种规模的组织,总之,新版标准面向所有组织,通用性很强,将成为适用范围最广的国际标准之一,表现在:
(1)新版标准消除了1994版对硬件产品制造业的偏向性。
2000版标准巧妙地采用了“产品实现”、“动作控制”、“过程的测量和监控”和“产品的测量和监控”等词汇和要求,消除了行业的偏向性,对非制造业贯彻ISO9000族标准所带来的方便是不容置疑的。
(2).为特种行业制定行业附加要求奠定了共同的基础。
有些行业确有其特殊性,2000版本标准允许在ISO9001基础上增加行业特殊要求的条款。
这样既能使所有组织的质量体系基本要求具有一致性,又确保行业特殊要求的适用小性。
已有软件.通讯.汽车.等行业都已用此方式制定各自的行业特殊要求。
(3)。
‘‘允许裁剪“的规定使2000版ISO9001标准的适用范围扩大到1994版ISO9001/9002/9003/三个保证摸式的标准户群。
三个保证没摸式的差异都在第7章产品实现过程中,2000版ISO9001,1.2允许对第7章要求中不影响满足顾客和法规要求,不及组织责任的标准条款进行裁剪,从扩大了ISO9001标准的适用范围,又获得”以一顶是三(三个质量保证摸式),减少标准数量的功效。
(4)。
考虑了小型企业的适用性。
2000版标准保留了大小企业都是必要的条款,有的还进行强化,对小型企业可能不太上适合的具体要求则进行弱化。
使2000版ISO9001标准的通用性更强了。
2.确立八项原则,统一留念理念。
3.鼓励过程方法,操作性强。
2000版标准的修订采用了过程摸式,提倡用过程方法来识别和建立体系。
4.强化关键:
领导作用。
5.自我评价测量,突出改进。
6.关心各相关方,利益共享。
ISO9000系列标准原本是为制造硬件产品而制定的标准,不能直接用于软件制作。
后来曾试图将ISO9001改写用于软件开发方面,但效果不佳。
于是,以ISO9000系列标准的追加形式,另行制定出ISO90003标准。
这样,ISO90003就成了用于“使ISO9001适用于软件开发、供应及维护”的“指南”。
不过,在ISO90003的审议过程中,日本等国曾先后提出过不少意见。
所以,在内容上与ISO9001已有相当不同。
ISO90003(即GB/T19000.394),全称《质量管理和质量保证标准第三部分:
在软件开发、供应和维护中的使用指南》。
制定与实施ISO9000系列标准
1)强调质量并非在产品检验中得到,而是形成于生产的全过程。
ISO90003叙述了需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件;
规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。
ISO90003的核心思想是“将质量制作入产品之中”。
其实道理是很明显的,软件在完成编码以后,不论花多大的力气用于测试,提高质量都是有限度的,更不必说需求规格说明存在的问题常常是测试无法发现的。
事实上,软件产品的质量取决于软件生存周期。
2)为把握产品的质量,ISO9000要求“必须使影响产品质量的全部因素在生产全过程中始终处于受控状态”。
为使软件产品达到质量要求,ISO90003要求软件开发机构建立质量保证体系。
首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的决定。
对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。
3)ISO9000标准要求证实:
“企业具有持续提供符合要求产品的能力”。
质量认证是取得这一证实的有效方法。
产品质量若能达到标准提出的要求,由不依赖于供方和需方的第三方权威机构对生产厂家审查证实后出具合格证明。
显然,如果这一认证工作是公正的、可靠的,其公证的结果应当是可以信赖的。
正确实施产品质量认证制度自然会在促进产品质量提高,指导消费者选购产品,提高质量合格产品企业的声誉,以及节省社会检验大量费用等方面发挥积极作用。
生产企业为了达到质量标准,取得质量认证,必须多方面开展质量管理活动。
其中,企业负责人的重视以及企业全体人员的积极参与是取得成功的关键。
4)ISO9000标准还强调“质量管理必须坚持进行质量改进”。
贯彻ISO9000标准是企业加强质量管理、提高产品质量的过程,这个过程包含许多工作绝非轻而易举、一蹴而就所能奏效的。
即使已经取得了质量认证也不能认为一劳永逸而放松质量管理。
实际上认证通常以半年为有效期。
取得认证之后尚需接受每年1~2次的定期检查,其目的在于促使企业坚持进行质量改进。
浅析软件工程
摘要:
软件工程专业是计算机领域发展最快的学科分支之一,软件工程(softwareengineering,简称为se)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
这一学科包括许多的内容,具体来讲有程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等。
当今社会,网络化迅速发展,软件的应用领域越来越广。
现在比较普遍的软件有电子邮件,人机界面,办公套件,操作系统,游戏等。
目前,基本上每个行业都会某种程度的运用到计算机软件。
这些应用对于推动经济和社会的发展起到了举足轻重的作用,提高了工作效率,改善了人们的生活质量。
关键词:
软件工程计算机领域程序设计开发工具设计模式生命周期、软件开发
1概述
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
我们究竟是将软件的开发看成一门科学,还是将其看成是一门工程,关于这个问题已经讨论了很长时间了。
事实上,软件的开发具备这两者的特征。
但是我们不能将二者混淆了。
大多数人认为软件工程基于计算机科学和信息科学就像是传统意义上的工程学之于物理和化学。
在世界各个国家,尤其是美国大约有40%的软件工程师都有计算机科学的学位。
他们可能不经常运用到计算机科学上的知识,但是会经常运用到软件工程上的知识。
许多应用都需要软件工程,在软件开发的许多程序中也需要软件工程。
软件工程的主要作用就是指导软件项目的方方面面。
在软件工程中,软件开发与各种市场活动紧密相连。
软件工程的方法学认为程序员在开发软件的时候是处在一个团队中的,而且在编写程序时要符合软件的需求,设计,以及客户的利益。
伴随着开发技术的不断进步,软件开发过程也在不断的改进。
从早期的瀑布式(waterfall)的开发模型直到最近开始兴起的敏捷开发方法(agile),表现出来的是随着时代的变化,软件产业对于开发过程的认识也在不断的变化,对于各种类型项目的理解方法也在发生着变化。
在美国曾经有权威机构对软件组织的绩效做过评估,所得到结论是:
软件工程的专业分工不足,是造成品质低落、时程延误、预算超支的最关键因素。
2003年,thestandishgroup年度报告指出,在他们调查的13522个专案中,有66%的软件专案失败、82%超出时程、48%推出时缺乏必需的功能,总计约550亿美元浪费在不良的计划、预算或软件估算上。
2软件工程的需求分析
有一种观点认为软件工程是学习怎么做软件的,对吧?
我认为,这种观点算对,但不是全对。
得到一个软件产品,自然是软件工程的目的所在,但是软件工程所包含的却不仅仅是这些。
就拿软件业界比较常见的例子来给大家讲一下,这个例子就是盖房子,我们盖房子,是不是就买块地,然后准备好建材,就哐当哐当地开始建房子了呢?
大家明白不是这样,要建好一座房子,先要对土地进行测量勘察,确定可以在上面建房屋,之后还得先规划出整个房子的蓝图来,接下来才是对根据蓝图开始建房子。
建好房子后,还得经过一些检测,比如甲醛有没有超标啊,包工头有没有偷工减料啊,这些都合格之后才能交付使用。
于是有人入住了,住久了,发现浴室漏水,那就得修补一下。
再住久了,住了几十年,房子旧得不成样子了,这时候它的寿命也到了终点了。
软件工程之所以叫软件工程,就是因为它使用了工程学方法来帮助软件开发,建筑也是一门工程学,所以它们之间是会有些共通之处的,不信?
请看:
首先,我们在对土地进行测量勘察的时候,是在确定它是否适宜建房子,在软件工程上来讲,这个术语叫“可行性分析”,可行性分析的任务就是确定开发这个软件是否在技术上可以做到,在资金上有充足支持,在市场上能够受欢迎,如果答案是肯定的,那么就可以继续下一步的开发步骤。
规划
房子的蓝图,在软件工程上被分为两个过程:
“需求分析”、“设计”。
需求分析就是得到软件需要做什么,需要实现什么功能。
而设计就是告诉开发人员怎么实现这些功能。
也就是规划出软件的一个蓝图,在“编码”阶段再对其进行实现,这就对应着建房的关键阶段,就是按照蓝图盖好房子啦。
房子在入住前需要检测是否合格,软件在交付给用户使用的时候自然也需要检测是否合格,这个阶段叫做“测试”。
检测合格了,那就可以交付给用户使用,在市场上销售。
软件不可能完美无缺,所以在使用过程中,一定会出现某些问题,这时候就要将问题提交给软件开发人员,修复问题,这个阶段就是软件过程中的“维护”阶段。
过了一段时间,这段时间可能很长,也可能很短,这软件已经不适应生产力的发展了,那么就可以正式宣告这软件寿终正寝了,至此,软件的生命周期才正式结束。
我们还要注意,软件生命周期包括制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护这六个阶段,是指一个计算机软件从功能确定、设计直到不再使用该软件的全过程。
软件工程,正是贯穿在一个软件的整个生命周期中的。
从开发某个软件的计划被提起或者立项,软件工程就开始发挥着作用,用自己的一套方法体系,来指导软件开发的整个过程。
因此软件工程不等于编程,编程只是软件工程整个过程中的一个重要环节而已。
据统计,在整个开发周期中,平均编码这个过程只占了整个周期的大约30%的时间。
3软件工程原则
软件工程学主要是用来对软件开发和维护进行指导,是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完整的工程化原则。
它充分的运用计算机科学、数学及管理科学等方面的知识,并借鉴传统工程的原则、方法来完成开发软件的任务,这样就能够最大限度的开发高质量的软件,并且能够减少成本。
boehm是一位知名的软件工程专家,在借鉴了许多的专家和学者的经验之后,再加上自己在开发软件方面的经验,在1983年总结出了软件工程的七条基本原理:
①用分阶段的生存周期计划严格管理;
②坚持进行阶段评审;
③对产品严格把关;
④在技术上运用现代程序设计;
⑤结果能清楚地审查;
⑥开发小组的人员不要太多,但是这些人员要有真才实学;
⑦不断对软件工程实践进行改进是很有必要的。
一般来说,一个软件方法往往规定了明确的工作步骤、具体的描述方式以及确定的评价标准。
软件开发的基本方法包括结构化方法、面向对象方法等。
随着软件工程学的发展和软件开发的实践,软件开发模型依次被提出:
瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、形式化方法模型等。
目前,已经推出很多软件开发工具,如需求分析阶段的psl/psa系统;
编码阶段的各种语言编译工具、编辑程序、连接程序等,都是软件编码阶段的软件工具;
测试阶段的测试数据产生程序、动态分析程序、静态分析程序等软件自动测试工具;
维护阶段的版本控制系统等。
从广义上来讲,软件分析、设计阶段的各种图形工具,如数据流(dfd)等也可以称为软件开发工具。
从技术和管理上采取多项措施后,组织实施软件工程的最终目的是保证项目成功,即达到以下几个主要目标:
①使开发成本最少;
②达到预期的软件功能;
③软件性能更好;
④使软件易于移植;
⑤最大限度降低维护费用;
⑥按时完成开发任务,及时交付使用。
4结束语
软件工程的方法的意义是非常广泛的。
具体来讲包括项目管理,分析,设计,程序的编写,测试和质量控制。
有些人认为人们要认真遵守这些方法进行软件开发,但是有些人还没有足够的能力实施这些方法。
事实上,具体运用哪种方法开发软件是受很多方面因素的限制的。
信息系统开发中面向对象软件工程方法的应用分析
随着科学技术的不断进步,计算机硬件也进入了高速发展阶段,软件开发方法也随之得到不断更新。
面向对象(oo)方法于60年代后期被提出,但花了近乎20年才被人们广泛认识和使用。
如今,面向对象软件已成为行业内的主流,并在软件行业中占据着非常重要的位置。
传统的软件工程方法常把数据与处理的过程分开,大大增加了软件开发的难度。
面向对象方法吧软件工作视作离散解空间对象的结合,并使问题空间与解空间的结构、描述模型相一致,简化了程序的同时降低了软件系统开发的难度。
目前,国内普遍采用传统的结构化分析设计和面向对象程序相结合的方式进行项目开发,并且大部分项目也取得了成功。
但这种方法无法让实现两者的平滑过渡及连续性,并且不利于软件重用、维护、测试等工作的进行。
如果全过程仅采用面向对象软件工程方法,则能确保信息系统开发的完整性和一致性。
由于面向对象数据库产品尚未完善,因此此方法很难应用于实际中。
为此,必须制定相应的规则和算法,确保面向对象分析、面向对象设计的结果能正确地向关系数据库转换。
一、关于面向对象软件工程
1.面向对象。
面向对象主要是指在满足客户需求的基础下,将需求合理构建成独立的业务模块,之后利用多态、继承、封装、抽象的编程思想对业务逻辑进行构建,使之与业务需求相一致,最后将各模块整合以达到最佳的预期效果。
2.面向对象软件工程。
面向对象软件工程时面向对象技术和软件工程相结合的产物。
面向对象技术贯穿到面向对象软件工程的全过程,并将过程中形成的面向对象分析、面向对象设计和面向对象程序设计三部分,贯穿到软件工程的各个相应阶段。
面向对象软件工程所采用的具体模型不外乎以下几种:
整体——部分模型、类——对象模型、对象模型、分类模型和状态模型。
3.面向对象的方法。
随着时代的发展,面向对象分析和面向对象设计的理论和技术都得到了逐步完善,软件开发方法也不断地推陈出新。
国内外目前已衍生出多种的面向分析方法,其中最有影响力的主要有:
booch方法、rumbaugh方法、coad和yourdon方法、jacobson方法、统一的ooa方法(uml)。
从面向对象分析到面向对象设计是一个将模型逐渐扩充的过程。
在这个过程中,主要考虑的是如何分析处理问题,对于与特定计算机相关的问题则可以忽略不计。
面向对象设计可以分为高层设计和低层设计两个阶段,高层设计主要用于建立体系整体架构,低层设计则主要用于对类的详细设计。
二、面向对象方法在医院收费信息系统的应用
为了更好地理解面向对象软件工程方法在信息系统开发中的应用,我们采用了医院的收费信息系统为例。
首先,可将医院收费的需求构建成三个独立的业务模块——功能模型、动态模型、对象模型。
1.功能模型
对收费信息系统进行业务分类,其中主要包括划价和查询统计两个子系统。
分类的目的是为了业务模块的构建更合理清晰,节省和减少了系统操作人员的工作时间和工作量。
病人缴费以后,操作人员可通过划价子系统输出其收费单据,并按有关规定将单据导入数据库中。
如果病人想清楚医院的具体收费,操作人员可键入查询条件,从而为病人输出相关单据。
2.动态模型
医院收费信息系统被划分为两个子系统,其中划价子系统的动态模型主要显示为一些列的前台操作,其主要表现为:
病人请求→划价员根据相关单据进行划价;
病人付款→操作人员打出收据→将信息导入数据库→修改记录。
查询统计子系统跟划价子系统类似,主要均是由病人提出请求,操作员再根据病人需求键入查询条件,从而输出病人的相关统计表单。
3.对象模型
本系统主要涉及到的重要的类模型为——库存类图、人员类图和单据类图。
(1)库存类图。
库存类模型所增加的属性(库存量、生产日期、保质期)主要跟药物和其特性密切相关。
医院内各种药物及材料都标明了库存量和保质期,而药品则常被细分为:
西药、中药、中成药。
(2)人员类图。
病人和医院工作人员均继承在人员类中,其中病人是医院收费信息系统的主角,划价请求、查询请求、缴费等划价子系统业务都是病人类的方法。
医院工作人员类又可细分为三个子类,包括医生类、收费员类和操作员类。
医生类是必然的存在,病人的病情及其主治医生,这些都需要存档。
操作员是除病人外在系统中的又一主角,查询、划价、统计均是其工作。
由此可见,系统的操作运行离不开操作员。
收费员的工作极为简单,只需进行收费操作即可。
(3)单据类图。
单据可分为治疗单据和收费单据。
治疗单据在病人治疗后由医生开出,单据上主要标有:
单据号、医生和病人的姓名、日期等项目。
其中父类为单据号、医生和病人的姓名,子类为治疗项目如手术项目类、药品项目类等。
收费单据时是系统根据治疗单据划价、病人缴费后所打印出的凭据。
其父类为收费项目类,子类则为药品收费项目类、手术收费项目类等。
由于单据的不同,子类会根据其属性而有所变化,因而系统可以根据需要打印出不同类别的单据。
软件工程在“软件开发设计实训”课程中的应用
笔者所在学院的软件工程系是成立于2005年的新专业,为校级特色专业。
近年来,随着对软件工程特色专业建设进程的推进,课程体系日趋完善。
针对软件工程学科具有理论多且实践性极强的特点,本系较大幅度地加大了实践类课程和环节所占的比例,“软件开发设计实训”便是其中很重要的一门实践课程。
由于软件工程学科发展速度很快,在软件产业不断发展,全国对高素质的软件人才的需求量激增的形式下,迫切需要研究和探索实践类课程的教学模式,激发学生学习兴趣,以更有效的手段和方式提高教学和指导质量,为培养更加符合社会实际需要的软件开发人才打下坚实基础。
在我校教改基金的资助下,依托软件工程教学团队,本文对将软件工程应用于“软件开发设计实训”课程的教学模式及主要措施进行探讨。
1 选择适当的软件工程过程
“软件开发设计实训”课程的主要目的是使学生学会用面向对象的设计方法设计实际系统。
结合软件工程学科的发展和应用现状,软件开发过程主要采用rup(rational unified process,统一软件开发过程)的方式组织软件开发。
rup是风险驱动的、基于use case(用例)技术的、以架构为中心的、迭代的、可配置的软件开发流程。
rup分为初始、精化、构造和交付四个阶段,各阶段涉及多种工作流。
rup的核心工作流主要包括:
需求捕获工作流:
需求捕获通过对问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。
需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。
分析工作流:
分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。
精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。
设计工作流:
设计的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。
系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。
实现工作流:
实现(实施)是关于把设计模型转换成可执行代码的过程。
从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。
实现工作流是构建阶段的焦点。
测试工作流:
测试是一项相当主要的工作。
测试工作流贯穿于软件开发的整个过程。
它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。
测试是为了找出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 论文 15
![提示](https://static.bdocx.com/images/bang_tan.gif)