笔记 | 软件工程01:从程序到软件

1 软件工程知识域

image.png

2 程序

2.1 何为程序及程序的质量要求

何为程序:
image.png

理解:软件工程可能就是在弥补OOP语言与自然语言之间还存在的鸿沟

image.png

2.1.1 程序质量的内在和外在体现

image.png

2.1.2 程序质量的语法和语义体现

image.png

2.2 编写代码的基本原则

image.png

2.3 程序质量保证方法

2.3.1 遵循编码风格

image.png

代码布局与组织:

image.png

Java程序的排版格式推荐:

image.png

变量命名风格:

image.png
image.png

代码注释:
image.png

2.3.2 采用程序设计方法
2.3.2.1 语句设计

image.png

2.3.2.2 模块化设计

image.png

2.3.2.3 高内聚度、低耦合度原则

模块内各要素紧密相关,仅实现单一功能, 模块间的关系应设计的非常松散

2.3.3 开展代码重用

image.png

2.3.4 进行结对编程

image.png

2.3.4.1 个体开发的局限性

image.png

2.3.4.2 软件开发是集体性/群体性行为

image.png

2.3.4.3 如何实现结对编程

image.png

2.3.4.4 结对编程中的代码复审

image.png

2.3.4.5 结对编程的好处

image.png

2.3.4.6 结对编程的不同阶段和技巧

image.png

2.4 程序质量的分析方法

2.4.1 程序代码中潜在的质量问题&原因

image.png

2.4.2 代码质量分析的常用方法
2.4.2.1 人工审查方法

image.png
image.png
image.png

2.4.2.2 自动化分析方法

代码静态分析:
image.png

代码审查后要做的工作:

image.png

2.4.2.3 程序测试方法

image.png

软件测试的目的和任务:尽可能多的找到软件中的缺陷,软件缺陷可能隐藏得比较深,难以发现

2.5 编写程序需要解决的问题

2.5.1 编写程序面临的挑战

image.png|500

2.6 ChatGPT对程序员带来的影响

image.png

ChatGPT的职业影响:

image.png

3 软件

3.1 何为软件及软件的特点

3.1.1 何为软件

从开发的角度:
image.png

3.1.2 何为文档&为什么需要文档&编写文档的目的

何为文档:
image.png

image.png

3.1.3 何为数据

数据是程序的加工处理对象和结果

数据形式包括:用户、订单、交易、日志数据
数据处理包括:表示、获取、存储、检索、分析

3.1.4 软件的特点

image.png

3.1.5 军用软件的特殊性

军用软件:导弹中的飞行控制软件、指挥信息系统、后勤保障软件等

image.png

3.2 软件的生命周期

image.png
image.png

3.3 软件的分类

分类一:
image.png
image.png

分类二:
image.png

3.4 应用的类型

image.png
image.png
image.png

3.5 闭源软件

image.png

3.6 开源软件定义&好处

image.png

开源软件的特点

  • 源程序代码对外开放
  • 自由使用、修改和传播
  • 任何人都可获得开源软件的代码

开源软件正在逐步替代闭源软件

image.png

开源软件的推动者

image.png

开源软件的优势:
image.png

3.7 开源软件许可证

image.png

3.7.1 宽松式开源许可证

image.png

3.7.2 Copyleft式开源许可证

3.7.3 Apache开源许可证

image.png

3.7.4 GPL开源许可证

image.png

3.7.5 不同许可证之间的差别

image.png

3.8 软件质量

软件质量是指软件满足给定需求的程度,它是产品生命线

image.png

3.8.1 软件质量要素

image.png
image.png
image.png

3.8.2 可信软件的基本要求

3.9 软件特征的变化

3.9.1 软件的地位和作用

image.png

3.9.2 软件的运行环境

image.png

3.9.3 软件形态

image.png

3.9.3.1 社会技术系统

image.png

3.9.3.2 系统子系统

image.png

3.9.3.3 分布式异构系统

image.png

3.9.3.4 动态演化系统

image.png

3.9.3.5 系统联盟

image.png

3.9.3.6 生态系统

image.png
生态:共同环境 + 诸多要素 + 独立演化 + 相互依存

3.10 软件系统的应用及示例

image.png

3.11 我国软件建设的挑战和使命

image.png

相关推荐

  1. 软件工程 复习笔记

    2024-06-06 09:24:04       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 09:24:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 09:24:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 09:24:04       82 阅读
  4. Python语言-面向对象

    2024-06-06 09:24:04       91 阅读

热门阅读

  1. 设计模式--》 装饰模式的应用

    2024-06-06 09:24:04       27 阅读
  2. Mongodb中字段的删除

    2024-06-06 09:24:04       26 阅读
  3. mongo篇---mongoDB Compass连接数据库

    2024-06-06 09:24:04       30 阅读
  4. Github 2024-06-05 C开源项目日报 Top10

    2024-06-06 09:24:04       27 阅读
  5. Oracle NUMTOYMINTERVAL函数的使用

    2024-06-06 09:24:04       25 阅读