软件工程学习笔记1

本文探讨了软件工程的核心组成部分——程序、数据和文档,并深入解析了软件的复杂性、一致性和不可见性等特性。介绍了软件工程的定义、目标以及基本要素,包括过程、方法和工具。此外,还提到了软件开发过程中的关键策略,如软件复用、分而治之、逐步演进和优化折中,旨在创建高质量、经济有效的软件产品。

软件的定义:

软件工程=程序+数据+文档

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

软件的本质特性:

软件具有复杂性、一致性、可变性和不可见性等固有的内在特性,这是造成软件开发困难的根本原因。

一致性:

  • 软件不能独立存在,需要一幅于一定的环境(如硬件、网络以及其他软件)
  • 软件必须遵循人为的惯例并适应已有的技术和系统
  • 软件需要随接口不同而改变,随时间推移而变化,而这些变化时不同人设计的结果

可变性:

  • 人们总认为软件是易修改的,但忽视了修改所带来的副作用
  • 不断的修改最终导致软件的退化,从而结束其生命周期

不可见性:

  • 软件是一种“看不见,摸不着”的逻辑实体,不具有空间的形体特征
  • 开发人员可以直接看到程序代码,但是源代码并不是软件本身
  • 软件是以机器代码的形式运行,但是开发人员无法看到源代码时如何执行

什么是软件工程:

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

软件工程的目标——创造“足够好”的软件

  • 较低的开发成本
  • 按时完成开发任务并及时交付
  • 实现客户要求的功能
  • 具有良好的性能、可靠性、可扩展性、可移植性等
  • 软件维护费用低

软件工程的基本要素:

  • 过程:支持软件开发各个环节的控制和管理
  • 方法:完成软件开发任务的技术手段
  • 工具:为软件开发困难提供自动的或半自动的软件支撑环境

软件开发过程:


软件工程方法:

软件工程工具:

软件开发的基本策略:

  • 软件复用:构造一个新的系统不必从零做起,直接复用已有的构建进行组装。构建是经过反复使用验证的,由其组成的新系统具有较高的质量
  • 分而治之:将一个复杂的问题分解成若干个简单问题,然后逐个解决来源于人们生活与工作的经验,完全适合于技术领域
  • 逐步演进:软件开发是自底向上逐步有序的生长过程。小步快跑:每走完一步再调整并为下一步确定方向,直到终点
  • 优化折中:优化:优化软件的各个质量特性,如运行速度、资源利用、用户体验。折中:通过协调各个质量特性,实现整体质量的最优

产品质量维度:

质量模型:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值