软件工程的定义
1983年IEEE给软件工程下的定义是:“软件工程是开发、运行、维护和修复软件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是某种神秘的个人技巧。\r\n1993年IEEE进一步给出了一个更全面的定义。\r\n 软件工程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;②研究①中提到的途径。 \r\n 概括地说,软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的科技方法结合起来,经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件发展及危机
软件发展的历程 \r\n软件危机 \r\n解决软件危机的途径
软件发展的历程
程序设计阶段\r\n程序系统阶段 \r\n软件工程阶段 \r\n第四阶段
软件危机
⑴由于缺乏软件开发经验和科学的理论指导,开发者不能准确地估计软件开发的成本和进度。所制定的成本规划可能大大低于实际的成本,实际的开发进度也可能要比计划的慢,为了赶进度往往就会牺牲软件的质量。\r\n ⑵由于缺乏使开发人员与用户进行交流的有效机制,开发人员常会犯闭门造车的错误。从而会造成用户对已完成的软件系统不满意
解决软件危机的途径
⑴采用工程化方法来开发和维护软件。软件开发不应只是个体化的劳动,而应该是由组织良好、管理严密、各类人员共同配合完成的一个工程项目,因此应该注意吸收和借鉴从事其他工程项目的行之有效的科学原理和方法。\r\n⑵采用先进的技术、方法、工具开发和软件设计。即采用先进的管理技术、规范的开发方法和模型、各种提高开发效率的软件工具等。\r\n⑶采用必要的组织管理措施。软件工是正式在解决软件危机问题的过程中形成的一门综合技术与管理两个方面的新兴学科,并逐渐成为指导计算机开发、维护、管理的理论依据。
软件过程的基本原理
软件的生命周期 \r\n软件开发阶段\r\n原理
软件的生命周期
开发阶段(development) \r\n使用阶段(use) \r\n维护阶段(maintenance)
软件开发阶段
软件工程师通常将软件的开发阶段分为下面4个子阶段:\r\n 分析阶段\r\n 设计阶段\r\n 实现阶段\r\n 测试和调试阶段
原理
1.用分阶段的生命周期计划严格管理\r\n2.坚持进行阶段评审\r\n3.实行严格的产品控制\r\n4.采用现代化程序设计技术\r\n5.结果应能清楚地审查\r\n6.开发小组的人员应该少而精\r\n7.承认不断改进软件工程实践的必要性
软件工程包含的领域
软件需求 \r\n软件设计 \r\n软件构建 \r\n软件测试 \r\n软件维护 \r\n软件配置管理 \r\n软件工程管理 \r\n软件工程过程 \r\n软件工程工具和方法 \r\n软件质量
软件生命周期模型
瀑布模型 \r\n快速模型 \r\n增量模型 \r\n螺旋模型 \r\n喷泉模型
瀑布模型
是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
快速模型
快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集,其本质是“快速”。\r\n快速原型是不带反馈环的,其优点是软件产品的开发基本上是按线性顺序进行的
增量模型(渐增模型 )
融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”
螺旋模型
其基本思想是使用原型及其他方法来尽量降低风险。
喷泉模型
喷泉模型是典型的面向对象生命周期的模型,“喷泉”一词体现了面向对象软件开发过程的迭代和无缝特性 。
结论
这次课题,我组选定了“软件工程”这一与时俱进的课题,在以认真严肃的态度,良好团结的合作氛围来进行过程中,我们明白了软件在各个领域都有着它不可取代的位置,更加的激励着我们将其作用更好地运用,因“利”制宜,发挥其的长处。同样的,在课题进行时也发现了不少问题,但我们都成功解决,而且,我相信,下一次,我们会做得更好。 --------
此次课题,我们小组选择了"软件工程综述"这一课题。在研究该课题的过程中,我与组员一同去了图书室借阅了相关的一些书籍,一同在机房里查找相关资料,并将那些资料整合。在此次与组员合作中,我懂得了合作的重要性——合作可以使我们取得事半功倍的效果。从本次的课题研究中我学习到了软件的无所不在以及深奥,我也懂得光凭这样一次小小得到研究根本无法全面地了解软件,但是由于时间有限,我们小组没有办法再进行进一步的研究。但是还是初步的了解了软件的概念以及软件危机方面的知识。最后我们小组还需要努力在以后的学习中逐渐认识软件了解软件明白软件的价值。我们还需要努力!!!——————
谢谢观赏