笔记 | 软件工程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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xml创建模型组合体

XML创建模型组合体 创建步骤模型准备模型处理模型文件XML编写 效果 创建步骤 模型准备 CAD 提供的原始模型如下: 该模型存在的问题: 单位问题:CAD出图的是 mm 为单位,但是 mujoco 建模这边用的是以 m 为单位的;原点…

2024年会计、金融与工商管理国际会议(ICAFBA 2024)

2024年会计、金融与工商管理国际会议 2024 International Conference on Accounting, Finance, and Business Administration 【1】会议简介 2024年会计、金融与工商管理国际会议是一场集合了全球会计、金融与工商管理领域专家学者的学术盛会。此次会议旨在深入探讨会计、金融与…

matlab模拟黑洞包含吸积盘和喷流,简单模拟

本文介绍 黑洞的简单实现和模拟 代码 % Black Hole Simulation in 3D% Clear workspace and figures clear; close all; clc;% Create figure and set axis properties figure; axis([-10 10 -10 10 -10 10]); hold on; grid on; view(3);% Parameters for the black hole a…

C# 判断字符串不等于空的示例

在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

Capture One Pro 23:专业 Raw 图像处理的卓越之选

在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…

微软不再允许Windows 11通过1@1.com绕过登录 但还有其他办法可以继续用

微软不再允许 Windows 11 通过 11.com 和 nothankyou.com 绕过登录,但断网的情况下使用 OOBE\BYPASSNRO 命令仍然是有效的。如果你在安装或重置系统时仍然需要创建本地账户,请直接使用 OOBE 命令。 在 Windows 11 家庭版和专业版中用户必须保持设备联网…

【SW-拉伸曲面】

拉伸曲面记录 前言一、步骤二、结果展示总结 前言 2024/6/4去教xyy的时候学到了新的技能ε(┬┬﹏┬┬)3 一、步骤 画好草图之后点拉伸曲面 注意选的时候要选线条,不要选择面 二、结果展示 超级薄的曲面结构出来了。 总结 这篇文章依旧没有总结

设计模式-策略模式(行为型)

行为型-策略模式 了解策略模式 策略模式是一种行为型设计模式,在策略模式中定义了一系列算法或者策略,并将这些策略封装到独立的类中,使得可以相互替换。在使用时,可以指定响应的策略使用。 角色 策略接口:对于某种…

uniPush2.0消息推送(云对象)

1.创建uniCloud云开发环境 关联云服务空间(没有云空间到官网上创建)步骤如下 2. index.obj.js代码 ,然后上传部署 // 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj // jsdoc语法提示教程:https://ask.dc…

STM32电子实战项目(一)记录:BLDC kitchen prep centre

产品目的: 解决搅拌机食材粘壁问题。 产品功能及需求分析: 需求分析及实现可能性: 从项目需求看,该项目要实现的功能并不复杂,控制电机的正反转及对应LED显示即可,同时也没必要控制电机转速,…

如何根据业务需求,轻松挑选SSL证书?

在当今数字化时代,网站的安全性愈发受到重视。SSL证书作为网站安全的“守门员”,不仅能保护用户数据不被窃取,还能提升网站的信任度。但面对市场上琳琅满目的SSL证书产品,如何根据业务需求挑选合适的证书呢?今天&#…

流量分析——一、蚁剑流量特征

君衍. 一、Webshell特征流量分析二、环境介绍三、使用Wireshark进行流量分析1、环境说明2、HTTP追踪流分析3、蚁剑请求体中代码块解读 四、使用BurpSurite进行流量分析1、环境配置2、抓包分析 六、总结 一、Webshell特征流量分析 对于重保、护网等攻防演练的防守方来说&#x…

wps:样式集的使用【笔记】

wps:样式集的使用【笔记】 前言版权推荐wps:样式集的使用1拿到一个内容模板2修改样式集3修改样式的详细说明4保存样式集5应用样式集 说明另外最后 前言 2024-6-5 23:36:20 以下内容源自《【笔记】》 仅供学习交流使用 版权 禁止其他平台发布时删除以…

LLM大语言模型(十六):最新开源 GLM4-9B 本地部署,带不动,根本带不动

目录 前言 本机环境 GLM4代码库下载 模型文件下载:文件很大 修改为从本地模型文件启动 启动模型cli对话demo 慢,巨慢,一个字一个字的蹦 GPU资源使用情况 GLM3资源使用情况对比 前言 GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 …

Apache Superset:数据可视化的现代开源解决方案

Superset: 洞察数据,一目了然- 精选真开源,释放新价值。 概览 Apache Superset 是一个由 Apache 软件基金会支持的开源数据可视化和数据探索平台。它允许用户以直观的方式构建丰富的数据报告和仪表板,支持从多种数据源中提取数据…

2024版本---LabVIEW 软件安装及使用教程

目录 第1章 LabVIEW 软件安装及使用教程 1. 简介 2. 安装教程 2.1 下载 LabVIEW 2024 版本 2.2 安装 LabVIEW 3. 激活 LabVIEW 4. LabVIEW 基本使用教程 4.1 用户界面介绍 4.2 创建一个简单的 VI(虚拟仪器) 4.3 数据采集示例 5. 进阶功能介绍…

如何将华为Ascend手机的短信和联系人安全传输到电脑

华为Ascend系列手机以其流畅的使用体验、光滑的触感以及轻巧的设计赢得了市场的青睐。不仅如此,Ascend系列手机还以亲民的价格和出色的用户体验,搭载了众多先进功能,如Ascend P6的4.7英寸大屏、海思四核处理器、2GB RAM和800万像素摄像头等。…

66、API攻防——接口安全阿里云KEYPostmanDVWS

文章目录 一、工具使用——Postman自动化测试二、安全问题——Dvws泄露&鉴权&XXE三、安全问题——阿里KEY信息泄露利用 dvws-node 一、工具使用——Postman自动化测试 二、安全问题——Dvws泄露&鉴权&XXE 路径中出现/api/,一般都是接口。 请求包是…

宏集Panorama SCADA:个性化定制,满足多元角色需求

前言 在考虑不同人员在企业中的职能和职责时,他们对于SCADA系统的需求可能因其角色和工作职责的不同而有所差异。在SCADA系统的设计和实施过程中,必须充分考虑和解决这种差异性。 为了满足不同人员的需求, 宏集Panorama SCADA平台具备灵活的功能和定制…

Spring Boot 应用打 WAR 包后无法注册到 Nacos怎么办

你好,我是柳岸花开。 在微服务架构中,服务注册与发现是至关重要的一环。Nacos 作为阿里巴巴开源的注册中心,能够很好地满足这一需求。然而,在将 Spring Boot 应用打包成 WAR 部署到外部服务器时,可能会遇到服务无法注册…