软件设计师必读:体系结构到敏捷方法的成本估算指南
需积分: 10 71 浏览量
更新于2024-09-07
收藏 513KB DOCX 举报
本资源是一份针对2019上半年软考中级软件设计师的学习笔记,着重于软件开发的关键设计和开发方法。内容涵盖了以下几个核心知识点:
1. **体系结构设计**:这是软件开发的基础,主要关注系统的组成部分(如模块、组件)及其相互之间的连接,形成系统的整体框架。
2. **数据设计(数据库设计)**:这部分包括数据库的概念设计和物理设计,如确定数据模型、表结构设计,确保数据的一致性和完整性。
3. **接口设计**:强调模块间的交互,涉及功能描述、输入输出定义和错误处理策略,确保系统的稳定性和易用性。
4. **过程设计(模块详细设计)**:深入到具体实现层面,涉及算法设计和数据结构的选择,是编码阶段的重要准备。
5. **敏捷开发方法**:
- **极限编程(XP)**:采用迭代和持续反馈的方式,通过短期周期开发,根据实际需求和问题动态调整。
- **水晶法**:承认项目的多样性,选择最适合项目的开发方法。
- **并列并列争球法(Scrum)**:以迭代、增量的方式工作,通过Sprint周期管理和优先级排序需求。
6. **成本估算**:
- **专家估算法**:依赖于行业经验和历史数据。
- **Wolverton (LOC) 方法**:基于源代码行数,但精度不高,已被淘汰。
- **COCOMO** 和 **COCOMO II**:参数化成本估算模型,考虑软件复杂度、规模等因素,COCOMO II包括多个细分模型,如应用组合模型、早期开发模型和结构化后期模型。
7. **内聚类型**:
- **通信内聚**:模块操作同一数据集,强化数据一致性。
- **过程内聚**:模块内的操作围绕同一主题进行,增强模块内部的逻辑连贯性。
这些内容对于软件设计师备考和实际项目开发都具有参考价值,强调了设计思维和实践技巧的重要性,有助于理解和掌握软件开发的全貌。
2019-07-04 上传
2021-07-07 上传
2021-09-14 上传
2021-12-22 上传
2022-11-01 上传
2022-07-08 上传
2022-01-17 上传
2022-06-09 上传
Pwnur
- 粉丝: 5
- 资源: 6
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析