zoukankan      html  css  js  c++  java
  • 需求分析

    软件需求分为三大部分

    1)功能需求:指系统需要完成那些事情,不应该做什么.
    2)非功能需求:比如可靠性、扩展性、响应时间、性能等等...
    3)设计约束:系统对操作系统的要求,硬件环境的要求,技术的可行性,操作的可信性,经济的可行性


    需求调查与问题定义

    在做需求调查时需要做到
    1)What-----应该收集什么信息
    2)Where----从什么地方收集
    3)How-------用什么机制或技术来收集


    需求分析通常包括六个方面

    1)绘制系统上下文范围关系图:主要用于定义系统与系统外部实体间的界限和接口的简单模型,他可以为需求确定一个范围.其实就是DFD的0层图
    2)创建用户接口原型
    3)分析需求的可行性:这个需求我们应该用什么技术解决,他实现后的性能怎么样,是否与其他需求相重合或是矛盾
    4)确定需求的优先级:可采用满意度/不满意度指标来说明(满意度1-5 表示当需求被实现时用户的满意程度;不满意度取值同理)
    5)需求建立模型
    6)使用质量功能调配(QFD):根据需求的理解发现隐藏需求而这些需求是用户也没有想到的需求,系统实现后会给用户一个惊喜,而没实现用户也不会有抱怨


    优秀需求具有的特性(十二点) 

    1)完整性:每一项需求都必须将所要实现的功能描述清楚.
    2)正确性:每一项需求都必须准确地陈述所要开发的功能
    3)可行性:每一项需求都必须在已知系统和环境的技术、资源等限制范围内是可以实施的
    4)必要性:每一项需求都必须和某项真正用户需求
    5)与实现无关性:需求关注的是系统将要做些什么,其后的阶段如设计,关注该系统将怎样来实现
    6)划分优先级:给每项需求分配一个可实施的优先级以指明特在产品中的重要程度.
    7)无二义性:每项需求对所有相关的读者只能有一个明确统一的解
    8)可验证性:每项需求都应能够被人或机器加以验证,否则将无法确定该项需求是否实现
    9)正确的层面:每项需求或者一组需求都应包含相应的层面信息,以便据此足以导出下一层产品需求或设计,但不应提供对下一层活动如设计不必要的限制.
    10)一致性:需求规格说明一致性是指软件需求不能与其它需求如系统需求、业务需求相矛盾.
    11)简洁明了:每一需求都应清晰地对应某一系统功能或用户需要,
    12)可跟踪性:应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链.


    不合格的需求派生的问题(七点) 

    1)没有足够用户参与 : 用户不多导致产品无法被接受
    2)用户需求的不断增加 : 带来过度的耗费和产品质量的降低
    3)模棱两可的需求说明 : 将导致时间的浪费和返工
    4)用户增加一些不必要的特性和开发人员画蛇添足
    5)过分简略的需求说明 : 以致遗漏某些关键需求
    6)忽略用户分类 : 忽略某类用户的需求将导致众多客户的不满
    7)不完善的需求说明 : 使得项目计划和跟踪无法准确进行


    外包

    1.技术外包: 将客户服务均外包给一家或多家公司来负责
    2.咨询外包: 指用软件公司的技术为用户的特定需要而进一步地开发新系统,是双方在技术和市场方面的联盟合作
    3.测试外包: 把原有的测试部门的大部分测试分到外面去做,仅保留部分和开发互动非常紧密的少数测试人员
    4.维护外包: 把旧产品的维护工作交给别的公司,自己则专注新的产品的开发
    5.编程外包: 在完成产品设计后,把代码编程的工作外包
    6.设计外包: 几乎把所有的开发工作都外包给另一家公司,自己则集中精力做市场


    用户体验

    图释一:

    图释二:

  • 相关阅读:
    流量控制--2.传统的流量控制元素
    流量控制--1.概览
    Opentelemetry Collector的配置和使用
    高德全链路压测——精准控压的建设实践
    高德全链路压测——语料智能化演进之路
    业内首发车道级导航背后——详解高精定位技术演进与场景应用
    浅析云控平台画面传输的视频流方案
    关于卫星定位,你想知道的一切
    Pod容器中安装软件包
    面试应该怎么问问题?
  • 原文地址:https://www.cnblogs.com/qq75077027/p/2912934.html
Copyright © 2011-2022 走看看