Content
-
- 初识软件工程
- 编写高质量的代码
- 链接 软件工程(82讲)清华大学软件学院刘强.
初识软件工程
- 软件无处不在
- 软件的本质特性
- 软件工程的产生与发展
- 软件工程的基本概念
- 软件质量实现
- 业界人士谈软件工程
什么是软件p>
- 软件 = 程序 + 数据 + 文档;是嵌入式的数字化知识
程序:后台代码,提供功能
数据:软件运行需要的各种数据信息,以及数据结构
文档:描述开发细节的文档和系统使用的用户文档
软件的四个本质特性,固有的内在特性:
复杂性、一致性、可变性、不可见性 (是软件开发困难的根本原因;软件开发过程难以控制)
-
可变性,软件只要投入使用,就一直在变,而且是随心而变
人们总是认为软件很容易修改,但是修改是有副作用的,不断地修改会导致软件退化
成功的软件都是会发生演化的;控制变更,从而保持高质量 -
不可见性,软件是一种逻辑实体,缺乏合适的几何表达方式
开发人员太像 皇帝的新衣 里的裁缝
软件工程 发展历史
- 史前时代 (1956 ~ 67)
- 瀑布过程模型 (68 ~ 82)
- 质量标准体系 (83 ~ 95)
- 敏捷开发 (90年代至今)
什么是软件工程p>
- 将系统性的、规范化的、可定量的方法,应用于软件的开发、运行和维护 即工程化思想应用到软件上
目的:创建 足够好 的软件(低成本、按时、功能实现、维护低费用、具有良好性质)
软件开发策略
软件复用、分而治之、逐步演进,优化折中
软件工程的 Wasserman 规范
为开发高质量的软件产品提供一个工程框架
软件工程三个基本要素,过程、方法、工具
- 过程:向下翻
- 方法:面向过程、面向对象、面向构件、面向服务
- 工具:建模工具、构造工具、测试工具、重构工具、管理工具
理解知识点和思想,无需死记硬背
下载并学会使用,Axure RP 9
络上免费的Axure 注册码、license+key,使用有风险
链接 学Axure. 20.3.2
软件质量,
包括 过程质量、内外部质量、使用质量
质量,就是软件产品对于某个(些)人的价值,通常指用户
正确的软件,软件的正确运行;是两个概念
- David Garvin 质量维度,通用的 (不止软件)
ISO9126 质量模型,用来评价软件质量,包括
功能性、可靠性、易用性、效率、可维护性、可移植性
质量不是测出来的,是开发过程中一步步构建出来的
商业目标决定质量目标 (未必非要零缺陷) 20.3.3
开发人员:
极强的代码阅读理解以及书写能力
极强的责任心、职业道德、 会协调能力
编写高质量的代码
- 编码过程与规范
- 良好的编程实践
- Python集成开发环境
- 代码静态检查
- 代码性能分析
- 结对编程实践
- 刘贺谈软件工程
高质量的代码应该是 可读性强、易于维护、简洁高效的
软件编程规范,就编写代码的规则的集合
链接 Google的软件编码规范.
注释
- 写好注释并不容易
学会只编写够用的注释,过犹不及,重视质量而不是数量
命名
- 好的名字一目了然,不需要读者去猜,甚至不需要注释
编写自文档化的代码,其本身简单易懂
应该 编写自文档化的程序,让代码本身易于理解
看 问 练
过程,
是一组相互关联或相互作用的活动,能将输入转化为输出
客户需求 —输入–> 过程 —输出–> 客户满意的产品
管理过程,实现过程,支持过程
过程方法
是系统地识别和管理组织内所使用的过程,
保证更有效地获得期望的结果
软件工程过程,
软件开发活动:
- 问题定义,问题提出 > 可行性研究 > 可行性分析 告
- 需求开发,获取需求 > 分析 > 文档化 > 确认 > 软件需求规格说明
- 软件设计,设计体系结构、接口、组件、数据库 > 软件设计说明
- 软件构造,系统模型 > 编写代码、单元测试、代码审查、集成调试、系统构建、代码优化(循环迭代)> 源代码
- 软件测试,单元测试、子系统集成测试、系统集成测试、验收测试
- 软件维护,和软件开发是一个连续的过程(循环往复)
- 软件开发管理:
项目管理,计划、组织、领导、控制
配置管理,版本管理、系统构建、变更管理、发布版本管理 20.3.5
软件过程模型,就是对软件过程的抽象描述
优缺点,特点,适用场景
- 瀑布模型,线性的,是由文档驱动的
用户只有在整个过程结束时才能看到成果,阶段固定,已很少使用
适用于 需求明确 - 原型化模型,先实现产品部分的一个原型,可以是纸上原型
获取用户需求 - 迭代式开发,迭代循环开发版本,分为增量模型、迭代模型(螺旋模型/li>
- 可转换模型,采用形式化的数学方法描述系统,并最终转换为可交付使用的系统 (喷泉模型/li>
软件开发具有迭代性,需要不断的反复尝试,通过比较和选择不同的设计,最终确定令人满意的解决方案
版权问题版权p>
- P13
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!