软件工程(Software Engineering)

一、软件工程概述

1.软件生存周期

软件: 包含程序、数据及相关文档
软件工程: 涉及到软件开发、维护、管理等多方面的原理、工具与环境。最终的目的是开发高质量的软件。
目的: 提高软件生产率、提高软件质量、降低软件成本。
image.png
文档的作用:

  • 提高软件开发过程能见度
  • 提高开发效率,便于发现错误和不一致性
  • 作为开发人员在一定阶段的工作成果和结束标志
  • 记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护
  • 提供对软件的运行、维护和培训的有关信息,便于相关人员和用户之间的协作、交流和了解
  • 便于潜在用户了解软件的功能、性能等各项指标,为它们选购符合自己需要的软件提供依据

2.软件生存周期模型

image.png
瀑布模型:
image.png
螺旋模型:
image.png
喷泉模型:
image.png

3.软件开发方法

软件开发方法:结构化方法、Jackson方法、原型化方法、面向对象开发方法
image.png

二、软件需求分析

1.可行性分析

image.png

2.软件需求分析

系统必须完成的事,以及必须具备的品质
包括:

  • 功能需求:所开发的产品必须具备什么样的功能
  • 非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性、扩展性等
  • 设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明,例如必须采用国有自主知识版 权的数据库系统、必须运行在UNIX操作系统之下等

三、软件设计

1.软件设计原则

软件设计原则: 抽象、模块化、信息屏蔽、模块独立
软件设计任务与活动
image.png

2.内聚和耦合

内聚:
image.png
耦合:
image.png

四、软件测试

1.V模型

image.png

2.软件测试过程

image.png

3.黑盒测试与白盒测试

image.png

  1. 语句覆盖: 被测试程序的每个语句至少执行一次。是一种很弱的覆盖标准
  2. 判定覆盖: 分支覆盖,判定表达式至少获得一次真、假值。判定覆盖比语句覆盖强。
  3. 条件覆盖: 每个判定语句中的每个逻辑条件的各种可能值至少满足一次。
  4. 路径覆盖: 覆盖所有可能的路径。
  5. 判定/条件覆盖: 每个条件所有可能的值(真/假)至少出现一次,且每个判定本身的判定结果(真/假)也至少出现一次。
  6. 条件组合覆盖: 每个判定中条件的各种可能值的组合都至少出现一次。

4.测试原则与注意事项

image.png

五、软件运行与维护

1.软件维护

image.png
image.png

六、程序员职业素养

1.软件工程基本原理

  1. 用分阶段的生命周期计划严格管理,将复杂问题简化处理
  2. 坚持进行阶段评审
  3. 记录软件每个版本的状态,实行严格的版本控制
  4. 采用现代程序设计技术,但不是最新的技术
  5. 结果能清除的审查
  6. 开发小组人员少而精
  7. 不断累积和改进软件过程实践经验和技术

2.软件工程的最终目标

image.png

3.程序员的职业素养

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

2024 Mazing 3 中文版新功能介绍Windows and macOS

iMazing 3中文版(ios设备管理软件)是一款管理苹果设备的软件, Windows 平台上的一款帮助用户管理 IOS 手机的应用程序。iMazing中文版与苹果设备连接后,可以轻松传输文件,浏览保存信息等,软件功能非常强大,界面简洁明晰…

力扣965单值二叉树的小细节

这一段的两个判断条件,一定要root->left!NULL在前 如果root->val!root->left->val在前,root->left为空的时候,就无法拿出root->left->val,在一个NULL的指针里拿不出val。 把root->left!NULL放在前面&am…

文才与口才:谁才是成功的关键因素?

文才与口才:谁才是成功的关键因素? 自古以来,文才与口才一直是人们关注的重要议题。在追求成功的道路上,文才与口才究竟谁才是关键因素?这是一个值得深入探讨的问题。本文将从多个维度出发,分析文才与口才…

01背包 与 emo题目背景(周超人的遗憾) 的爱恨情仇

本题背景有意思,大家当乐子看,目前没有找到题目原题,也没有写过完全是01背包模板的题目,该篇文章大家注意其01背包一维写法的模板就好,注意各个关键点 ✨欢迎来到脑子不好的小菜鸟的文章✨ 🎈创作不易&…

力扣L13--- 409.最长回文串(JAVA版)-2024年3月1日

1.题目描述 2.知识点 注1:向下取整是将一个数值向下舍入到最接近的整数,但不超过这个数值的整数。具体规则如下: 对于正数,向下取整后得到的整数是不大于原数值的最大整数; 对于负数,向下取整后得到的整数…

Java手写简易数据库--持续更新中

MYDB 0. 项目结构0.1 引用计数缓存框架为什么不使用LRU引用计数缓存缓存框架实现 0.2 共享内存数组 1. 事务管理器--TM1.1 XID 文件XID 规则XID 文件结构读取方式事务状态 1.2 代码实现 2. 数据管理器--DM2.1 页面缓存页面结构页面缓存数据页管理第一页普通页 2.2 日志文件 3. …

一文搞懂PCL中自定义点云类型的构建与函数使用

上周猛男快乐开发时遇到个bug,要用pcl的函数对自定义的点云进行处理。一起解决问题时遇到了很多问题,解决后整理出来分享给各位参考,以免踩一样的坑😊。文章中自定义的点我用PointT来表示,自定义点云一般指的是pcl::Po…

西门子TIA中配置Anybus PROFINET IO Slave 模块

1、所需产品 Siemens S7 PLC CPU 315-2 PN/DP 6ES7 315-2EH-0AB0 Siemens PLC 编程电缆 n.a. n.a. PC ,并安装Siemens PLC编程软件 TIA Portal V11 X-gateway Slave 接口的GSDML文件 根据网关的软件版本而定 Anybus Communicator GSD文件 GSDML-V1.0-HMS-ABCPRT-20050317.xl…

算法耗时通用优化技巧 总结

最近在部署AI相关的算法,并要求减少总耗时,从中总结出的一些比较通用的优化技巧。精髓总结一句话就是:在同一时间尽可能充分利用硬件资源。而怎么尽可能充分利用呢,方式就是多线程并行处理。 1、单线程串行处理数据 假设算法需要…

Python中字符串知识点汇总,以及map()函数的使用

1.字符串的定义 字符串:字符串就是一系列字符。在python中,用引号括起来的都是字符串,其中的引号可以是单引号,也可以是双引号。 2.使用方法修改字符串的大小写 ①将字符串的字母全部改为大写:upper()函数 实例&…

kkview远程控制: 内网远程桌面控制软件

内网远程桌面控制软件:高效、安全的远程管理方案 在信息技术日新月异的今天,内网远程桌面控制软件已成为许多企业和个人用户不可或缺的工具。这类软件允许用户通过内部网络,实现对其他计算机的远程访问和控制,从而大大提高工作效…

蓝桥杯Java准备

蓝桥杯马上就要开始了,话说干什么都先准备准备,临阵磨枪不快也光。 首先蓝桥杯java语言中使用的是eclipse的2020.06的版本,使用jdk1.8的版本,大家可以先下载下来然后体验一下。 然后就是熟悉的Helloworld环节 eclipse设置 打开几…

Linux第79步_使用自旋锁保护某个全局变量来实现“互斥访问”共享资源

自旋锁使用注意事项:自旋锁保护的“临界区”要尽可能的短。 因此,在open()函数中申请“spinlock_t自旋锁结构变量”,然后在release()函数中释放“spinlock_t自旋锁结构变量”,这种方法就行不通了。如果使用一个变量“dev_stats”来表示“共享…

解锁区块链游戏数据解决方案

作者:stellafootprint.network 随着区块链技术的日新月异,游戏行业正迎来一场革命,催生了区块链游戏的崛起。这一变革不仅为用户带来了全新的互动体验,也开辟了全新的盈利渠道。然而,在这一新兴领域,数据的…

多站合一的音乐搜索下载助手PHP源码l亲测

源码获取方式 回复:031601 搭建教程: 将源码下载上传至宝塔面板,直接运行即可~ 说明: 该源码进行测试,测试成功源码无加密优化相关其他采集问题。

html--花瓣

代码 <!DOCTYPE html> <html lang"en" ><head> <meta charset"UTF-8"> <title>Petals</title><link rel"stylesheet" href"css/style.css"></head><body><div class"…

JAVA---学生管理系统

遍历字符串 ArrayList学习&#xff1a;

Postman接口测试之断言,全网最细教程没有之一!

一、断言 在 postman 中我们是在Tests标签中编写断言&#xff0c;同时右侧封装了常用的断言&#xff0c;当然 Tests 除了可以作为断言&#xff0c;还可以当做后置处理器来编写一些后置处理代码&#xff0c;经常应用于&#xff1a; 【1】获取当前接口的响应&#xff0c;传递给…

二分/二分查找(整数二分详解+拓展浮点二分)

先上题目 在一个有序数组中&#xff0c;查找x所在的下标。 输入 第一行两个整数n和m。 第二行n个数&#xff0c;表示有序的数列。 接下来m行&#xff0c;每行一个整数x&#xff0c;表示一个询问的数。 输出 对于每个询问如果x在数列中&#xff0c;输出下标。否则输出-1 样…

Linux网络编程: IP协议详解

一、TCP/IP五层模型 物理层&#xff08;Physical Layer&#xff09;&#xff1a;物理层是最底层&#xff0c;负责传输比特流&#xff08;bitstream&#xff09;以及物理介质的传输方式。它定义了如何在物理媒介上传输原始的比特流&#xff0c;例如通过电缆、光纤或无线传输等。…