软件工程导论---概述软件工程

软件工程

什么是软件工程?

  • 概括地说,软件工程是指导计算机软件开发和
    维护的工程学科。采用工程的概念、原理、技术和
    方法来开发与维护软件,把经过时间考验而证明正
    确的管理技术和当前能够得到的最好的技术方法结
    合起来,以经济地开发出高质量的软件并有效地维
    护它,这就是软件工程。

  • 其他的定义1
    • 1968年在第一届NATO会议上曾经给出了软件工程
    的一个早期定义:
    – 软件工程就是为了经济地获得可靠的且能在实际机器上有
    效地运行的软件,而建立和使用完善的工程原理。
    30

  • 其他的定义2
    • 1993年IEEE进一步给出了一个更全面更具体的定义

    – 软件工程是:
    • ①把系统的、规范的、可度量的途径应用于软件开发、运行和维
    护过程,也就是把工程应用于软件;
    • ②研究①中提到的途径。

软件工程发展阶段

40年来,软件工程已经历了四个重要发展
阶段:
1.第一代软件工程 -- 传统的软件工程
2.第二代软件工程 -- 对象工程
3.第三代软件工程 -- 过程工程
4.第四代软件工程 -- 构件工程

软件工程的基本原理

• 用分阶段的生命周期计划严格管理
• 坚持进行阶段评审
• 实行严格的产品控制
• 采用现代程序设计技术
• 结果应能清楚地审查
• 开发小组的人员应该少而精
• 承认不断改进软件工程实践的必要性

软件工程方法学

• 通常把在软件生命周期全过程中使用的一整套技术
的集合,称为软件工程方法学。
• 软件工程方法学包括三个要素:
– 方法
– 工具
– 过程

软件工程三个要素

• 软件工程方法
– 是完成软件开发的各项任务的技术方法,为软件开发提供
了“如何做”的技术。
• 软件工具
– 为软件工程方法提供了自动的或半自动的软件支撑环境。
• 软件工程的过程
– 是将软件工程的方法和工具综合起来以合理、及时地进行
计算机软件开发。

常用的方法学

两种主要方法学:

• 传统方法学
• 面向对象方法学

传统方法学

• 也称为生命周期方法学或结构化范型
– 它采用结构化技术(结构化分析、结构化设计和结构化实现
)来完成软件开发的各项任务,并使用适当的软件工具或软
件工程环境来支持结构化技术的运用。
– 这种方法学把软件生命周期的全过程依次划分为若干个阶
段,然后顺序地完成每个阶段的任务。

面向对象方法学

面向对象方法学的出发点和基本原则

– 是尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接
近人类认识世界解决问题的方法与过程,从而使描述问题的问题空间
(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽
可能一致。

优点:

– 降低了软件产品的复杂性,提高了软件产品的可理解性,
简化了软件的开发和维护工作。
– 促进了软件重用。

面向对象方法学的特点

• 把对象(object)作为融合了数据及在数据上的操作行为的统
一的软件构件。
• 把所有对象都划分成类(class)。每个类都定义了一组数据和
一组操作。
• 按照父类(或称为基类)与子类(或称为派生类)的关系,把若
干个相关类组成一个层次结构的系统(也称为类等级)。
• 对象彼此间仅能通过发送消息互相联系。(封装性)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉卧考场君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值