感谢各位大佬的无私分享,感谢各位大佬的默默帮助。
注:
1.参考资料:《软件工程导论》(第6版,张海潘 牟永敏 编著)
2.电子资料下载 [ 提取码 : if42 ]
( 本电子资料不得用于任何商业用途。仅仅提供学习,交流用途,本博客不承担任何相关责任)
~ ~ ~ Oops:本文内容来自于对《软件工程导论》(第6版,张海潘 牟永敏 编著),仅为个人学习记录,所以一下的学习观点只限于自己的知识层面。如涉及版权问题请版权方联系我。
是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即“两低一高” 【问题:质量低、效率低、成本高。】
软件危机也成为“软件萧条(depression)”或“软件困扰(affliction)”
大事件, 施工的过程,工程学科 。 施工过程: 分析 -> 设计 -> 实现 ->维护
通俗的说: 软件工程是一门指导计算机软件开发和维护的学科。
(1)NATO定义:软件工程就是为了经济地获得可靠的且能在机器上有效地运行的软件,而建立和使用 完善的工程原理
(2)IEEE定义:①把系统的、规范的、可度量的途径应用到软件开发、运行和维护过程;②研究①中提 到的途径
(1)软件工程关注于大型程序的构造。
(2)软件工程的中心课题是 控制软件开发过程中的复杂度。
(3)软件经常变化。
(4)开发软件的效率非常重要。
(5)和谐的合作开发是开发软件的关键。
(6)软件必须有效的支持他的用户。
(7)在软件工程领域中通常由具有一种文化背景的人替具有另一种具有文化背景的人创造产品。
(1)用分阶段的生命周期计划进行严格管理 。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)结果应该能清楚的审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。
三个要素:1.方法2.工具3.过程。
目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
软件生命周期由软件定义
、软件开发
、和运行维护
三个时期组成,每个时期又可进一步划分成若干个阶段。(三个时期八个阶段) 三个时期八个阶段:
三个时期:软件定义、软件开发、运行维护
八个阶段:(1)问题定义 (2).可行性研究 (3).需求分析 (4).概要设计 (5).详细设计 (6).编码和单元测试 (7).综合测试 (8).软件维护
(1)瀑布模型:文档驱动、线性迭代、一次交付。
(2)快速原型:需求驱动、快速构建、演示产品。
(3)增量模型:构件驱动、逐步构建、分批交付。
(4)螺旋模型:风险驱动。
(5)喷泉模型:面向对象、迭代开发。
各种模型说明
敏捷过程
宣言:
(1)个体和交互胜过过程和工具 (2)可以工作的软件胜过面面俱到的文档 (3)客户合作胜过合同谈判 (4)响应变化胜过遵循计划
“极限”二字的含义是把好的开发实践运用到极致。
极限编程的有效实践:
(1)客户作为开发团队的成员 (2)使用用户素材 (3)短交付周期 (4)验收测试 (5)结对编程 (6)测试驱动开发 (7)集体所有 (8)持续编程 (9)可持续的开发进度 (10)开放的工作空间 (11)及时调整计划 (12)简单的设计 (13)重构 (14)使用隐喻。
1.理解软件危机的概念,表现形式,原因。
2. 理解软件工程的基本概念和基本原理,生命周期。
3. 理解 软件到底是什么。
4. 了解软件开发的模型。
参考博文:
https://blog.csdn.net/guttaoqibao/article/details/77970581
http://www.wodefanwen.com/lhd_2lvlr7ikeb8c83h0eor6_1.html
https://wiki.mbalib.com/wiki/%E7%80%91%E5%B8%83%E6%A8%A1%E5%9E%8B