【软件工程】软件生命周期(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 #软考备考

相关新闻

2026年邮件营销高依赖行业TOP10:哪些领域还在重仓“收件箱”?

2026年邮件营销高依赖行业TOP10:哪些领域还在重仓“收件箱”?

流量成本持续攀升,早已不是新闻。无论是搜索广告还是社交信息流,获客单价在短短几年内翻了数倍。一个更现实的问题是:广告预算一停,订单量几乎同步下滑,品牌与用户之间似乎永远隔着一层“买来的关系”。 正是在这种背…

2026/7/10 3:10:56阅读更多 →
更改pip下载默认位置

更改pip下载默认位置

最近C盘爆满,想着移动一下python下载库的位置。但发现移动完后使用pip下载新的库时,新的库还是下载到了C盘,所以尝试修改其默认下载位置。更改python安装位置新版python自带的pip包,在使用时会自动下载至python安装位置的site-pac…

2026/7/10 3:05:56阅读更多 →
Fable对抗性对话生成:AI伦理与PyTorch实战解析

Fable对抗性对话生成:AI伦理与PyTorch实战解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近,一个名为 Fable 的 AI 项目在开发者社区引发了不小的讨论。它做了一件看似简单却意味深长的事:用 8 万条…

2026/7/10 3:05:56阅读更多 →
51单片机定时器T0/T1 4种工作方式对比:从13位到16位,初值计算与适用场景

51单片机定时器T0/T1 4种工作方式对比:从13位到16位,初值计算与适用场景

51单片机定时器T0/T1工作方式深度解析:从13位到16位的实战指南在嵌入式系统开发中,精确的时间控制是核心需求之一。51单片机通过其内置的定时器/计数器模块,为开发者提供了灵活的时间管理工具。本文将全面剖析51单片机中T0和T1定时器的四种工…

2026/7/10 4:26:02阅读更多 →
AI3D模型生成工具怎么比较?2026主流平台对比与实测维度解析

AI3D模型生成工具怎么比较?2026主流平台对比与实测维度解析

AI3D模型生成工具越来越多,创作者在选择时容易先看生成速度、模型外观和演示效果。但真正进入项目后,一个模型是否“好用”,不只取决于生成得像不像,还要看它能否继续编辑、绑定动作、导出到后续软件,并适配真实创作场…

2026/7/10 4:26:02阅读更多 →
R 中安装 seqminer 报在安装 sequenza的依赖 seqminer时,报以下错误:cc1: warning: command-line option ‘-fvisibility-inl

R 中安装 seqminer 报在安装 sequenza的依赖 seqminer时,报以下错误:cc1: warning: command-line option ‘-fvisibility-inl

R 中安装 seqminer ,seqminer(其内置 htslib)的源码与新版 GCC 的兼容性问题。bcf_index.c:222:38: error: implicit declaration of function strdupbcf_index.c:222:38: error: implicit declaration of function strdup。可以使用"Ma…

2026/7/10 4:26:02阅读更多 →
SDIO 接口实战:基于 STM32F4 驱动 SDIO WiFi 模块的 4 步配置流程

SDIO 接口实战:基于 STM32F4 驱动 SDIO WiFi 模块的 4 步配置流程

STM32F4 SDIO WiFi模块驱动实战:从寄存器配置到无线连接 在嵌入式物联网设备开发中,WiFi连接已成为标配功能。相比传统的SPI或UART接口WiFi模块,基于SDIO接口的方案能提供更高的传输带宽和更低的CPU占用率。本文将基于STM32F407芯片&#xff…

2026/7/10 4:26:02阅读更多 →
ExploreYC 核心能力与实测价值评估

ExploreYC 核心能力与实测价值评估

很多创业者在起步阶段最头疼的不是缺乏执行力,而是找不到那个“对”的切入点。脑子里闪过无数个念头,今天觉得做社区团购有戏,明天又觉得 AI 写作工具是风口,结果折腾半年,资源耗尽了,项目却还在原地打转。…

2026/7/10 4:26:02阅读更多 →
LTM4644 国产替代方案实测:175℃高结温与效率提升 4% 的性能对比

LTM4644 国产替代方案实测:175℃高结温与效率提升 4% 的性能对比

LTM4644国产替代方案深度评测:175℃高结温与效率优化的工程实践在高端电源设计领域,四通道降压型DC-DC模块的选择往往关乎整个系统的可靠性与性能上限。当军工级应用场景遇到供应链风险时,国产替代方案的实测表现究竟如何?我们针对…

2026/7/10 4:21:02阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比当你在浏览器地址栏敲入一个网址时,背后可能隐藏着一场关于"要不要重新下载资源"的精密博弈。这场博弈的裁判是HTTP缓存机制,而304状态码则是这场博弈…

2026/7/10 0:00:01阅读更多 →
RoboWits:面向创造性问题求解的双臂机器人认知推理基准

RoboWits:面向创造性问题求解的双臂机器人认知推理基准

1. 项目概述:这不是又一个机器人抓取数据集,而是一次对“思考力”的压力测试 RoboWits——这个名字里藏着两个关键信号:“Robo”直指物理世界中的具身智能体,“Wits”则毫不掩饰地指向人类最核心的认知能力:机敏、判断…

2026/7/10 0:00:01阅读更多 →
5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Windows…

2026/7/10 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →