好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程导论综合复习一.ppt

44页
  • 卖家[上传人]:m****
  • 文档编号:574298844
  • 上传时间:2024-08-16
  • 文档格式:PPT
  • 文档大小:165.50KB
  • / 44 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 综合复习综合复习  ( 第一章第一章 概概 述述 )   一、掌握软件的概念,了解其特点及分类一、掌握软件的概念,了解其特点及分类基于软件的概念基于软件的概念        软件是软件是计算机程序、规程以及运行计算机系统可能需要计算机程序、规程以及运行计算机系统可能需要相关文档和数据相关文档和数据其中,程序是按事先设计的功能和性能要求编写的指令序列;其中,程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的数据结构;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料文档是与程序开发、维护和使用有关的图文材料 注意:注意:程序并不是软件,程序只是软件的组成部分程序并不是软件,程序只是软件的组成部分关于软件的分类:主要考虑关于软件的分类:主要考虑基于软件功能的划分:基于软件功能的划分: 系统软件系统软件 应用软件应用软件 支撑软件支撑软件 基于软件的特点(作为问题分析及判断)基于软件的特点(作为问题分析及判断)((1)软件是一种逻辑实体软件是一种逻辑实体。

      2)软件的开发,是人的智力的高度发挥,而不是传统意义)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造上的硬件制造3)软件维护与硬件的维修有着本质的差别软件维护与硬件的维修有着本质的差别4)软件的开发和运行常常受到计算机系统的限制,对计算)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性机系统有着不同程度的依赖性5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制件的开发效率受到很大限制6)软件的开发是一个复杂的过程软件的开发是一个复杂的过程7)软件的成本非常高昂软件的成本非常高昂 二、二、 软件危机软件危机掌握掌握 软件危机的概念,分析其原因、消除办法及其表现软件危机的概念,分析其原因、消除办法及其表现形式形式软件危机软件危机是是指在计算机软件的开发和维护过程中所遇到的一系列严重问题指在计算机软件的开发和维护过程中所遇到的一系列严重问题概括的说软件危机包含下述两个方面的问题,如何开发软件,以满足对概括的说软件危机包含下述两个方面的问题,如何开发软件,以满足对软件日益增长的需要;如何维护数量不断膨胀的已有软件。

      软件日益增长的需要;如何维护数量不断膨胀的已有软件软件危机的主要表现有软件危机的主要表现有::ü对软件开发成本和进度的估计常常不很准确对软件开发成本和进度的估计常常不很准确ü用户对用户对““已完成的已完成的””软件系统不满意的现象经常发生软件系统不满意的现象经常发生ü软件产品质量往往靠不住软件产品质量往往靠不住ü软件常常是不可维护的软件常常是不可维护的ü软件通常没有适当的文档资料软件通常没有适当的文档资料ü软件成本在计算机系统总成本中所占的比例逐年上升软件成本在计算机系统总成本中所占的比例逐年上升ü软件开发生产痃提高的速度远远跟不上计算机应用迅速普及深入趋势软件开发生产痃提高的速度远远跟不上计算机应用迅速普及深入趋势 产生软件危机的原因产生软件危机的原因 在软件开发和维护过程中存在很多严重的问题,一方面与在软件开发和维护过程中存在很多严重的问题,一方面与软件本身的特点有关(软件是一种无形的产品等),另一方软件本身的特点有关(软件是一种无形的产品等),另一方面也和软件开发与维护的方法不当有关(认为软件开发就是面也和软件开发与维护的方法不当有关(认为软件开发就是简单的代码编写等)。

      简单的代码编写等) 实际上讲就是没有认识软件的生命周实际上讲就是没有认识软件的生命周期问题 消除软件危机的途径消除软件危机的途径 u在新时期要对软件有一个正确的认识,改变以前认为在新时期要对软件有一个正确的认识,改变以前认为软件软件就是程序的错误观念就是程序的错误观念;;u要认识到要认识到软件开发是一项工程项目软件开发是一项工程项目 为了解决软件危机既要有技术措施(方法和工具)又要有为了解决软件危机既要有技术措施(方法和工具)又要有必要的组织管理措施必要的组织管理措施 三、软件工程三、软件工程1、什么是软件工程、什么是软件工程软件工程是软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件经济地生产既可靠又能在实际机器上有效运行的软件2、什么是软件工程方法学?、什么是软件工程方法学? 通常把在软件生命周期全过程中使用的一整套技术的集合,称通常把在软件生命周期全过程中使用的一整套技术的集合,称为软件工程方法学为软件工程方法学软件工程方法学包括三个要素:软件工程方法学包括三个要素:方法、工具和过程方法、工具和过程。

      其中:其中:方法方法是完成软件开发的各项任务的技术方法,为软件开是完成软件开发的各项任务的技术方法,为软件开发提供了发提供了“如何做如何做”的技术;的技术;工具工具为软件工程方法提供了自动的为软件工程方法提供了自动的或半自动的软件支撑环境;或半自动的软件支撑环境;过程过程则是将软件工程的方法和工具综则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的合起来以达到合理、及时地进行计算机软件开发的目的注:注:传统方法学和面向对象方法学是目前使用得最广泛的两种软传统方法学和面向对象方法学是目前使用得最广泛的两种软件工程方法学件工程方法学 四、软件生命周期四、软件生命周期 什么是软件的生命周期?它是怎样划分的?什么是软件的生命周期?它是怎样划分的? 软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生存期一般称之为计算机软件的生存期 一般说来,软件生命期由一般说来,软件生命期由软件定义、软件开发和软件维护软件定义、软件开发和软件维护三个时期组成,每个时期又可进一步划分成若干个阶段。

      三个时期组成,每个时期又可进一步划分成若干个阶段 软件定义时期软件定义时期主要任务是:确定软件开发工程必须完成的主要任务是:确定软件开发工程必须完成的总目标;确定工程的可行性、导出实现工程目标应该采用的策总目标;确定工程的可行性、导出实现工程目标应该采用的策略及系统必须完成的功能等这一时期又可进一步划分为问题略及系统必须完成的功能等这一时期又可进一步划分为问题定义、可行性研究和需求分析定义、可行性研究和需求分析 开发时期开发时期具体设计和实现在前一个时期定义的软件,它通具体设计和实现在前一个时期定义的软件,它通常由下述常由下述4 4个阶段组织即总体设计、详细设计、编码和测试个阶段组织即总体设计、详细设计、编码和测试其中前两个阶段称为系统设计,后两个阶段可叫系统实现其中前两个阶段称为系统设计,后两个阶段可叫系统实现 系统维护时期系统维护时期主要是使软件持久地满足用户的需要主要是使软件持久地满足用户的需要 软件生命周期详细划分软件生命周期详细划分ü问题定义问题定义:主要任务是弄清用户要计算机解决的问题是什么主要任务是弄清用户要计算机解决的问题是什么。

      ü可行性研究可行性研究:任务是为前一阶段提出的问题寻求一种至数种在技术上可:任务是为前一阶段提出的问题寻求一种至数种在技术上可行、且在经济上有较高效益的解决方案行、且在经济上有较高效益的解决方案ü需求分析需求分析:弄清用户对软件系统的全部需求,主要是确定目标系统必须:弄清用户对软件系统的全部需求,主要是确定目标系统必须具备哪些功能具备哪些功能ü总体设计总体设计:设计软件的结构,即确定程序由哪些模块组成以及模块间的:设计软件的结构,即确定程序由哪些模块组成以及模块间的关系ü详细设计详细设计:把总体设计中的问题具体化,专门针对单个模块的设计把总体设计中的问题具体化,专门针对单个模块的设计ü编码编码:按照选定的语言,把模块的过程性描述翻译为源程序按照选定的语言,把模块的过程性描述翻译为源程序ü测试测试:通过各种类型的测试:通过各种类型的测试(及相应的调试及相应的调试)使软件达到预定的要求使软件达到预定的要求ü软件运行维护期软件运行维护期:是软件生存周期的最后一个时期软件人员在这一时:是软件生存周期的最后一个时期软件人员在这一时期的工作,主要是做好软件维护维护的目的,是使软件在整个生存周期期的工作,主要是做好软件维护。

      维护的目的,是使软件在整个生存周期内保证满足用户的需求和延长软件的使用寿命内保证满足用户的需求和延长软件的使用寿命 第二部分第二部分 一、软件过程的概念及四大要素一、软件过程的概念及四大要素 软件过程是软件工程人员为了获得软件产品而在软件工具软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动的支持下实施的一系列软件工程活动 软件过程中主要强调四大要素:软件过程中主要强调四大要素:生命周期、人员、方法、生命周期、人员、方法、产品 概括地说概括地说软件过程描述了开发出客户需要的软件,什么人、软件过程描述了开发出客户需要的软件,什么人、在什么时候、做什么事以及怎样做这些事以实现某一特定的在什么时候、做什么事以及怎样做这些事以实现某一特定的具体目标具体目标 二、软件过程的基本活动二、软件过程的基本活动 由于软件的复杂性和多样式,软件开发并没有一个理想的理想的过由于软件的复杂性和多样式,软件开发并没有一个理想的理想的过程,不同的开发组织或者不同的软件类型往往存在着完全不同的软件开程,不同的开发组织或者不同的软件类型往往存在着完全不同的软件开发过程,但一般来讲软件过程有如下一些活动:发过程,但一般来讲软件过程有如下一些活动: 问题提出:问题提出:提出软件需要做什么。

      提出软件需要做什么 软件需求规格说明:软件需求规格说明:将需求分析活动中获得的信息以文档的形式确将需求分析活动中获得的信息以文档的形式确定下来,描述了软件的功能,列出软件必须满足的所有约束条件等定下来,描述了软件的功能,列出软件必须满足的所有约束条件等 软件设计:软件设计:确定软件应该怎样做确定软件应该怎样做 软件实现:软件实现:将所设计的各个子系统编写成计算机可接受的程序代码将所设计的各个子系统编写成计算机可接受的程序代码 软件确认:软件确认:检查与验证系统是否符合客户期望检查与验证系统是否符合客户期望 软件演化软件演化        通常使用生命周期模型简洁地描述软件过程生命周期通常使用生命周期模型简洁地描述软件过程生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此也称为过程模型序,因此也称为过程模型软件过程模型是描述软件过程的整体框架,它是软件过程的一种抽象表示 一般来讲有下列几种具体的模型一般来讲有下列几种具体的模型 瀑布模型瀑布模型 快速原形模型快速原形模型 增量模型增量模型 螺旋模型螺旋模型 喷泉模型喷泉模型 Rational统一过程统一过程 敏捷过程与极限编程敏捷过程与极限编程 微软过程微软过程 形式化方法模型形式化方法模型 基于组件的开发模型基于组件的开发模型二、软件过程典型模型二、软件过程典型模型 Rational统一过程(统一过程(retional unified process简称简称RUP))是由Retional软件公司推出的一种完整而且完美的软件过程。

      它总结了6条最有效的软件开发经验,这些经验被称为最佳实践 Ø迭代式开发迭代式开发Ø管理需求管理需求Ø使用基于构件的体系结构使用基于构件的体系结构Ø可视化建模可视化建模Ø验证软件质量验证软件质量Ø控制软件变更控制软件变更RUP中有中有9个工作流个工作流,前,前6个是核心工作流程,后个是核心工作流程,后3个为核心支持工作流程;个为核心支持工作流程;4个阶段个阶段:初始、精化、:初始、精化、构建、移交构建、移交 第三部分第三部分 软件项目管理软件项目管理 一、软件项目的特征及四大要素一、软件项目的特征及四大要素软件项目的特征软件项目的特征软件项目有如下显著特征:软件项目有如下显著特征:Ø软件产品的不可见性软件产品的不可见性Ø项目的高度不确定性项目的高度不确定性Ø软件过程的多变化性软件过程的多变化性Ø软件人员的高流动性软件人员的高流动性软件项目管理的软件项目管理的4PØ人员(人员(people))Ø产品(产品(product))Ø过程(过程(process))Ø项目(项目(project)) 软件项目管理活动软件项目管理活动1 1、项目启动(、项目启动(确定目标和范围确定目标和范围)) 确定项目范围确定项目范围 组建项目团队组建项目团队 建立项目环境建立项目环境2 2、项目规划(、项目规划(建立项目基本计划建立项目基本计划)) 确定项目活动确定项目活动 预算项目成本预算项目成本 制定进度计划制定进度计划3 3、项目实施(、项目实施(按计划执行和控制项目按计划执行和控制项目)) 监控项目执行监控项目执行 管理项目风险管理项目风险 控制项目变更控制项目变更4 4、项目收尾(、项目收尾(交付产品总结经验教训交付产品总结经验教训)) 客户验收项目客户验收项目 安装培训软件安装培训软件 总结项目经验总结项目经验 高效的团队建设注意如下原则高效的团队建设注意如下原则Ø 项目成员集中办公项目成员集中办公Ø 人人参与产品设计人人参与产品设计Ø 关注最终产品发布关注最终产品发布Ø 注重项目人员培训注重项目人员培训Ø 建立良好的企业文化建立良好的企业文化 图3.1面向数据流自顶向下求精过程二、项目沟通管理二、项目沟通管理 1、项目沟通复杂性、项目沟通复杂性 软件团队规模是影响沟通有效性的重要因素之一,团队成员数量的增加会使软件团队规模是影响沟通有效性的重要因素之一,团队成员数量的增加会使项目的有效交流变得十分困难。

      对于一个具有项目的有效交流变得十分困难对于一个具有n个成员的项目团队来说,彼此之个成员的项目团队来说,彼此之间的沟通渠道数量是间的沟通渠道数量是n(n-1)/2,当项目成员数量超过,当项目成员数量超过 3个人时,共沟通渠道的数量个人时,共沟通渠道的数量就会快速增长就会快速增长实践表明项目成员数量应该保持在实践表明项目成员数量应该保持在3-7人之间2、几种项目沟通方式(总体上讲分为、几种项目沟通方式(总体上讲分为面对面面对面和和非面对面非面对面两种沟通类型)两种沟通类型)Ø会议沟通(面对面)会议沟通(面对面) 优点:比较正式的沟通,会后形成会议纪要,双方签字认可,还可能形成其优点:比较正式的沟通,会后形成会议纪要,双方签字认可,还可能形成其他文档;他文档; 不足:是有时间要求,有些细节问题可能无法沟通清楚,需会前后作补充不足:是有时间要求,有些细节问题可能无法沟通清楚,需会前后作补充Ø口头沟通(面对面)口头沟通(面对面) 优点:随时随时进行,比较随意,沟通内容与形式比较灵活,双方没压力;优点:随时随时进行,比较随意,沟通内容与形式比较灵活,双方没压力; 不足:一般比较难得到一些比较正式的承诺或文档不足:一般比较难得到一些比较正式的承诺或文档 图3.1面向数据流自顶向下求精过程Ø电子邮件电子邮件 优点:是现代办公常用方式,具有异步性和及时性特点,它是一种支持事件优点:是现代办公常用方式,具有异步性和及时性特点,它是一种支持事件驱动沟通的方式。

      驱动沟通的方式 不足:对一些需要立即反馈的情况不适合,沟通结果不能直接作为合同等正不足:对一些需要立即反馈的情况不适合,沟通结果不能直接作为合同等正式文件的内容式文件的内容Ø项目网站项目网站 优点:是保持组间交流、对外发布项目信息的理想工具可以利用其发布相优点:是保持组间交流、对外发布项目信息的理想工具可以利用其发布相关重要的项目文档关重要的项目文档 不足:不能立即提醒项目人员关注不足:不能立即提醒项目人员关注Ø书面报告书面报告 优点:有明确的法律效力和规范性,是一种正式的书面沟通方式,其语言表优点:有明确的法律效力和规范性,是一种正式的书面沟通方式,其语言表达更加准确、直观、严谨,能达到沟通最佳效果达更加准确、直观、严谨,能达到沟通最佳效果 不足:缺乏灵活性,如果只有一份正式文件,对方无法获知其中的诸多细节不足:缺乏灵活性,如果只有一份正式文件,对方无法获知其中的诸多细节需要其他沟通方式作补充需要其他沟通方式作补充 三、两种软件规模估算三、两种软件规模估算常用的估算方法有:代码行、功能点等技术常用的估算方法有:代码行、功能点等技术1 1、代码行技术、代码行技术是一种简单而直观的软件规模估算方法,它从属于直观估算与量化估是一种简单而直观的软件规模估算方法,它从属于直观估算与量化估算相结合的一种方法。

      算相结合的一种方法2 2、功能点技术、功能点技术是依据软件信息域的基本特征和对软件复杂性的估计,估算出软件规是依据软件信息域的基本特征和对软件复杂性的估计,估算出软件规划适用于软件开发初期估算适用于软件开发初期估算 用软件代码行估算软件的开发规模直观、简单易行用软件代码行估算软件的开发规模直观、简单易行 其缺点为:其缺点为: ① ① 代码行数估算依赖于开发工具的功能和表达能力;代码行数估算依赖于开发工具的功能和表达能力; ② ② 项目开发初期估算它的代码行数十分困难;项目开发初期估算它的代码行数十分困难; ③ ③ 用用代代码码行行估估算算方方法法会会对对需需要要设设计计精精巧巧的的项项目目产产生生不不 利影响;利影响; ④ ④ 代码行估算不适宜非过程式的程序设计;代码行估算不适宜非过程式的程序设计; 采用功能点度量的采用功能点度量的优点优点:: ((1 1)与程序设计工具无关,适用于各种语言环境,这对于面向对象的开)与程序设计工具无关,适用于各种语言环境,这对于面向对象的开 发方式尤为有用;发方式尤为有用; ((2 2)由于项目启动时就能基本上确定系统的输入、输出等参数,所以功)由于项目启动时就能基本上确定系统的输入、输出等参数,所以功 能点度量能用于软件开发成本在初期预估。

      能点度量能用于软件开发成本在初期预估 采用功能点度量的采用功能点度量的缺点缺点:: ((1 1)该方法涉及到的主观因素比较多,如)该方法涉及到的主观因素比较多,如 F Fi i的选取与评估人的经验和的选取与评估人的经验和 态度有较大的关系态度有较大的关系 ((2 2)计算公式中的)计算公式中的 FPFP值的物理意义不直观,不易理解值的物理意义不直观,不易理解 信息系统成本信息系统成本开发成本开发成本运行维护成本运行维护成本分析、设计费用分析、设计费用系统实施费用系统实施费用管理费用管理费用 系统规划系统规划 系统分析系统分析 系统设计系统设计系统开发成本系统开发成本编程与调试编程与调试硬件平台费用硬件平台费用系统软件费用系统软件费用网络施工费用网络施工费用数据整理录入数据整理录入系统运行费用系统运行费用行政管理费用行政管理费用维护费用维护费用人员费用人员费用消耗材料费用消耗材料费用固定资产折旧固定资产折旧硬件维护费用硬件维护费用软件维护费用软件维护费用二次开发费用二次开发费用技术资料获取技术资料获取人员培训费用人员培训费用系统平台成本系统平台成本其它费用其它费用三、软件的成本估算三、软件的成本估算 软件成本估算软件成本估算通常注意以下三个原则:通常注意以下三个原则: △△ 真实性与预见性原则真实性与预见性原则 △△ 透明性与适应性原则透明性与适应性原则 △△ 方便性与稳定性原则方便性与稳定性原则 软件开发规模与成本估算的方法软件开发规模与成本估算的方法 常用的四种估算方法:常用的四种估算方法: (1) 类比估算法:参照已完成类似项目,估算软件开发成本和工类比估算法:参照已完成类似项目,估算软件开发成本和工 作量。

      作量 (2) 分解估算法:将项目分解成若干子系统,先估算每个子系统成本和工作量,分解估算法:将项目分解成若干子系统,先估算每个子系统成本和工作量,再估算整个软件开发成本再估算整个软件开发成本 (3) 周期估算法:将系统按系统生命周期分解为若干阶段并估算,然后汇总出周期估算法:将系统按系统生命周期分解为若干阶段并估算,然后汇总出总工作量和成本总工作量和成本 (4) 经验估算法:根据实验或历史数据给出软件开发工作量或成本的经验估算经验估算法:根据实验或历史数据给出软件开发工作量或成本的经验估算公式 注意:采用分解法估算时应考虑系统集成时需要的工作量注意:采用分解法估算时应考虑系统集成时需要的工作量 四、软件风险及相关 l什么是软件风险?–使软件项目的实施受到影响和损失、甚至导致失败的、可能会发生的事件–例如,人员的临时流失,计划过于乐观,设计的低劣l软件风险的特点–事先难以确定–带来损失,影响项目实施,甚至会导致项目失败 什么是软件风险管理?l在风险影响软件项目成功实施前,对它进行识别和处理,并预防和消除风险的发生–识别风险(会有哪些风险?)–预防和消除风险(最好别让风险发生)–制定风险发生后的处理措施(万一发生该怎么办?) 风险管理的组成(1/3)风风险险识识别别风风险险分分析析风风险险优优先先级级风风险险管管理理计计划划风风险险化化解解风风险险监监控控 1、项目经理应该具备的基本素质和条件:有表率作用;有洞察力;技术过硬;有决断力;善于沟通善于激励他人;必要时能够支持上级领导 ;有全局观念;支持与关心团队成员;鼓励新观念新思想;有创新精神。

      五、软件项目管理辅助知识五、软件项目管理辅助知识 2、软件项目管理中人力资源的重要性、软件项目管理中人力资源的重要性           相关资料表明:对相关资料表明:对20002000家亏损国企的调查表明,政策性亏损占家亏损国企的调查表明,政策性亏损占9.99.9%,客观原因造成的亏损占%,客观原因造成的亏损占9.29.2%,经营不善造成的亏损高达%,经营不善造成的亏损高达81.7181.71%调查显示调查显示 ,,HRHR(( Human ResourceHuman Resource)对企业战略的整体影响力高达)对企业战略的整体影响力高达43%43%,几乎是其他任何因素影响力的两倍几乎是其他任何因素影响力的两倍软件项目的实施需要多种资源,其中人力资源是最基本、最重软件项目的实施需要多种资源,其中人力资源是最基本、最重要、最具创造性的资源、是影响项目成效的决定性因素要、最具创造性的资源、是影响项目成效的决定性因素人力资源是人类可用于生产产品或提供各种服务的活力、技能、人力资源是人类可用于生产产品或提供各种服务的活力、技能、知识和可提供的商誉价值知识和可提供的商誉价值人是企业最重要的资产,人的因素决定企业或项目的成败。

      人是企业最重要的资产,人的因素决定企业或项目的成败有效地管理人力资源是项目经理所面临的最为艰巨的挑战有效地管理人力资源是项目经理所面临的最为艰巨的挑战人力资源在经济活动中是居于主导地位的动能性资源,人类不人力资源在经济活动中是居于主导地位的动能性资源,人类不同于自然界其他生物之处在于人具有目的性、主观能动性和社同于自然界其他生物之处在于人具有目的性、主观能动性和社会意识人力资源是具有时效性的资源人力资源的形成、开发、使用人力资源是具有时效性的资源人力资源的形成、开发、使用都具有时间方面的制约都具有时间方面的制约 3、如何提高软件项目质量、如何提高软件项目质量           相关资料表明:对相关资料表明:对20002000家亏损国企的调查表明,政策性亏损占家亏损国企的调查表明,政策性亏损占9.99.9%,客观原因造成的亏损占%,客观原因造成的亏损占9.29.2%,经营不善造成的亏损高达%,经营不善造成的亏损高达81.7181.71%调查显示调查显示 ,,HRHR(( Human ResourceHuman Resource)对企业战略的整体影响力高达)对企业战略的整体影响力高达43%43%,几乎是其他任何因素影响力的两倍。

      几乎是其他任何因素影响力的两倍软件项目的实施需要多种资源,其中人力资源是最基本、最重软件项目的实施需要多种资源,其中人力资源是最基本、最重要、最具创造性的资源、是影响项目成效的决定性因素要、最具创造性的资源、是影响项目成效的决定性因素人力资源是人类可用于生产产品或提供各种服务的活力、技能、人力资源是人类可用于生产产品或提供各种服务的活力、技能、知识和可提供的商誉价值知识和可提供的商誉价值人是企业最重要的资产,人的因素决定企业或项目的成败人是企业最重要的资产,人的因素决定企业或项目的成败有效地管理人力资源是项目经理所面临的最为艰巨的挑战有效地管理人力资源是项目经理所面临的最为艰巨的挑战人力资源在经济活动中是居于主导地位的动能性资源,人类不人力资源在经济活动中是居于主导地位的动能性资源,人类不同于自然界其他生物之处在于人具有目的性、主观能动性和社同于自然界其他生物之处在于人具有目的性、主观能动性和社会意识人力资源是具有时效性的资源人力资源的形成、开发、使用人力资源是具有时效性的资源人力资源的形成、开发、使用都具有时间方面的制约都具有时间方面的制约3.7 3.7 软件项目管理辅助知识软件项目管理辅助知识 3、提升软件项目质量注意问题、提升软件项目质量注意问题Ø进行全面质量管理思想的教育。

      对全体员工进行全面质量管理思想进行全面质量管理思想的教育对全体员工进行全面质量管理思想的教育,以达到以下目的:并做好如下工作一是将满足顾客的需求的教育,以达到以下目的:并做好如下工作一是将满足顾客的需求放在首位;二是明白提高质量与降低成本的关系;三是树立百分之放在首位;二是明白提高质量与降低成本的关系;三是树立百分之百合格产品的责任感百合格产品的责任感Ø明确顾客需求:搞清楚什么样的产品是让用户满意的产品明确顾客需求:搞清楚什么样的产品是让用户满意的产品Ø了解市场:经常将别的厂商的产品向大家展示,并进行研究,让大了解市场:经常将别的厂商的产品向大家展示,并进行研究,让大家别人的的产品是怎么做的哪些做得好,那些还存在问题家别人的的产品是怎么做的哪些做得好,那些还存在问题Ø让员工明白什么是好的产品:给出样板,进行足够的培训,让大家让员工明白什么是好的产品:给出样板,进行足够的培训,让大家都真正明白什么是好的合格的产品都真正明白什么是好的合格的产品Ø建立明确的质量基准和质量测评制度:产品好坏一定要有一个明确建立明确的质量基准和质量测评制度:产品好坏一定要有一个明确公开的标准来衡量每个人都可以把自己的工作结果与之对照,从公开的标准来衡量。

      每个人都可以把自己的工作结果与之对照,从而知道自己做得是好是坏而且这种标准要以一种制度的形式切实而知道自己做得是好是坏而且这种标准要以一种制度的形式切实付诸实施,才能增加可信度付诸实施,才能增加可信度 Ø建立相对完善的激励机制:如果检测的结果对个人的利益无任建立相对完善的激励机制:如果检测的结果对个人的利益无任何影响,则员工没有尽力提高质量的动力要在物质和精神方何影响,则员工没有尽力提高质量的动力要在物质和精神方面对员工根据他们的绩效进行不同的激励面对员工根据他们的绩效进行不同的激励Ø帮助质量检测部门变成提高质量的催化剂帮助质量检测部门变成提高质量的催化剂Ø建立一套明确一致的解决问题的方法:出现问题后,大家能够建立一套明确一致的解决问题的方法:出现问题后,大家能够按照此方法去解决问题,而不是互相埋怨或手足无措按照此方法去解决问题,而不是互相埋怨或手足无措Ø在全体员工中培育主人翁意识和敬业精神:如果大家都抱着在全体员工中培育主人翁意识和敬业精神:如果大家都抱着“公司不是我的,我是来打工的,公司效益好坏、能够存活发展公司不是我的,我是来打工的,公司效益好坏、能够存活发展与我无关与我无关”,产品质量如何提高,公司如何搞好?,产品质量如何提高,公司如何搞好?Ø让员工有一定的自由和权利。

      让员工有一定的自由和权利Ø有质量小组,质量小组由不同角色的人员组成,负责发现质量有质量小组,质量小组由不同角色的人员组成,负责发现质量问题,讨论解决方法,提出并实施解决方案问题,讨论解决方法,提出并实施解决方案   ( 第四章第四章 需求分析需求分析 )   需求分析的特点需求分析的特点u问题的复杂性问题的复杂性u交流障碍交流障碍u需求易变性需求易变性u一不致性和不完整性一不致性和不完整性需求分析的任务需求分析的任务((1 1)确定软件系统的综合需求)确定软件系统的综合需求((2 2)分析系统的数据需求)分析系统的数据需求((3 3)导出软件系统的逻辑模型)导出软件系统的逻辑模型((4 4)修正系统开发计划)修正系统开发计划((5 5)开发原型系统)开发原型系统((6 6)验证软件需求分析的正确性)验证软件需求分析的正确性((7 7)编写软件需求规格说明书)编写软件需求规格说明书需求收集的方式需求收集的方式 1 1、访谈、访谈 2 2、问卷调查、问卷调查 3 3、场景使用、场景使用 4 4、用户资料收集、用户资料收集 二、分析建模与规格说明二、分析建模与规格说明1 1、分析建模、分析建模结构化分析实际上也算是一种创建模型的活动。

      根据结构化结构化分析实际上也算是一种创建模型的活动根据结构化分析的原则,需求分析过程要建立三种模型,它们分别是数据分析的原则,需求分析过程要建立三种模型,它们分别是数据模型、功能模型、行为模型模型、功能模型、行为模型 实体实体-联系图可以建立数据模型;联系图可以建立数据模型;数据流图是建立功能模型的基础;数据流图是建立功能模型的基础;状态转换图又是建立行为模型的基础状态转换图又是建立行为模型的基础实体实体-联系图与状态转换图联系图与状态转换图 2、实体、实体—联系图联系图 为了把用户的数据要求清楚、准确地描述出来,系统分析员通常要为了把用户的数据要求清楚、准确地描述出来,系统分析员通常要建立一个概念性的数据模型建立一个概念性的数据模型 概念性数据模型是一种面向问题的数据模型,是按照用户的观点对概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型它描述了从用户角度看到的数据,它反映了用户的现数据建立的模型它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与在软件系统中的实现方法无关实环境,而且与在软件系统中的实现方法无关。

      数据模型中包含数据模型中包含3 3种相互关联的信息:数据对象、数据对象的属性及种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系数据对象彼此间相互连接的关系 联系联系 数据对象彼此之间相互连接的方式称为联系,也称为关系联系数据对象彼此之间相互连接的方式称为联系,也称为关系联系可分为以下可分为以下3种类型:种类型:(1) 一对一联系一对一联系(1∶ ∶1)例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的与经理的联系是一对一的2) 一对多联系一对多联系 (1∶ ∶N)例如,某校教师与课程之间存在一对多的联系例如,某校教师与课程之间存在一对多的联系“教教”,即每位教师可,即每位教师可以教多门课程,但是每门课程只能由一位教师来教以教多门课程,但是每门课程只能由一位教师来教 (3) 多对多联系多对多联系 (M∶ ∶N) 例如,图例如,图 3.2 表示学生与课程间的联系表示学生与课程间的联系 (“ 学学 ”) 是多对多的,即一是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。

      个学生可以学多门课程,而每门课程可以有多个学生来学联系也可能有属性联系也可能有属性 实体联系图的符号实体联系图的符号Entity-Relationship Diagram 使用使用 ER 来建立数据模型数据模型中包含来建立数据模型数据模型中包含 3 种相互关联的信息:种相互关联的信息:实体(数据对象):用矩形框表示实体(数据对象):用矩形框表示属性:用椭圆形或圆角矩形表示实体或关系的属性属性:用椭圆形或圆角矩形表示实体或关系的属性关系:用连接相关实体的菱形框表示关系:用连接相关实体的菱形框表示具体例子见上图具体例子见上图 数据规范化数据规范化一般规范化有六级:一般规范化有六级:1NF-2NF-3NF-BCNF-4NF-5NF P3第一范式数据冗余度最大,第六范式的冗余度最小,但必须注意如下几第一范式数据冗余度最大,第六范式的冗余度最小,但必须注意如下几个问题:一是范式级别越高,存储同样的数据就需要分解成更多张表,因个问题:一是范式级别越高,存储同样的数据就需要分解成更多张表,因此存储过程也就越显复杂;二是随着范式级别的提高,数据存储结构与基此存储过程也就越显复杂;二是随着范式级别的提高,数据存储结构与基于问题域的结构间的匹配程度也随之下降,因此在需求变化时数据的稳定于问题域的结构间的匹配程度也随之下降,因此在需求变化时数据的稳定性较差;三是范式级别越高则性能将下降。

      综上所述一般从实用角度分析性较差;三是范式级别越高则性能将下降综上所述一般从实用角度分析最好选用第三范式比较恰当最好选用第三范式比较恰当 3 3、状态转换图、状态转换图       状态转换图也叫状态迁移图:是描述系统的状态如何相应外部的信号进状态转换图也叫状态迁移图:是描述系统的状态如何相应外部的信号进行推移的一种图形表示行推移的一种图形表示状态状态 状态是任何可以被观察到的系统行为模式,一个状态代表系统的一状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式状态规定了系统对事件的响应方式种行为模式状态规定了系统对事件的响应方式状态转换图包括三种元素状态转换图包括三种元素::可能的系统状态、允许的状态改变和迁移、可能的系统状态、允许的状态改变和迁移、引起状态转换的事件或条件引起状态转换的事件或条件在状态图中定义的状态主要有以下几种:在状态图中定义的状态主要有以下几种: 初态初态( (即初始状态即初始状态) )、终态、终态( (即最终状态即最终状态) )和中间状态和中间状态 在一张状态图中只能有一个初态,而终态则可以有在一张状态图中只能有一个初态,而终态则可以有0 0至多个。

      至多个事件事件 是在某个特定时刻发生的事情,它是对引起系统做动作或是在某个特定时刻发生的事情,它是对引起系统做动作或 ( ( 和和 ) ) 从一个状态转换到另一个状态的外界事件的抽象从一个状态转换到另一个状态的外界事件的抽象 是引起系统做动作或转换状态的控制信息是引起系统做动作或转换状态的控制信息 符号符号        圆圈圆圈” ○ ”表示可得到的系统状态初态用实心圆表示,终态用表示可得到的系统状态初态用实心圆表示,终态用一对同心圆一对同心圆(内圆为实心圆内圆为实心圆)表示 箭头箭头“ → ”表示从一种状态向另一种状态的迁移表示从一种状态向另一种状态的迁移 4、数据流图、数据流图在软件开发过程中,在系统设计之前一般需要完成三大模型在软件开发过程中,在系统设计之前一般需要完成三大模型即:即:功能模型、数据模型和行为模型功能模型、数据模型和行为模型,功能模型一般用数据流,功能模型一般用数据流图来描述;数据模型用实体联系图来描述;行为模型用状态图图来描述;数据模型用实体联系图来描述;行为模型用状态图来描述 数据流图中的符号数据流图中的符号 数据流图有数据流图有4种基本符号:种基本符号:正方形(或立方体)正方形(或立方体)表示数据的源点或终表示数据的源点或终点点圆角矩形(或圆形)圆角矩形(或圆形)代表变换数据的处理;代表变换数据的处理;开口矩形(或两条平等横线)开口矩形(或两条平等横线)代表数据存储;代表数据存储;箭头箭头表示数据流,即特定数据的流动方向。

      表示数据流,即特定数据的流动方向除上述基本符号之外,有时也使用几种附加符号:除上述基本符号之外,有时也使用几种附加符号:星号星号表示数据流之间表示数据流之间是与关系;是与关系;加号加号表示或关系;表示或关系;圆圈加号圆圈加号表示只能从中选一个(互斥关系表示只能从中选一个(互斥关系) 5、描述行为模型其它图形工具、描述行为模型其它图形工具一、层次方框图一、层次方框图 用树形结构的一系列多层次的矩形框描绘数据的层次结构顶层是用树形结构的一系列多层次的矩形框描绘数据的层次结构顶层是一个单独的矩形框它代表完整的数据结构,下面各层代表这个数据的子集,一个单独的矩形框它代表完整的数据结构,下面各层代表这个数据的子集,最底层的各个框代表这个数据的实际数据元素最底层的各个框代表这个数据的实际数据元素 二、二、warnierwarnier图图 法国计算机科学家法国计算机科学家warnierwarnier 提出的一种表示信息层次结构的图形工提出的一种表示信息层次结构的图形工具和层次方框图类似和层次方框图类似 三、三、IPOIPO图图 是输入、处理、输出图的简称,它是由美国是输入、处理、输出图的简称,它是由美国IBMIBM公司发展完善起来的公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

      这种图形的基本符号既少又简单,很容易掌握这种图形的基本符号既少又简单,很容易掌握。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.