【软件工程】软件生命周期(SDLC)各阶段划分

发布时间:2026/7/10 3:10:51

【软件工程】软件生命周期(SDLC)各阶段划分
考点频率★★★★☆基础概念选择题常考也是理解开发模型的前提难度⭐建议掌握软件生命周期的六个阶段及各阶段的主要任务与产出物理解“文档驱动”的含义1️⃣ 什么是软件生命周期一个软件产品从“想做个东西”到“这东西废了不维护了”的过程就是软件生命周期Software Life Cycle。官方的说法是软件产品从提出、开发、运行到废弃的全过程。它回答了软件工程中最基本的问题做软件这件事到底分几步走打个比方拍一部电影要经历“选题立项→写剧本→选角筹备→拍摄→剪辑配音→上映→下架”等阶段每个阶段都有明确的任务和产出物。软件生命周期也是一样——把一个模糊的想法通过分阶段推进变成能稳定运行的程序。2️⃣ 软件生命周期分几个阶段不同教材对阶段的划分略有不同软考常考的是经典六阶段划分法可行性研究 → 需求分析 → 概要设计 → 详细设计 → 编码与测试 → 运行与维护也有教材将“编码与测试”拆分为“编码”和“测试”两个阶段变成七阶段。但软考中六阶段划分法是主流把“编码测试”作为一个整体阶段其中测试包含单元测试和集成测试。3️⃣ 各阶段核心任务与产出物重点3.1 可行性研究Feasibility Study任务研究项目“值不值得做、能不能做”。从技术可行性、经济可行性、操作可行性、法律可行性等角度进行分析明确项目的可行性和可能的收益。产出物可行性研究报告、项目开发计划核心问题这事能干吗有钱赚吗3.2 需求分析Requirements Analysis任务搞清楚用户到底想要什么。不是用户说“我要个系统”就完了而是要和用户反复沟通把模糊的诉求变成明确的、可验证的功能需求和非功能需求如性能、安全性等。这是整个开发过程中最重要也最容易被忽视的阶段。产出物软件需求规格说明书SRSSoftware Requirements Specification核心问题用户到底要什么需求分析阶段的核心原则是需求的完整性和一致性。如果需求没搞明白就开写代码后面改需求会让开发变成噩梦——这也是“软件危机”的重要原因之一。3.3 概要设计总体设计 / High-Level Design任务把需求说明书“翻译”成系统结构。确定系统的总体架构如分成哪些模块/子系统以及模块之间的接口关系。产出物概要设计说明书、体系结构图、模块结构图核心问题系统长什么样模块怎么分3.4 详细设计Detailed Design任务对每个模块内部进行精细设计包括数据结构、算法、接口细节等达到“可以直接编码”的程度。这个阶段产出的设计程序员照着写代码就可以了。产出物详细设计说明书、模块算法描述核心问题每个模块具体怎么实现3.5 编码与测试Coding Testing任务编写代码并进行各种测试。测试分为多个层次单元测试测试每个模块的功能是否正常集成测试测试模块之间的接口是否能正确配合系统测试测试整个系统是否满足需求规格说明书中的各项要求产出物可执行的程序代码、测试用例、测试报告核心问题代码写对了吗系统能用吗3.6 运行与维护Operation Maintenance任务交付后的系统在运行过程中修复Bug、适应环境变化如操作系统升级、增加新功能等。维护是软件生命周期中时间最长、成本最高的阶段通常占总成本的60%-70%。产出物维护记录、修改后的程序核心问题系统上线后怎么持续保障4️⃣ 各阶段产出物速查表阶段核心产出物一句话总结可行性研究可行性研究报告分析“能不能干”需求分析软件需求规格说明书搞清楚“要干什么”概要设计概要设计说明书、结构图设计“长什么样”详细设计详细设计说明书细化“具体怎么干”编码与测试程序代码、测试报告写代码验证代码运行与维护维护记录持续保障运行5️⃣ 以瀑布模型为例理解阶段如果把软件生命周期比作盖楼阶段盖楼类比软件对应可行性研究地段评估、资金预算能不能赚钱技术行不行需求分析找设计师出需求清单要几室几厅用户到底要什么功能概要设计画建筑平面图、立面图系统分几个模块怎么连接详细设计出施工图每根钢筋的位置每个模块具体怎么实现编码与测试施工盖楼 质检验收写代码 测试确保代码正确运行维护交付后维修、翻新、加固上线后修Bug、加功能、系统升级瀑布模型是最早将软件生命周期阶段化的模型它规定每个阶段必须完成后才能进入下一阶段像瀑布一样一层一层往下流强调文档驱动——每个阶段都有明确的产出物文档并且前一阶段的文档是后一阶段工作的依据。后面要讲的增量模型、螺旋模型、敏捷开发等本质上都是在这个基本阶段框架上做调整。6️⃣ 经典例题例题1软件生命周期中确定系统“做什么”的阶段是 。A. 可行性研究B. 需求分析C. 概要设计D. 详细设计解析需求分析阶段的任务是确定用户需求即系统“做什么”。概要设计和详细设计解决的是“怎么做”。选B。例题2在软件生命周期中确定系统“怎么做”的阶段是 。A. 需求分析B. 概要设计与详细设计C. 编码与测试D. 运行与维护解析需求分析确定“做什么”概要设计和详细设计确定“怎么做”一个是总体架构一个是细节实现。选B。例题3判断软件生命周期中测试工作只在编码阶段结束后才开始。 解析错误。现代软件工程强调测试贯穿整个开发过程如需求分析阶段就可以编写验收测试用例概要设计和详细设计阶段可以编写集成测试用例和单元测试用例。当然执行测试确实集中在编码阶段之后。7️⃣ 记忆口诀可行需求概详编加上维护共六段。可行性问能不能需求分析做什么。概要设计定架构详细设计细琢磨。编码实现与测试上线维护续干活。8️⃣ 小测验评论区对答案以下关于软件生命周期的叙述中正确的是 。A. 软件生命周期只有编码和维护两个阶段B. 需求分析阶段的工作成果是详细设计说明书C. 概要设计的输出是模块结构图和概要设计说明书D. 软件维护阶段不需要任何文档记录本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #软件生命周期 #SDLC #软考备考

相关新闻

Ultralytics Docker镜像选型与YOLO训练部署实战指南

Ultralytics Docker镜像选型与YOLO训练部署实战指南

2026/7/10 3:00:51

1. 为什么是 Ultralytics Docker?——不是“又一个容器教程”,而是解决实际训练卡点的钥匙Ultralytics Docker 不是单纯把 YOLOv8/YOLOv10 搬进容器里走个过场,它是我在过去三年带团队落地 27 个工业视觉项目时,反复验证后沉淀下来…

OpenCV C++ 贾志刚教程:从环境搭建到DNN部署的完整指南

OpenCV C++ 贾志刚教程:从环境搭建到DNN部署的完整指南

2026/7/10 3:00:51

1. 项目概述:为什么选择OpenCV C?如果你正在计算机视觉领域摸索,或者想从Python转向更底层的实现,那么“OpenCV C 贾志刚教程”这个标题对你来说应该不陌生。它背后指向的,是国内很多开发者入门OpenCV C时绕不开的一套…

技术直觉退化了?不,是换了一种用法

技术直觉退化了?不,是换了一种用法

2026/7/10 3:00:51

虚,从一次Code Review开始 第四周周一早上,陈钊做了一件已经很久没做了的事——打开IDE,认真看代码。 起因是小李上周提了一个PR,改动量不小,涉及到支付模块的核心链路。按照陈钊以前的习惯,这种级别的PR他…

从 OpenAI 招聘,看 AI 公司的下一步

从 OpenAI 招聘,看 AI 公司的下一步

2026/7/10 4:50:58

七百多个岗位分布在OpenAI 的招聘官网,本来只是想看看他们在招什么人,结果越看越觉得,这比任何一篇行业分析都更能说明 AI 公司未来会往哪里走。 很多人觉得 OpenAI 最缺的是算法工程师、研究员,但实际上并不是,AI 落地…

AI系统设计的三大核心原则:真理、好奇与美的平衡优化

AI系统设计的三大核心原则:真理、好奇与美的平衡优化

2026/7/10 4:50:58

在人工智能技术快速发展的今天,我们越来越需要思考AI系统应该追求的核心价值。作为一名长期关注技术落地的开发者,我发现很多AI项目过度关注短期效率和商业指标,而忽视了更深层次的要素。本文将探讨为什么AI发展必须重视真理、好奇与美这三个…

Multisim 14.2 数字电路仿真:74LS138/151 芯片 10 个关键参数实测与波形分析

Multisim 14.2 数字电路仿真:74LS138/151 芯片 10 个关键参数实测与波形分析

2026/7/10 4:50:58

Multisim 14.2 数字电路仿真:74LS138/151 芯片 10 个关键参数实测与波形分析在数字电子技术实验教学中,芯片参数的实际测量与波形分析是理解数字电路工作原理的关键环节。本文将基于Multisim 14.2仿真平台,对74LS138译码器和74LS151数据选择器…

数字电路上拉下拉原理与PIC32MX460F512L配置实践

数字电路上拉下拉原理与PIC32MX460F512L配置实践

2026/7/10 4:50:58

1. 信号上拉与下拉的基础概念解析在数字电路设计中,上拉(Pull-up)和下拉(Pull-down)是两种常见的信号处理技术。它们通过电阻连接,确保信号线在无驱动状态下保持确定的逻辑电平。上拉电阻将信号线连接到电源…

RK3568 CPU 频率调控 3 种方法对比:设备树、sysfs 与性能模式

RK3568 CPU 频率调控 3 种方法对比:设备树、sysfs 与性能模式

2026/7/10 4:50:58

RK3568 CPU频率调控实战指南:设备树、sysfs与性能模式深度解析 1. 频率调控技术全景图 在嵌入式系统开发中,CPU频率调控从来都不是简单的数值调整游戏。RK3568作为瑞芯微电子推出的中高端通用型SoC,其频率管理架构体现了现代处理器设计的精妙…

TPE5608通讯管理机配置文件解析:7个.dat/.ini文件作用与权限777修复指南

TPE5608通讯管理机配置文件解析:7个.dat/.ini文件作用与权限777修复指南

2026/7/10 4:40:57

TPE5608通讯管理机配置文件深度解析与实战指南1. 核心配置文件全景解读TPE5608通讯管理机的稳定运行依赖于7个关键配置文件,它们如同设备的"DNA",决定了通讯协议、数据转发和设备参数等核心功能。这些文件通常存储在/home/user目录下&#xff…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/9 19:40:56

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

终极原神FPS解锁器完整指南:轻松突破60帧限制

终极原神FPS解锁器完整指南:轻松突破60帧限制

2026/7/10 0:00:42

终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

2026/7/10 0:00:42

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…

从零实现红黑树:手写C++的set与map容器

从零实现红黑树:手写C++的set与map容器

2026/7/10 0:00:42

1. 项目概述:从STL容器到自研轮子在C的日常开发中,std::set和std::map是我们再熟悉不过的伙伴了。它们一个负责管理不重复的集合,一个负责维护键值对映射,底层都依赖一颗高效的红黑树来保证数据的有序性和操作的性能。但你是否曾想…