首页 > 其他分享 >构建之法阅读笔记08

构建之法阅读笔记08

时间:2023-05-26 22:35:35浏览次数:60  
标签:需求 分析 软件开发 08 用户 笔记 构建 软件 团队

《现代软件工程构建之法》第八章讲述了需求分析在软件开发中的重要性及方法。在我过去的软件开发中,我可能会只关注部分需求,而忽略其他因素,或者基于主观判断进行需求评估和分析。这种方法很容易导致软件的实际功能不符合用户的需求,因而影响软件的使用效果和用户体验。
通过本章的学习,我了解到需求分析是软件开发的核心。在软件开发过程中,我们必须充分理解用户的需求并将其转换为详细和准确的需求规范。需要借助各种面对用户的需求收集技巧,例如需求访谈、问卷调查或参观用户现场等方式以及软件代理和用户场景模拟技巧等,充分了解用户的需求和问题。此外,需要将对用户需求的理解转换为软件功能规格说明书和软件架构文档等需求说明书,使整个团队,特别是开发团队能够准确地了解软件的范围和目标。
本章还指出了一些常见的需求分析问题,例如需求不稳定,需求冲突和需求过多等问题,同时提出了一些解决方案,如需求优先级划分、需求评审和需求管理等。这些措施可以确保团队在需求分析过程中能够了解需求变化和最终目标,同时避免过多的需求被混淆,影响软件使用效果。
综上所述,在软件开发中,需求分析必不可少。通过充分了解并把握用户的需求和问题,我们可以设计出符合用户期望、具有实际价值的软件。同时,需要采用科学的方法和有效的工具来完成需求分析和管理。我们可以通过需求申明、需求规格说明书和用例等方式,确保团队不仅在理解用户需求方面独具成效,还能在实际的软件开发中更加高效和准确地运用需求分析成果,实现将用户需求转化为具体功能的过程。

标签:需求,分析,软件开发,08,用户,笔记,构建,软件,团队
From: https://www.cnblogs.com/DREAM2021/p/17435982.html

相关文章

  • 构建之法阅读笔记09
    《现代软件工程构建之法》第九章讲述了项目经理在软件开发中的角色和职责,以及项目管理的一些基本原则和方法。在我的过去的软件开发经验中,我可能会集中在技术开发上,忽略项目管理和沟通方面的问题。这种方法往往会导致进度和质量等问题,缺乏项目的整体视野和沟通能力。通过本章的学......
  • IDEA 中 Maven 自动构建错误
    「构建」页签是正常的,但是「自动构建」页签报错:英文:Error:MavenResourcesCompiler:Mavenprojectconfigurationrequiredformodule'module-name'isn'tavailable.CompilationofMavenprojectsissupportedonlyifexternalbuildisstartedfromanIDE.中文:......
  • End-to-End Object Detection with Transformers论文阅读笔记
    摘要作者提出了一种新的基于Transformer的目标检测模型DETR,将检测视为集合预测问题,无需进行nms以及anchorgeneration等操作。同时,对模型进行简单的修改就可以应用到全景分割任务中。方法ObjectdetectionsetpredictionlossDETR给出的是N个预测,N为预先设定的远大于GT目标框......
  • 构建之法阅读笔记04
    《现代软件工程构建之法》第四章讲述了在软件开发中两个人合作的重要性和合作方式。在过去,我通常独自完成任务,认为这样可以更快地完成,而且我可以完全掌控整个过程。但是,通过阅读本章,我明白了独自完成任务的弊端。首先,由于没有其他人协助,每当遇到问题时,我需要自己解决,并且经常会陷......
  • 构建之法阅读笔记05
    《现代软件工程构建之法》第五章主要讲述了团队和流程在软件开发中的重要性。在我过去的软件开发工作中,我通常会专注于完成指定任务,很少会考虑整个流程和团队的协作。在这种情况下,往往会出现缺乏沟通和协调,导致项目延误、返工和代码质量低下的问题。通过本章的学习,我意识到建立高......
  • 343. Integer Break刷题笔记
    题目描述难点主要是考虑整数拆成两个数之后不继续拆分的情况classSolution:defintegerBreak(self,n:int)->int:dp=[0]*(n+1)dp[2]=1foriinrange(3,n+1):forjinrange(1,i-1):dp[i]=max(dp[i],max......
  • 63. Unique Paths II刷题笔记
    问题描述主要是稀奇古怪的边界条件,例如左上角是1,最左边和最上边是1,有多个1,输入为行,或者列classSolution:defuniquePathsWithObstacles(self,obstacleGrid:List[List[int]])->int:m=len(obstacleGrid)n=len(obstacleGrid[0])dp=[0]*m......
  • 62. Unique Paths刷题笔记
    问题描述用动态规划做的,注意最左边和最上边的情况设置从0到n-1的列表可以用list(range(n))classSolution:defuniquePaths(self,m:int,n:int)->int:dp=[1]*mforiinrange(1,n):forjinrange(1,m):dp[j]+=dp[j......
  • 74. Search a 2D Matrix刷题笔记
    题目描述用了两个二分查找法。当然也可以把matrix转为数组来索引classSolution:defsearchMatrix(self,matrix:List[List[int]],target:int)->bool:low=0high=len(matrix)-1mid=0whilelow<=high:mid=(high......
  • 746. Min Cost Climbing Stairs刷题笔记
    题目描述出bug的时候输出打印dp就行classSolution:defminCostClimbingStairs(self,cost:List[int])->int:n=len(cost)+1ifn<=3:returnmin(cost[0],cost[1])dp=[0]*ncost.append(0)foriinrange(2......