个人感受:
自己的问题:自己对于软件的认识不够,不清楚什么是软件,做一个软件有着多方面的要求以及规定,但是我不太清楚
书中提到了许多软件的要求以及规定,以及如何做好一个软件。
解决办法:按照书中的方法自己以及自己的团队多多联系这种方法即可
读书笔记
第六章和第七章
第六章:需求分析和项目管理
需求获取
需求获取的方法:
访谈:通过与客户和最终用户进行面对面的交流,收集他们的需求和期望。
问卷调查:设计问卷收集大量用户的需求和反馈。
观察:观察用户实际操作和使用系统的过程,发现潜在需求。
头脑风暴:团队内部集思广益,提出可能的需求和解决方案。
需求获取的挑战:
不明确的需求:客户有时无法清晰表达自己的需求。
变化的需求:需求可能随着项目进展而变化,需要灵活应对。
用户调研
用户画像:
定义典型用户的特征、行为模式和需求,帮助更好地理解目标用户群体。
用户体验研究:
可用性测试:通过实际操作测试,评估系统的易用性和用户体验。
用户反馈:收集用户对系统的意见和建议,进行持续改进。
项目计划
项目范围:
明确项目的目标、范围和边界,防止范围蔓延。
制定项目需求文档,记录所有功能和非功能需求。
项目进度:
制定详细的项目计划,包括时间表、里程碑和任务分配。
使用甘特图和项目管理软件(如MS Project、JIRA)跟踪进度。
项目估计
估计方法:
专家判断:依靠专家的经验和知识进行估计。
类比估计:基于类似项目的历史数据进行估计。
自下而上估计:将项目分解为更小的任务,分别进行估计后汇总。
估计技巧:
考虑风险和不确定性,提供合理的缓冲时间。
定期更新估计,根据项目进展进行调整。
第七章:软件设计与实现
设计方法
面向对象设计:
使用类和对象的概念,通过继承、封装和多态来组织和设计系统。
使用UML图(类图、顺序图等)来描述系统的结构和行为。
设计模式:
采用经典设计模式(如单例、观察者、工厂方法)解决常见设计问题,提高代码的可维护性和可复用性。
图形建模
UML(统一建模语言):
使用UML图来可视化、描述和记录软件系统的设计。
常见的UML图包括用例图、类图、顺序图、状态图等。
ER图(实体关系图):
用于数据库设计,表示实体、属性和实体之间的关系。
代码管理
版本控制:
使用版本控制系统(如Git、SVN)管理代码的变更,确保团队协作的高效性和代码的历史可追溯性。
采用分支策略(如Git Flow)进行功能开发、集成和发布。
代码审查:
通过代码审查(Code Review),确保代码质量和一致性,发现并修复潜在问题。
测试和部署
单元测试:
编写单元测试,验证每个模块或函数的正确性。
使用测试框架(如JUnit、TestNG)自动执行测试。
持续集成和持续部署(CI/CD):
使用CI/CD工具(如Jenkins、Travis CI)自动构建、测试和部署代码,确保软件的持续交付和快速迭代。
标签:需求,03,项目,代码,用户,笔记,估计,构建,软件 From: https://www.cnblogs.com/ykznlxx/p/18250608