软件工程-Maybe
软件生命周期的六个阶段:#
计算机系统工程、需求分析、设计、编码、测试、运行和维护。
FAST基本原则:#
- 在中立的地点举行由开发者和用户出席的会议;
- 建立准备和参与会议的规则;
- 制定一个足够正式的议程以便可以自由的进行交流;
- 一个“协调者”来控制会议;
- 使用一种“定义机制”;
- 目标是标识问题、提出解决方案的要素、商议不同的方法、以及在有利于完成目标的氛围中刻画出初步的需求。
需求规约的8条基本原则#
- 从现实中分离功能,即描述“要做什么”而不是“怎么实现”;
- 要求使用面向处理的规约语言;
- 整个系统应包括在规格说明的描述之中;
- 规约必须包括系统运行环境;
- 规约必须是一个认识模型;
- 规约必须是可操作的;
- 规约必须允许不完备性并允许扩充;
- 规约必须局部化和松散耦合。
软件设计原则#
- 抽象与逐步求精
- 模块化
- 信息隐藏
- 功能独立
软件设计的目标#
- 设计必须实现分析模型中描述的所有显示需求,必须满足用户希望的所有隐式需求;
- 设计必须是可读的、可理解的,使得将来易于编程、易于测试、易于维护;
- 设计应从实现的角度出发,给出数据、功能、行为相关的软件全貌。
模块独立性比较强的模块是高内聚低耦合的模块#
软件测试的目的#
- 测试是一个为了发现错误而执行程序的过程;
- 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试用例;
- 一个成功的测试指揭示了迄今为止尚未发现错误的测试。
自顶向下集成的优点:#
不需要驱动模块;能尽早对程序的主要控制和决策机制进行检验,能较早发现整体性的错误;深度优先的自顶向下继承能较早对某些完整的程序功能进行验证。、
自底向上集成的优先#
不需要桩模块,所以容易组织测试;将整个程序结构分解成若干个簇,对同一层次的簇可并行进行测试,可提高效率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理