软件工程(一)概述

一、软件的定义及本质特征

软件是软件工程的研究对象,也是软件工程的产品形态与客观存在。

工程是将理论和只是应用于实践的科学,其目的是经济有效地解决实际问题。

软件=程序+数据+文档

  • 程序:计算机可以接受一系列指令,运行时可以提供所要求的功能和性能
  • 数据:使得程序能够适当地操作信息的数据结构。
  • 文档:描述程序地研制过程、方法和使用的图文资料。

软件具有复杂性一致性可变性不可见性

二、软件工程发展目前面临的主要挑战

软件开发面临诸多挑战,如客户不满意、项目过程失控、风险与成本问题、无力管理团队等等。

  • 客户不满意:交付的许多功能不是客户需要的;交付的日期没有保障;客户使用时发现许多bug
  • 项目过程失控:客户需求变化频繁,无力应对;无法预见软件的交付质量;对流程盲目遵从,忽视客户业务价值
  • 风险与成本问题:开发团队专注技术、忽视风险;无能力预测成本,导致预算超支
  • 无力管理团队:无法评估开发人员能力及工作进度;困扰于如何提升团队的能力与效率

三、软件工程的基本概念及组成要素:过程、方法、工具

软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工程化应用到软件上,以及对上述方法的研究。

软件工程的过程

问题定义-需求开发-软件设计-软件构造-软件测试

 

软件工程方法

  • 面向过程:以算法作为基本构造单元,强调自顶向下的功能分解,将功能和数据进行一定程度的分离。
  • 面向对象:以类为基本程序单元,对象是类的实例化,对象之间以消息传递为基本手段。
  • 面向构件:寻求比类的粒度更大的且易于复用的构件,期望实现软件的再工程。
  • 面向服务:在应用表现层次上将软件构件化,即应用业务过程由服务构成,二服务由构建组装而成。

 

软件工程工具

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值