一、概论
1.定义
软件的定义:
计算机科学百科全书:计算机系统中的程序和文档;
软件的特点:
系统维护占大多数时间。
软件的种类:
系统软件:操作系统,编译程序
支撑软件:数据库
应用软件
2.软件工程的起源
1947年冯诺依曼提出“程序设计”的概念,开启了软件设计时代。
1968年第一次提出“软件工程”概念(北大西洋公约组织在德国的软件开发会议),并倡导以工程的原理来开发软件,以此解决软件危机。(标准化)
软件工程定义:以工程化的方法制作软件的工程。(为什么要强调这是一个工程呢为在冯诺依曼提出程序设计后,软件诞生,但开发毫无效率,没有标准化,导致了软件危机,所以需要工程化的方法、原则、原理,进而诞生软件工程。)
3.软件工程的本质和基本手段
从问题到软件开发过程中需要建立模型:
模型:对事物抽象本质的概括。
建模:找到解决问题的一般途径。
4.软件工程框架
软件工程可定义为三元组:<目标,原则,活动>
二、软件生存周期
1.软件生存周期过程的概念
Q1:软件开发有哪些活动一即要做哪些映射br> Q2:应如何正确组织开发活动,形成求解软件的逻辑/p>
整体框架:
2.过程分类
(1)基本过程(primary processes)
是指那些与软件生产直接相关的活动集。如:开发,维护等。
(2)支持过程(supporting processes)
是有关各方按其目标所从事的一系列支持活动集。如:文档,评审,验证。
(3)组织过程(institutional processes)
是指那些与软件生产组织有关的活动集。如:管理,基础设施,人力资源等。
(1)瀑布模型将软件生存周期的各项活动规定为依固定顺序而连接的若干阶段工作;
(2)瀑布模型规定了每一阶段的输入,以及本阶段的工作成果,作为输出传入下一阶段。
优点:
每阶段进行复审,支持用户参与。
缺点:
客户必须完整、清晰的表达他们的需求。
缺乏灵活性。
项目结束之前不能演示系统能力。
3.2增量模型
该模型有一个假设,即需求可以分段,成为一系列增量产品,每一增量可以分别地开发。
3.4喷泉模型
特征:迭代,无缝
与面向对象技术的关系

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!