zoukankan      html  css  js  c++  java
  • 《需求工程》读书笔记2

    12月21日23:59前发表第二篇读书笔记。

    三、需求工程主要内容;

    1、需求的种类和定义

    这是需求工程根本的出发点,也正因为这样,对于此业界还是有基本公认的概念。

    需求的定义(IEEE1990):用户(人或系统)为解决问题或达成目标所需要的特性或条件;为满足合同、规范、规格说明书或其他正式文档要求,系统或系统组件必须满足的特性或条件;以上所描述的特性或条件的文档化的表现形式。

     

    需求的种类分为:

    (1)功能需求,是系统或系统组件应实现的功能,用系统的语言描述系统应该做什么;

    功能需求的典型例子是功能、过程描述、场景以及系统对于特定输入的反应,还有数据和接口需求,以及业务流程和工作流。

    (2)质量需求,指产品或组件需要表现的定性的特点,如性能、安全、可用性,以及可测试性、可维护性、可迁移性;

    (3)约束,是一种组织的或技术的需求,限制系统的实现方式,如成本、市场分析、流程、基础设施、营销、组织、文档

    2、需求的十步获取法

    (1)明确利益相关方和利益相关方;

    (2)确定关键成功因素;

    (3)商定愿景、范围和上下文,系统上下文确定做什么,也确定不做什么;

    (4)有条不紊地开发需求,注意用“负面需求”描述不允许发生的场景、情况和行为;

    (5)文档化和结构化需求;

    (6)需求建模,关键的问题是需求如何关联?环境和需求相互之间如何影响?

    (7)分析需求,主要回答这些问题:需求如何相互影响?哪个需求可以重用?是否可以重复使用以前的解决方案?哪些需求将占用绝大多数的工作量?有没有工作量大,但对目标贡献不大的需求?

    (8)核查需求,如完整性、一致性、可验证性、无矛盾性、可扩展性和可读性;

    (9)排定需求的优先级;

    (10)确定你的假设和需求。

     

    3、几个不太常见但又有用的需求获取方法

    (1)情节串联板通常就是使用工具向用户说明或演示系统如何适合企业的需要,并说明系统将如何运转。类型包括被动式、主动式和交互式。被动式情节串联板由草图、图片、屏幕截图、幻灯片组成,主动式情节串联板类似电影样片可自动播放,交互式情节串联板让用户体验系统的的行为如仿真器、实物模型或抛弃式原型。

    (2)联合需求计划(JRP)通过高度组织的群体会议来分析企业内的问题并获取需求的过程,相对成本较高,但十分有效。通过联合各个关键用户代表、系统分析师、开发团队代表一起,通过有组织的会议来讨论需求,通常6~18人,时间1~5小时。最大难点是会议的组织和相关人员的能力,要言之有物、气氛开放。

     

    4、需求分析工作

    需求分析的工作通常包括7个方面:

    (1)绘制系统上下文范围关系图,为需求确定一个范围;

    (2)创建用户界面原型;

    (3)分析需求的可行性;

    (4)确定需求的优先级,很重要的工作;

    (5)为需求建立模型,即分析模型,如OOA中的用例模型和领域模型、SA中的DFD和E-R图,需求分析模型主要描述系统的数据、功能、用户界面和运行的外部行为;

    (6)创建数据字典;

    (7)使用QFD。

     

    5、需求管理工作

    需求管理最基本的任务就是明确需求,并使项目团队和用户达成共识,即建立需求基线。另外,还要建立需求跟踪能力联系链,确保所有用户需求都被正确地应用,并且在需求发生变更时,能够完全地控制其影响范围,始终保持产品和需求的一致性。

     

    四、需求工程与运营商技术管理人员的结合点思考;

    运营商的技术管理人员有时会发现自己处于比较尴尬的一个境地,因为一方面自己并不直接开发、实现各种系统,而都是采用外包的方式,业务的需求都是经由自己再转给外包方,感觉自己有时成为了一个HUB,只是转发的角色;另一方面,为了体现自己的存在感,又不能让业务需求方将自己旁路,直接与外包方进行衔接,这个转发的角色又必须维持下去。

    但如果仔细想,把自己定义为需求的搜集、分析、提炼方,尤其结合运营商日益庞大的IT系统,从业务部门提出的业务需求出发,将业务需求作为功能需求的一部分,补充其他的功能需求,分解提炼性能需求,以及从运营商整体IT系统架构的约束性需求,形成完整、完善的需求,再递交给外包方,并指导他们进行开发,这样就能找到自己的定位和价值。因此,需求工程可以说运营商技术管理人员需要掌握的核心技能之一。

    而我们需要掌握的另外一项核心技能就是系统架构的技能,这部分就暂不在这篇文章提及了。

    因此,需求工程的理论和方法是需要我们好好学习,并在实践中不断运用、总结、完善的。

    其他有启发性的笔记:

    (1)系统分析员的艺术是在推迟启动项目(由于要降低成本和不确定性)与推迟项目实施(由于仍存在不确定性和变化)之间寻找平衡。不要陷入“因不停分析而造成瘫痪”的陷阱;

    (2)应该将排优先级作为需求分析的一部分;

    (3)项目经理的衡量标准是项目的目标,而产品经理的衡量目标则是其产品的盈利;

    (4)需求工程需要投入项目总工作量的10%,项目开始之前的需求阶段占开发持续时间的10%~50%,项目过程中通常每月会有项目规模(工作量)1%~5%的变更;交付后每年还有5%~8%的新功能和10%的功能改变。

  • 相关阅读:
    MySQL 锁的监控及处理
    mssql sqlserver 不固定行转列数据(动态列)
    SQL常用增删改查语句--来源于网络
    mssql sqlserver 对不同群组对象进行聚合计算的方法分享
    mssql sqlserver 自动备份存储过程的方法分享
    mssql sqlserver updatetext关键字应用简介说明
    mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
    mssql sqlserver with cte表达式(递归)找出最顶值的方法分享
    mssql sqlserver text数据类型专题说明
    mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
  • 原文地址:https://www.cnblogs.com/D9412/p/5113477.html
Copyright © 2011-2022 走看看