




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章需求分析与项目管理20010年9月01日 西安电子科技大学课程 第三章需求分析与项目管理 3 1软件需求分析需求分析是软件工程的一个重要任务 它是系统层软件配置与软件设计间的桥梁 分析员要努力去做 l研究系统规格说明和项目计划 l确保对问题的识别 必须为分析建立通信关系 l评价和解释的综合是另一项重要工作 核心 做什么 而不是 怎样做 分析员必须在较好地弄清数据流 控制流功能处理过程 行为操作和信息内容的情况下 建立系统模型 第三章需求分析与项目管理 3 2需求分析的任务3 2 1确定对系统的综合要求1 功能需求2 性能需求3 可靠性和可用性需求4 出错处理需求5 接口需求6 约束7 逆向需求8 将来可能提出的需求 第三章需求分析与项目管理 3 2 2分析系统的数据要求分析系统的数据要求通常采用建立数据模型的方法 复杂的数据由许多基本的数据元素组成 数据结构表示数据元素之间的逻辑关系 利用数据字典可以全面定义数据 但是数据字典的缺点是不够形象直观 为了提高可理解性 常常利用图形工具辅助描绘数据结构 常用的工具有 层次方框图 Warnier图等 第三章需求分析与项目管理 3 2 3导出系统的逻辑模型根据分析结果可以导出系统的详细逻辑模型 通常用数据流图 实体 联系图 状态转换图 数据字典和处理算法描述这个逻辑模型 3 2 4修改系统的开发计划根据分析过程中获得的对系统更深入的了解 可以比较准确地估计系统的成本和进度 修正以前制定的开发计划 第三章需求分析与项目管理 3 3与用户沟通获取需求的方法3 3 1访谈访谈是获取用户需求的一项基本技术 它有两种基本形式 分别是非正式的和正式的访谈 正式访谈时 系统分析员要准备好具体的问题 非正式访谈分析员可以是开放式的交谈 鼓励被访人员说出自己的想法 原有系统存在的不足和期望 在访谈中必须记好笔记或录音 便于系统设计时不会丢失用户的需求或期望 同时 在交谈时要积极引导用户接受我方的技术优势 便于在竟标中获胜 第三章需求分析与项目管理 分析员能力的分析分析员有多种称谓 系统分析员 系统工程师 主系统设计师 程序员 分析员 其具备的条件如下 1 能掌握抽象概念 abstractconcepts 并能把其整理为逻辑划分 logicaldivisions 以及根据每一个逻辑划分综合为解的能力 2 能从冲突 conflict 或混乱 confusions 中吸取恰当事实的能力 3 弄清用户环境的能力 4 能把硬件和软件系统用于用户环境的能力 5 能用较好的书面和口头形式进行通信的能力 6 从树木见森林 的能力 即经常有NewIdea 第三章需求分析与项目管理 3 3 2面向数据流自顶向下求精软件系统开发中的结构化分析方法就是面向数据流自顶向下逐步求精的需求分析方法 通过可行性研究已经得出了目标系统的高层数据流图 需求分析的目标之一就是把数据流和数据存储定义到元素级 要达到此目的 一般从数据流图的输出端入手 这是因为系统的基本功能是产生这些输出 输出数据决定了系统必须具有的最基本的组成元素 输出数据来自何方 由哪些元素组成 沿数据流图从输出端向输入端回溯 可以确定每个数据元素的来源 与此同时 也初步定义了有关算法 第三章需求分析与项目管理 可行性研究阶段产生的是高层数据流图 许多具体的细节没有包括在里面 因此沿数据流图回溯时 常常遇到下述问题 为了得到某个数据元素需要用到数据流图中目前还没有的数据元素 或者得出这个数据元素需要的算法尚不完全清楚 为解决此问题 往往需要向用户和其他有关人员请教 它们的回答使分析员对目标系统的认识更清楚 更具体了 系统的更多的数据元素被划分出来了 更多的算法被搞清楚了 数据流图是帮助对分析结果进行复查的极好的工具 从输出端开始 分析员借助数据流图 数据字典 IPO图向用户解释数据是怎样转变成输出数据的 并填补遗漏或空白元素 第三章需求分析与项目管理 分析过程结构化分析方法 SA法 它是面向数据流自上而下逐步求精进行需求分析的方法 由可行性研究得出目标系统的高层数据流图 需求分析的目的之一是把数据流和存贮定义到元素级 下面给出需求分析的基本过程 第三章需求分析与项目管理 3 3 3简易的应用规格说明技术这种方法提倡用户与开发者密切合作 共同标识问题 提出解决方案要素 商讨不同方案并指定基本需求 使用简易的应用规格说明技术分析需求的典型过程是 初步访谈 开发者和用户分别写出 产品需求 会议讨论 统一意见 第三章需求分析与项目管理 3 3 4快速建立软件原型快速建立软件原型是最准确 最有效 最强大的需求分析技术 快速原型应该具备第一个特性 快速 第二个特性 容易修改 为了快速地构建和修改原型 通常使用下述3种方法和工具 1 第四代技术 2 可重用的软件构件 3 形式化规格说明和原型环境 第三章需求分析与项目管理 3 4分析建模与规格说明3 4 1模型建立模型将作为软件设计的基础和编写软件规格说明的依据 一般的说明 在需求分析阶段要写出详细的规格说明是不可能的 因为 用户对什么是正确的需求没有把握 开发人员对怎样正确的完成所要取得功能和性能也没把握 所以需求分析选择模型开发方法 需求分析过程应该建立3种模型 数据模型 实体 联系图 描绘数据及数据对象之间的关系 功能模型 数据流图 描绘当数据在软件系统中移动时被变换的逻辑过程 行为模型 状态转换图 描绘系统各种行为模式和在不同状态间的转换 第三章需求分析与项目管理 建模的目的 更好的了解系统信息 功能和行为 使分析更系统化 模型是评审的焦点 是确定系统完整性 completeness 一致性 consistency 和规格说明准确性 accuracy 的关键 模型是设计的基础 能给设计人员一种软件基本表达式 它可映射成为实现的正文 模型有助于更好的理解要建立的实体 它主要说明系统必须作什麽 而不是怎麽作 通常用图形符号表示的方法来描述信息处理系统行为而其他特性则使用性质不同和公认的图符表示 模型的另一些部分还可以是纯数字形式 第三章需求分析与项目管理 3 4 2规格说明规格说明是需求分析阶段得出的最主要的文档 是一种过程的表示方式 共有如下几条原则 1 从实现中说出功能 2 要求一个面向过程的系统规格说明语言 3 一个规格说明必须围绕整个系统 而软件只是它的一个组成部分 4 一个规格说明必须围绕整个系统的操作环境 5 一个规格说明必须是可操作的 6 一个规格说明必须是容许它是不完整的和可扩展的 7 一个规格说明必须是局部化的和松散耦合的 l局部化是当信息改变时 只有一些简单的碎片 理想的 需要修改 l松散耦合结构是碎片可以方便的加入或取出 结构自动调整 第三章需求分析与项目管理 典型的符合国家标准GB856D 88规定的规格说明格式1 引言1 1编写说明1 2背景1 3定义1 4参考资料2 任务概述2 1目标2 2用户的特点2 3假定与约束3 需求规定3 1对功能的规定3 2对性能的规定 第三章需求分析与项目管理 3 2 1精度3 2 2时间特性要求3 2 3灵活性3 3输入输出要求3 4数据管理能力要求3 5故障处理要求3 6其他专门要求4 运行环境规定4 1设备4 2支持软件4 3接口4 4控制 第三章需求分析与项目管理 3 5概念模型和规范化软件系统的整个开发过程都必须考虑两方面的问题 数据 及对数据的 处理 为了把用户的数据要求清晰明确的表达出来 系统分析员要建立概念性的数据模型 也称信息模型 它也是一种面向问题的数据模型 是按用户的观点来对数据和信息建模 采用的方法是 实体 联系方法 Entity RelationshipApproach 即E R模型 第三章需求分析与项目管理 3 5 1E R模型实体 矩形框 E R联系 菱形框 属性 椭圆形或圆角矩形 实体是可相互区分的事物 例如职工 学生 课程 教师 联系是事物间的联系 教师与课之间 教 的联系 学生与课之间 学 的联系此联系有3类 一对一 1 1 例如部门与经理 一对N 1 N 某教师上多门课 多对多 M N 一个学生学多门课 而每门课有多名学生上 属性是实体或联系所具有的性质 通常一个实体由若干个属性来刻画 如 学生实体有姓名 性别 系 年级 教师 职称 职务联系也可能有属性 例如 学生 学 某门课程取得的成绩 第三章需求分析与项目管理 教学管理ER图 第三章需求分析与项目管理 3 5 2数据规范化消除数据冗余 即消除表格中数据的重复 消除多义性 使关系中的属性含义清楚 单一 使关系的 概念 单一化 让每个数据项只是一个简单的数或字符串 而不是一个组项或重复组 方便操作 使数据的插入 删除与修改操作可行而且方便 使关系模式更灵活 易于实现接近自然语言的查询方式 第三章需求分析与项目管理 用 范式 定义消除数据冗余的程度 第一范式 1NF 数据冗余程度最大 第五范式 5NF 数据冗余程度最小 1 范式级别越高 存贮同样数据就需要分解成更多张表 因此 存储自身 的过程也就越复杂 2 随着范式级别的提高 数据的存储结构与基于问题域的结构间的匹配程度也随之下降 因此 在需求变化时数据的稳定性越差 3 范式级别提高则需要访问的表增多 性能 速度 将下降 从实用角度看 在大多数场合选用第三范式都比较恰当 第三章需求分析与项目管理 用教学管理为例说明如何规范化 有三个实体 即课程 学生和教师 用三个关系保存它们的信息 学生 学号 姓名 性别 年龄 专业 籍贯 教师 职工号 姓名 年龄 职称 工资级别 工资 课程 课程号 课程名 学分 学时 课程类型 为表示实体型之间的关联 又建立两个关系 选课 学号 课程号 听课出勤率 作业完成率 分数 教课 职工号 课程号 这五个关系 组成了数据库的模型 在每个关系中 属性名下加下划线指明关键字 并规定关键字能唯一地标识一个元组 第三章需求分析与项目管理 判断规范化程度的条件是 1 关系中所有属性都是 单纯域 即不出现 表中有表 2 非主属性完全函数依赖于关键字 3 非主属性相互独立 即任何非主属性间不存在函数依赖 如果一个关系连条件 1 都不满足 则这个关系是非规范化的 如果一个关系仅满足条件 1 则这个关系满足第一范式 1NF 如果一个关系满足条件 1 2 但不满足 3 则这个关系满足第二范式 2NF 如果一个关系同时满足条件 1 2 和 3 则这个关系表满足第三范式 3NF 当数据模型达到3NF 一般情况下就能满足数据库应用的需要 第三章需求分析与项目管理 第三章需求分析与项目管理 第三章需求分析与项目管理 3 6状态转化图状态转化图通过描绘系统的状态及引起系统状态转换的事件 来表示系统的行为 此外 状态图还指明了作为特定事件的结果系统将做哪些动作 例如 处理数据 因此 状态图提供了行为建模机制 3 6 1状态状态是任何可以被观察到的系统行为模式 一个状态代表系统的一个行为模式 状态规定了系统对事件的响应方式 系统对事件响应 既可以是做一个 或一系列 动作 也可以是仅仅改变系统本身的状态 还可以是既改变状态又做动作 第三章需求分析与项目管理 状态图既可以表示系统循环运动过程 也可以表示系统单程生命期 当描绘循环运动过程时 通常并不关心循环是怎样启动的 当描绘单程生命期时 需要标明初始状态 系统启动时进入初始状态 和最终状态 系统运行结束时到达最终状态 3 6 2事件事件是在某个特定时刻发生的事情 它是对引起系统做动作或从一个状态转换到另一个状态的外界事件的抽象 例如 内部时钟表明某个规定的时间段已经过去 用户移动或点击鼠标等都是事件 简而言之 事件就是引起系统做动作或转换状态的控制信息 第三章需求分析与项目管理 3 6 3符号在状态图中 初态用实心圆表示 终态用一对同心圆 内圆为实心圆 表示 中间状态用圆角矩形表示 可以用平衡线把它分割成上 中 下3个部分 上部分为状态的名称 该部分是必须的 中间部分为状态变量的名字和值 该部分为可选 下面部分是活动表 该部分为可选 状态图中两个状态之间带箭头的连线称为状态转换 箭头指明了转换方向 如转换过程中有事件触发 可以用事件表达式标明 第三章需求分析与项目管理 状态图中使用的符号活动表中出现的标准事件 do exit entry 电话系统状态图 电话系统状态图 第三章需求分析与项目管理 3 7其他图形工具在描绘复杂的关系时 图形比文字叙述优越的多 形象直观 下面介绍三种图形工具 3 7 1层次方框图层次方框图采用树形结构的一系列多层次的矩形框来描绘数据的层次结构 随着结构的细化 层次方框图对数据结构也描绘的越来越详细 该模式非常适合于需求分析阶段的需要 第三章需求分析与项目管理 第三章需求分析与项目管理 3 7 2Warnier图Warnier是法国计算机科学家 是他提出的一种信息层次结构的图形工具 用Wariner图可表明信息的逻辑组织 他可以指出一类信息量是重复出现的 也可以表示特定信息在某类信息中是有条件的出现 因为重复和条件约束是说明软件处理过程的基础 极容易将Warnier图转变成软件设计的工具 第三章需求分析与项目管理 软件需求必须用自顶而下的方式揭示主要功能 接口和信息 逐层定义各层的细节 1 分层中 按垂直方向逐层细化2 分层中 按水平方向对功能进行分解 第三章需求分析与项目管理 3 7 3IPO图IPO输入 处理 输出图简称 是IBM公司发展完善的一种图形工具 他能够方便的描绘输入数据 对数据的处理和数据输出之间的关系 它的基本形式是左边框中列出有关输入数据 中间框内列出主要的处理 右边框内列出产生的输出数据 处理框内列出处理的次序暗示了执行的顺序 但这些基本符号还不足以精确描述执行处理的详细情况 粗大箭头清楚的指出数据通信的情况 改进的IPO图 也称IPO表 包含某些附加信息 在软件设计过程中更有用 第三章需求分析与项目管理 第三章需求分析与项目管理 3 8验证软件需求一般来说 应该从四个方面进行验证 l一致性 所有需求必须一致 l完整性 需求必须是完整的 规格说明书应包括用户需要的每个功能或性能 l现实性 制定的需求应该是用现有硬件技术和软件技术 基本上是可以实现的 l有效性 必须证明需求是正确有效的 确实能解决用户面对的问题 第三章需求分析与项目管理 验证软件需求的方法 第三章需求分析与项目管理 第三章需求分析与项目管理 结构化分析方法结构化分析 StructuredAnalysis SA 由美国YOURDON公司提出 采用自顶向下 逐层进行功能分解的系统分析方法来定义系统的需求 适用于分析大型的数据处理系统 方法的特点 利用数据流图 DataFlowDiagram DFD 来帮助理解问题 对问题进行分析 一般工具 DFD 数据字典 结构化英语 判定表 判定树等 第三章需求分析与项目管理 功能分析工具 DFD DD 结构化英语 判定表和判定树 行为分析工具 状态迁移图 Petri网等 数据分析工具 ER图或者EER 扩展ER 图 SA主要针对数据处理领域 因此 系统分析的侧重点在于功能分析和数据分析 而行为分析使用得较少 第三章需求分析与项目管理 结构化分析方法的一些弊病 基于功能分析和数据分析 将功能和数据分离 与人类现实世界环境不一样 和人的自然思维也就不一致了 以功能为主 数据只是被动的信息载体 当系统行为发生变化时 系统维护非常困难 DFD中不涉及系统的控制信息 因此 SA不适合于分析以控制信息为主的系统需求 面向对象方法1 方法简介面向对象方法是一种以数据或信息为主线 把数据和处理结合起来的方法 主要有四个要点 1 把客观世界看成是由各种对象组成的 任何事实都是对象 复杂的对象可由简单的对象组合而成 2 所有的对象都划分成各种对象类 简称类 3 按子类与父类的关系 把若干个对象组成一个层次结构的系统 在这个层次中 下层的子类具有和上层的父类相同的性质 这种现象称为继承 4 对象之间能够而且只能通过传递消息互相联系 第三章需求分析与项目管理 主要优点 1 与人类习惯的思维方法一致 2 稳定性好 3 可重用好 4 可维护性好 基于面向对象方法的系统开发过程主要分三个阶段 1 面向对象分析阶段面向对象分析 就是抽取和整理用户需求并建立问题领域精确模型过程 它的关键是识别出问题领域内的对象 并分析它们相互间的关系 最终建立起问题域的简洁 精确 可理解的正确模型 通常 面向对象分析主要包括需求陈述和面向对象建模两个步骤 第三章需求分析与项目管理 2 面向对象设计阶段面向对象设计 就是用面向对象观点建立求解空间模型的过程 它把分析阶段得到的需求转换成符合成本和质量要求的 抽象的系统实现方案 其过程可分为系统设计和对象设计 系统设计确定实现系统的策略和目标系统的高层结构 对象设计确定空间中的类 关联 接口形式及实现服务的算法 3 面向对象实现阶段面向对象实现主要包括两项工作 把面向对象设计的结果翻译成用某种程序语言书写的面向对象程序 测试并调试面向对象的程序 总之 面向对象的开发方法是一种以数据或信息为主线 把数据及施加在这些数据上的操作封装为一个称为对象的统一体 通过建立类和类的层次结构 继承机制 以及对象间的消息传递关系 从而实现由对象集合构成程序系统的开发方法 第三章需求分析与项目管理 关于开发方法选择的几点参考意见 1 系统的规模 复杂程度与不确定因素是选择开发方法的重要依据 系统规模大 功能与数据关系复杂 开发周期比较长 适宜采用生命周期法 系统规模适中 需求的不确定性高 适宜采用原型法 系统规模小 复杂程度不高 适宜采用生成法 功能单一 结构简单的单项数据处理系统 则适宜采用IMPO法 面向对象几乎适用于各种方法 第三章需求分析与项目管理 2 开发人员的素质和工作基础是选择开发方法的先决条件 初次参与开发工作 开发经验不多的人员适宜采用生命周期法 技术水平高 开发经验丰富的人员 可以考虑采用原型法 IMPO法 具有较好工作基础的可以采用生成法 智能法和面向对象方法等 3 用户和系统环境的条件是选择开发方法的重要参考因素 用户人才队伍的技术水平 科学管理的基础 领导的重视程度以及时间性 实用性等都会影响到选择方法的决定 4 系统开发方法的确定与选择的开发策略直接有关 上述总结是一个非常准确的 而且具有指导性的意见 第三章需求分析与项目管理 第三章需求分析与项目管理 需求分析方法的比较结构化分析方法以系统的功能分析为主 而功能是易变的 面向对象分析方法以组成系统的对象分析为主 而对象是比较稳定的 结构化分析方法主要针对数据处理领域 而面向对象分析方法同样适用于以控制为主的系统 面向对象分析具有更好的扩展性 因为对象的结构和关系相对于系统的功能而言更稳定 功能的变化通过更新对象的操作加以适应 第三章需求分析与项目管理 3 9 1项目管理概述项目管理是第二次世界大战后期发展起来的重大新管理技术之一 虽然在此之前项目管理已广泛应用于许多事业领域 如工程建设项目和新产品开发 但直到第二次世界大战期间以及战后 它作为管理技术复杂的活动 或需要多学科协作的活动的一种特殊工具的价值 才完全被认识 其结果使项目管理成为一种相对来说较新的管理方法 得到迅速发展和不断完善 第三章需求分析与项目管理 项目管理主要是从开始和生产大型 高费用 进度要求严的复杂系统的需要中发展起来的 美国在60年代只有航空 航天 国防和建筑工业才愿意采用项目管理 70年代项目管理在新产品开发领域中扩展到了复杂性略低 变化迅速 环境比较稳定的中型企业中 到70年代后期和80年代 愈来愈多的中小企业也开始注目项目管理 将其灵活地运用于企业活动的管理中 项目管理技术及其方法本身也在此过程中逐步发展和完善 到80年代 项目管理已经被公认为是一种有生命力并能实现复杂的企业目标的良好方法 第三章需求分析与项目管理 中印软件只差一步 项目管理印度软件业近5年的年均增长率达56 印度大软件公司的项目按合同完成率在95 以上 而麦肯锡公司不久前的一项调查表明 全球软件开发项目中只有16 能按计划完成 全球通过CMM 5认证的52家软件企业中 印度就占了42家 在班加罗尔 诺伊达软件园区的Infosys TCS Wipro三家印度最大的软件企业 印度软件企业发展出乎意料 他们最突出的特点有几个 第一 是市场客户大 印度软件企业瞄准全球重要的北美市场 欧洲市场 拥有一批像美国通用 波音那样的著名大客户 美国通用公司前CEO韦尔奇甚至表示 你不可能发现比他们更理想的合作伙伴 第三章需求分析与项目管理 第二 是企业规模大 印度目前有软件公司7500家 从业人员41万 其中5000人以上的公司16家 1万人以上的公司6家 印度软件企业的上百家分支机构分布于欧美国家 我们考察的Wipro公司 其年产值近7亿美元 股市市值达60多亿美元 第三 是发展速度快 一些大软件公司 在人均产值近5万美元 公司近万人规模的基础上仍能保持年均40 到70 的增长速度 印度软件业近5年的年均增长率达56 第三章需求分析与项目管理 第四 是管理能力强 其软件项目按合同完成率高达96 以上 Wipro达到了99 3 他们对时间 质量 成本的控制能力的确非常强 此前我们研究印度软件业的发展 大都讲印度人有语言优势 人才优势 成本优势 还有产业定位准确 国际市场机遇把握准确 政府大力支持等等 其实最重要的则是印度软件企业极强的管理能力 极强的项目管理和项目控制能力 第三章需求分析与项目管理 一 项目以及项目管理 什么叫项目 项目是一种一次性的工作 它应当在规定的时间内 由为此专门组织起来的人员来完成 它应有一个明确的预期目标 还要有明确的可利用的资源范围 它需要运用多种学科的知识来解决问题 没有或很少有以往的经验可以借鉴 项目可以是建造一栋大楼 一座工厂 或一座大水坝 也可以是解决某个研究课题 例如研制一种新药 设计 制造一种新型设备或产品 如一种新型计算机 这些都是一次性的 都要求在一定的期限内完成 不得超过一定的费用 并有一定的性能要求等 所以 有人说项目是新企业 新产品 新工程 新系统和新技术的总称 第三章需求分析与项目管理 由此可见 在各种不同的项目中 项目内容可以说是千差万别的 但项目本身有其共同的特点 这些特点可以概括如下 1 项目由多个部分组成 跨越多个组织 因此需要多方合作才能完成 2 通常是为了追求一种新产物才组织项目 3 可利用资源预先要有明确的预算 4 可利用资源一经约定 不再接受其他支援 5 有严格的时间界限 并公之于众 6 项目的构成人员来自不同专业的不同职能组织 项目结束后原则上仍回原职能组织中 7 项目的产物其保全或扩展通常由项目参加者以外的人员进行 第三章需求分析与项目管理 二 项目管理及其特点与项目的概念相对应 项目管理可以说是在一个确定的时间范围内 为了完成一个既定的目标 并通过特殊形式的临时性组织运行机制 通过有效的计划 组织 领导与控制 充分利用既定有限资源的一种系统管理方法 项目管理具有以下基本特点 1 项目管理是一项复杂的工作 项目管理一般由多个部分组成 工作跨越多个组织 需要运用多种学科的知识来解决问题 项目工作通常没有或很少有以往的经验可以借鉴 执行中有许多未知因素 每个因素又常常带有不确定性 还需要将具有不同经历 来自不同组织的人员有机地组织在一个临时性的组织内 在技术性能 成本 进度等较为严格的约束条件下实现项目目标等等 第三章需求分析与项目管理 2 项目管理具有创造性由于项目具有一次性的特点 因而既要承担风险又必须发挥创造性 这也是与一般重复性管理的主要区别 项目的创造性依赖于科学技术的发展和支持 而近代科学技术的发展有两个明显的特点 一是继承积累性 体现在人类可以沿用前人的经验 继承前人的知识 经验和成果 在此基础上向前发展 二是综合性 即要解决复杂的项目 往往必须依靠和综合多种学科的成果 将多种技术结合起来 才能实现科学技术的飞跃或更快的发展 因此 在项目管理的前期构思中 要十分重视科学技术情报工作和信息的组织管理 这是产生新构思和解决问题的首要途径 第三章需求分析与项目管理 创新总是带有探索性的 会有较高的失败概率 有时为了加快进度和提高成功的概率 需要有多个试验方案并进 例如在新产品 新技术开发项目中 为了提高其质量和水平 希望新构思越多越好 然后再严格的审查 筛选和淘汰 以确保优良性能或质量 而筛选淘汰下来的方案也并不完全是没用的 它们可以成为企业内部的技术储备 这种储备越多 企业越能应付外界条件的变化和具有应变能力 科学探索是一件十分辛苦的工作 如果我们能够探索到新的想法 哪怕是一点点 可能就是一种创新的初级阶段 第三章需求分析与项目管理 3 项目有其寿命周期 项目管理的本质是计划和控制一次性的工作 在规定期限内达到预定目标 一旦目标满足 项目就失去其存在的意义而解体 因此项目具有一种可预知的寿命周期 项目在其寿命周期中 通常有一个较明确的阶段顺序 这些阶段可通过任务的类型来加以区分 或通过关键的决策点来加以区分 根据项目内容的不同 阶段的划分和定义也有所区别 但一般认为项目的每个阶段应涉及管理上的不同特点并提出需完成的不同任务 第三章需求分析与项目管理 项目管理需要集权领导和建立专门的项目组织 项目的复杂性随其范围不同变化很大 项目愈大愈复杂 其所包括或涉及的学科 技术种类也愈多 项目进行过程中可能出现的各种问题多半是贯穿于各组织部门的 它们要求这些不同的部门作出迅速而且相互关联 相互依存的反应 但传统的职能组织不能尽快与横向协调的需求相配合 因此需要建立围绕专一任务进行决策的机制和相应的专门组织 这样的组织不受现存组织的任何约束 由各种不同专业 来自不同部门的专业人员构成 因此 复杂而包含多种学科的项目 大都以矩阵方式来组织 这是一种着眼于取得项目和职能组织形式两者的好处的组织方式 第三章需求分析与项目管理 项目负责人 或称项目经理 在项目管理中起着非常重要的作用 项目管理的主要原理之一是把一个时间有限和预算有限的事业委托给一个人 即项目负责人 他有权独立进行计划 资源分配 指挥和控制 项目负责人的位置是由特殊需要形成的 因为他行使着大部分传统职能组织以外的职能 项目负责人必须能够了解 利用和管理项目的技术逻辑方面的复杂性 必须能够综合各种不同专业观点来考虑问题 但只有这些技术知识和专业知识仍是不够的 成功的管理还取决于预测和控制人的行为的能力 因此项目负责人还必须通过人的因素来熟练地运用技术因素 以达到其项目目标 也就是说项目负责人必须使他的组织成员成为一支真正的队伍 一个工作配合默契 具有积极性和责任心的高效率群体 第三章需求分析与项目管理 3 9 2项目管理中的项目组织结构一 项目组织基本理论项目组织是保证工程项目正常实施的组织保证体系 就项目这种一次性任务而言 项目组织建设包括从组织设计 组织运行 组织更新到组织终结这样一个生命周期 项目管理要在有限的时间 空间和预算范围内将大量物资 设备和人力组织在一起 按计划实施项目目标 必须建立合理的项目组织 1 项目组织特征 1 组织目标单一 工作内容庞杂 2 项目组织是一个临时性机构 3 项目组织应精干高效 4 项目经理是项目组织的关键 第三章需求分析与项目管理 2 项目组织设置原则 org 1 有效幅度管理原则 2 权责对等原则 3 才职相称原则 4 命令统一原则 5 效果与效率原则 6 适时重组原则3 项目组织机构的类型 1 工程指挥部型 从1964年以来 我国大型工程项目主要采取这种形式 目前仍然被广泛采用 优点是对项目实施过程中所出现的相互间协作配合问题的解决具有决策快 效率高的特点 缺点是该形式是行政管理的方式 许多方面不能符合市场经济的规律 现代项目管理中所采用的工程指挥部型项目组织 无论是形式上还是内容上都比早期的工程指挥部型有了很大的改进 第三章需求分析与项目管理 2 职能组织型 该结构呈金字塔形 高层管理者位于金字塔的顶部 中层和底层管理者则沿着塔身向下分布 公司的经营活动按照设计 生产 营销和财务等职能划分成部门 一个项目可以作为公司中某个职能部门的一部分 这个部门应该是对项目的实施最有帮助或最有可能使项目成功的部门 例如开发一个新产品项目可以被安排在技术部门的下面 直接由技术部门经理负责 3 项目组织型 在这种组织形式中 每个项目就如同一个微型公司那样运作 项目组的成员来自不同的部门 完成每个项目所需的资源完全分配给这个项目 专门为该项目服务 4 矩阵组织型 现代大型项目中应用最广泛的新型组织形式 它是职能组织型和项目组织型的结合 将职能组织型的纵向优势和项目组织型的横向优势有效结合起来 一个矩阵组织型由垂直的职能部门和水平的不同项目组结合而成一个矩阵 把集权和分权结合起来 从而加强了各职能部门同各项目之间的协作关系 第三章需求分析与项目管理 4 项目组织结构的变化系列 1 项目组织结构的变化系列职能组织型 项目组织型和矩阵组织型可以表示为一个变化系列 基于工作人员在自己部门的工作时间和在项目组中的工作时间之比 列出上图所示组织结构变化系列图 2 常用项目组织特点 第三章需求分析与项目管理 5 影响项目组织选型的因素 第三章需求分析与项目管理 6 项目组的组建 1 项目组的组成成员1 项目经理 包括业主项目经理 设计单位项目经理和实施单位项目经理 2 项目工程师 主管产品的设计开发 负责产品的功能分析 规格说明 图纸 费用估算 质量 工程变更及技术文档 3 制造工程师 为项目工程师的设计成果组织有效的生产过程 包括设计和安装相应的生产设备 安排生产进度以及其他的生产活动 4 现场经理 负责在产品交付用户使用时的现场支持 包括安装调试等 第三章需求分析与项目管理 5 合同管理员 负责项目的所有正式书面文件 对用户变更 提问 投诉 法律方面 成本及其他授权给项目的关于合同方面的事务保持跟踪 6 项目管理员 负责记录项目的日常收支情况 包括成本变化 劳务费用 日常用品及设备状况等 还要定期做一些报表 并与项目经理和公司领导保持密切联系 7 支持服务经理 负责产品的服务支持 与分包商的联系 信息处理等 第三章需求分析与项目管理 1 建立项目组沟通计划 通常可以采用会议 书面情况报告 电子邮件或其混合形式来加强项目组成员间的信息沟通和相互交流 2 项目启动会议 目的是召集项目有关人员开会 介绍项目目标 实施策略及计划安排 宣布有关项目管理中的有关规程 出席人员包括项目发起人 客户代表 公司主管领导 有关职能部门经理和全体项目组成员 该会议的结束标志着项目正式启动 第三章需求分析与项目管理 第三章需求分析与项目管理 项目的组织结构是实施项目管理的一个基本手段 也是开展项目管理工作的基础 针对具体的项目情况和实施要求选择合适的组织结构至关重要 随着当前项目管理形式的发展 项目组织结构理论可能会更趋丰富 新的适合项目管理需求的结构形式必将出现 这也是大家的期待 第三章需求分析与项目管理 第三章需求分析与项目管理 第三章需求分析与项目管理 项目成功的12个关键原则1 项目经理必须关注项目成功的三个标准简单地说 一是准时 二是预算控制在既定的范围内 三是质量得到经理和用户们的赞许 项目经理必须保证项目小组的每一位成员都能对照上面三个标准来进行工作 2 任何事都应当先规划再执行就项目管理而言 很多专家和实践人员都同意这样一个观点 需要项目经理投入的最重要的一件事就是规划 只有详细而系统的由项目小组成员参与的规划才是项目成功的唯一基础 当现实的世界出现了一种不适于计划生存的环境时 项目经理应制定一个新的计划来反映环境的变化 规划 规划 再规划就是项目经理的一种生活方式 第三章需求分析与项目管理 3 项目经理必须以自己的实际行动向项目小组成员传递一种紧迫感由于项目在时间 资源和经费上都是有限的 项目最终必须完成 但项目小组成员大多有自己的爱好 项目经理应让项目小组成员始终关注项目的目标和截止期限 例如 可以定期检查 可以召开例会 可以制作一些提醒的标志置于项目的场所 4 成功的项目应使用一种可以度量且被证实的项目生命周期标准的信息系统开发模型可以保证专业标准和成功的经验能够融入项目计划 这类模型不仅可以保证质量 还可以使重复劳动降到最低程度 因此 当遇到时间和预算压力需要削减项目时 项目经理应确定一种最佳的项目生命周期 第三章需求分析与项目管理 5 所有项目目标和项目活动必须生动形象地得以交流和沟通项目经理和项目小组在项目开始时就应当形象化地描述项目的最终目标 以确保与项目有关的每一个人都能记住 项目成本的各个细节都应当清楚 明确 毫不含糊 并确保每个人对此都达成了一致的意见 6 采用渐进的方式逐步实现目标如果试图同时完成所有的项目目标 只会造成重复劳动 既浪费时间又浪费钱 俗话说 一口吃不成个胖子 项目目标只能一点一点地去实现 并且每实现一个目标就进行一次评估 确保整个项目能得以控制 第三章需求分析与项目管理 7 项目应得到明确的许可 并由投资方签字实施在实现项目目标的过程中获得明确的许可是非常重要的 应将投资方的签字批准视为项目的一个出发点 道理很简单 任何有权拒绝或有权修改项目目标的人都应当在项目启动时审查和批准这些项目目标 8 要想获得项目成功必须对项目目标进行透彻的分析研究表明 如果按照众所周知记录在案的业务需求来设计项目的目标 则该项目多半会成功 所以 项目经理应当坚持这样一个原则 即在组织机构启动项目之前 就应当为该项目在业务需求中找到充分的依据 第三章需求分析与项目管理 9 项目经理应当责权对等项目经理应当对项目的结果负责 这一点并不过分 但与此相对应 项目经理也应被授予足够的权利以承担相应的责任 在某些时候 权利显得特别重要 如获取或协调资源 要求得到有关的中小企业的配合 做相应的对项目成功有价值的决策等等 10 项目投资方和用户应当主动介入 不能被动地坐享其成多数项目投资方和用户都能正确地要求和行使批准 全部或部分 项目目标的权力 但伴随这个权力的是相应的责任 主动地介入项目的各个阶段 例如 在项目早期要帮助确定项目目标 在项目进行中 要对完成的阶段性目标进行评估 以确保项目能顺利进行 项目投资方应帮助项目经理去访问有关的中小企业和目标顾客的成员 并帮助项目经理获得必要的文件资料 第三章需求分析与项目管理 11 项目的实施应当采用市场运作机制在多数情况下 项目经理应将自己看成是卖主 以督促自己完成投资方和用户交付的任务 项目计划一旦批准项目经理应当定期提醒项目小组成员 该项目必须满足的业务需求是什么 以及该怎样工作才能满足这些业务需求 12 项目经理应当获得项目小组成员的最佳人选最佳人选是指受过相应的技能培训 有经验 素质高 对于项目来说 获得最佳人选往往能弥补时间 经费或其它方面的不足 项目经理应当为这些最佳的项目成员创造良好的工作环境 如帮助他们免受外部干扰 帮助他们获得必要的工具和条件以发挥他们的才能 人员选择十分重要 第三章需求分析与项目管理 程序员特征的描述与分析 软件程序员俗称 搞软件的 他们有许多明显的特征 要进行管理就必须有所了解 1 表面现象 白天睡觉 晚上干活 吃青春饭 2 实际上程序员真的是与普通的人太不相同了 他们一贯而行的特点已经成为人们的笑柄 迂腐 吝啬 书生气 然而这些是表面上容易分辩的差异 第三章需求分析与项目管理 有一位敏锐的观察家珀 布劳森 PoBronson 总结了高级软件工程人员的七种习惯 尽管有些夸张 但还是比较准确的 1 在他们的自私中体现着慷慨 不愿意直接提提供源代码 却可以告诉你思路或不完善的思路 2 目光短浅使得他们想象力丰富 有贪图小便宜之嫌 3 他们不但会搬起石头砸雇主的脚 也会砸自己的脚 4 他们会极力维护自己不修边幅的形象 5 他们会把未坏的东西修到坏了为止 修改软件时 事与愿违 6 不是我回答的不对 是你的问题提得不对 强调别人的错误 不愿怀疑自己 7 无过便是功 第三章需求分析与项目管理 程序员的心理学 1 程序员用可控制性来换取简单性控制的代价是付出更多的努力和不断的增加的复杂性 普通的人们只愿意付出适度的努力去换取适度的控制 但程序员却更愿意也更有能力去掌握那些极具复杂性的东西 去熟悉和管理那些由许多人机交互因素组成的系统 并让系统运转自如 这正是对程序员有吸引力的工作之一 例如飞机驾驶仓的仪表盘上布满了仪表 旋钮和控制杆 而程序员却对这种令人沮丧的复杂性乐此不疲 而普通人则更愿意以乘客身份去坐飞机 第三章需求分析与项目管理 又例如 Windows98中的 搜寻文件 可以让我们得到对整过程的控制 可以指定搜索区域 类型等一些参数 从程序员的观点看 这是相当方便的 若再多花些精力和脑筋 可以搜索更快速 更有效 而真正的用户并不会认为这有多美妙 因为他们必须按搜索的区域 文件类型 文件内容 文件名来搜索 普通人 他们宁愿牺牲一些电脑运行时间 也不愿意去子解搜索功能是如何工作的 2 程序员只想求知而不要成功程序员通常会被一种不可抗拒的求知欲所驱使 他想知道所有事情是如何动作的 相反 普通人有一种强烈的成功愿望 当然程序员也想成功 但有时他们为了搞清楚一些事而宁愿付出失败的代价 第三章需求分析与项目管理 3 程序员注重可能性而不是合理性程序员有着象数学家一样的抽象思维 所以毫不奇怪他们为什么总是以有别于常人的方式来看待问题 人们把一些事件发生可能性以概率进行统计 程序员把这种百万分之一的可能性称为 边缘状况 但如果准备工作没有做好 小概率的事件一但发生 程序便会崩溃 业余爱好者与专业程序员之间最大区别就是为这种边缘状况所做的充足的准备 这种为可能性作准备的狂热 会难以避免也降低程序的合理性 其结果是在界面中夹杂着大量很少用到或根本用不到的控制参数 用户们最普遍的抱怨就是软件太难用 因为界面中有太多的搞不明白的选择项 第三章需求分析与项目管理 4 程序员像捣蛋鬼捣蛋鬼这个词包含了不成熟 自私 好斗 四肢发达 头脑简单等多重含义 在竞争中 他们对比他还瘦弱的同仁同样不会表示同情 而对那些比他强壮的男孩 会在私下里 因为他没有能力公开 嘲笑他们的蠢笨 他的态度同样是粗野而且简单的 胜者王侯败者贼 在较量中赢不了他的人会被他抛弃 他丝毫不会顾及那些失败的感情 也不会考虑他们是否还有其他方面的才能 他们价值观是以头脑的聪明度为基础的 他对那些不是捣蛋鬼的态度是 如果我能在智力方面战胜你 那我就比你强 第三章需求分析与项目管理 尽管像编程这样的个人运动竞争是无形的 千万别被他们表面上的斯文所迷惑 程序员都是一个好斗的人 而且真正好的程序员对待竞争应该像每一个参加奥运会的运动员一样地狂热 在当今的信息社会里 能够以智慧来征服别人的人掌握着巨大的权力 在人们看来 用高深莫测的软件来控制别人 或者在自动取款机前嘲笑那么绞尽脑汁却取不出现金的人们 都是可以接受的行为 第三章需求分析与项目管理 编程文化 的探索编程在一定程度上来说是非常有吸引力的 软件工程师用特殊的语言在一个特定的文化氛围中相互交流 下面将讲述编程文化是如何影响软件产品的特性的 一 编程的文化不同的人和他所在的文化中的思维方式和价值是不同的 举例 一对美国夫妇退休回到墨西哥雇一位美国建筑师来设计他们理想的房子 然后又雇一位墨西哥建筑商来建 并给了蓝图 蓝图上标明该房子顶楼有两个窗户 每个窗户的厂家和牌号都标明 房主发现实际的墙上是两个来自于不同厂家 外观尺寸与蓝图都不一样 当质问墨西哥建筑商时 他耸耸肩说 这些是窗户呀 图上说这面墙上有窗户呀 难道有什么不对吗 第三章需求分析与项目管理 美国用户心中构想的房屋建筑师心中构想的房屋 第三章需求分析与项目管理 房屋主人与建筑师来自同一背景文化具有相同的价值观 而建筑商却不是 评价问题的角度的视角也不同 显然他买这些窗户既省钱又省事 这在他的生活中是头等重要的 美国人认为蓝图就是完整而准确的要求 而墨西哥人却认为蓝图仅是个建议而不是必须按它来做 重复使用代码 软件的一个显著特点是 任何一个程序都可以被一个简单的命令调用 而被调用的程序的长度是无限的 换句话说 只要是现成的程序 要使用它只要一个简单命令就行 因此每一段已经编好的代码对程序员而言是一份天赐的礼物 他们只要直接插入这段代码到他的程序中就行 根本不用管它的内部是如何运转的 程序员不仅对使用代码很吝啬 而且不愿花时间去思考或测试 他们认为代码复用比其他的编程技术重要的多 第三章需求分析与项目管理 著名的UNIX大师艾里克 雷曼说 好的程序员知道怎么去写程序 而一个优秀的程序员知道怎么去重复使用程序 造成这种现象的原因 第一 并不是因为用户界面的设计者们都想作成这个样子 而是因为这些工作已经由其他程序员用别人的预算完成了 第二 代码复用的一个突出功能是 程序员常常采纳一些来源不可靠的代码 一些没有经验的程序员往往会为脑海中闪现的想法傻干一场 而一旦完成以后 这段代码将成为很多后续工作的基础 因为代码复用风气太重了 第三章需求分析与项目管理 以Windows为例 其中内部的核心处理程序是由真正有经验的程序员编写的 然而给外部开发人员提供的第一个用户交互的应用程序样本却是由许多在微软公司的夏季实习生或青少年爱好者完成的 互联网也是一样 业余爱好者们埋头苦干做出的第一个网站被后面的人克隆了 然后他们的网站又被不断的克隆 第三 由于程序员已经非常依赖代码复用 有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清明上河图的历史背景与艺术价值:八年级美术教案
- 时间极限皮秒课件
- 关于梦想的中考作文(12篇)
- 早期发现课件
- 商业智能咨询及服务合同条款
- 500字左右的教师节作文14篇
- 产品采购供应合同及质量保证条款
- 工地混凝土输送泵车出租合同
- 纪念七七事变课件
- 2025年磨工(中级)考试试卷:磨削加工教育与培训体系
- 2024年10月成都市金牛区人民政府西华街道办事处公开招考1名编外人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年牙医资格证技能试题及答案
- 初中道德与法治跨学科项目化学习的设计与实施讲座提纲
- DG-TG08-12-2024 普通中小学建设标准
- 《物业管理培训课件:业主满意度提升策略》
- 2025船舶抵押合同范本
- 金融标准化知识培训课件
- 2024年医销售药销售工作总结
- 2025年中国茯苓种植市场全面调研及行业投资潜力预测报告
- 医师规范化培训
- 监理跟踪、平行检测计划
评论
0/150
提交评论