资源预览内容
第1页 / 共220页
第2页 / 共220页
第3页 / 共220页
第4页 / 共220页
第5页 / 共220页
亲,该文档总共220页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件工程件工程监理理 必必备的的专业技技术知知识 (软件工程基件工程基础) 内容摘要内容摘要 一、一、软件工程内涵和架构件工程内涵和架构 二、二、软件工程前期主要工作内容件工程前期主要工作内容 三、三、软件开件开发相关技相关技术介介绍 四、程序四、程序设计语言和言和编码技技术介介绍 五、五、软件件测试技技术方法介方法介绍 六、六、软件件维护相关技相关技术介介绍 七、七、软件件项目管理相关技目管理相关技术介介绍 2 一、一、软件工程内涵件工程内涵和和架构架构 1.软件工程内涵件工程内涵 1)根据GB/T11457-1995软件工程术语,软件工程被定义为 软件开发、运行、维护和引退的系统方法, 目的就是为软件全生存周期活动提供工程化的手段,从而提高软件 的质量、降低成本和缩短开发周期等。 2)软件工程四大要素:方法与技术、工具与环境、管理与控制、标 准与规范。 方法与技术提供关于软件开发的一般原则、工作框架、开发策略和若干实用技术。其中包 括软件生存周期模型、自顶向下方法、结构化开发方法、面向对象的方法、需求工程和测 试技术等。 工具与环境为软件工程方法提供自动或半自动的软件支撑环境。它可用于提高软件的生产 率,保证软件质量,便于软件测试和集成,还可以提高软件开发过程的可见性和可控性。 管理与控制是将软件工程的方法和工具综合起来,达到合理、及时地进行计算机软件开发 的目的。软件工程管理主要包括项目、配置、文档、质量、经费、人员与进度等方面的内 容。 标准与规范是为软件开发和管理的过程以及软件产品规定的共同准则。它通常包括术语和 符号标准、产品标准、方法和技术标准以及管理标准等。 软件工程件工程监理技理技术培培训3 一、一、软件工程内涵件工程内涵和和架构架构 2. 软件工程架构件工程架构 软件工程件工程监理技理技术培培训4 软件工程的框架可概括为目标、活动和原则 1)目标:生产具有正确性、可用性和开销合宜的产品 正确性是指软件产品达到预期功能的程度 可用性是指软件基本结构、实现以及文档用户可用 开销合宜是指软件开发、运行的整个开销满足用户要求的程度 2)活动:生产一个最终满足需求且达到工程目标的软件产品 所需要的活动。软件开发的基本活动包括需求分析、设计、 实现、验证与确认和维护。 3)原则:适宜的开发风范、合适的设计方法、高质量的工程 支持、有效的软件工程管理。 二二、软件工程前期主要工作内容件工程前期主要工作内容 1.可行性分析可行性分析 2.需求分析需求分析 3.系系统设计 4.系系统建模建模 软件工程件工程监理技理技术培培训5 1.可行性分析可行性分析 开开发一个基于一个基于计算机的系算机的系统通常都受到通常都受到资源源 (人力、(人力、财力、力、设备等)和等)和时间上的限制,可行性上的限制,可行性 分析主要从分析主要从经济、技、技术、法律、法律等方面分析所等方面分析所给出的出的 解决方案是否可行,能否在解决方案是否可行,能否在规定的定的资源和源和时间的的约 束下完成。束下完成。 软件工程件工程监理技理技术培培训6 软件工程(第三版)件工程(第三版) 1 1)经济可行性可行性 经济可行性主要可行性主要进行成本效益分析,从行成本效益分析,从经济角度,确定系角度,确定系统是否是否值得开得开发 基于基于计算机的系算机的系统的的成本成本主要包括:主要包括: 购置硬件、置硬件、软件(如数据件(如数据库管理系管理系统、第三方开、第三方开发的构件等)和的构件等)和设备(如(如 传感器等)的感器等)的费用用 系系统的开的开发费用用 系系统安装、运行和安装、运行和维护费用用 人人员培培训费用用 7 1.可行性分析可行性分析 软件工程(第三版)件工程(第三版) 1 1)经济可行性可行性 经济可行性主要可行性主要进行成本效益分析,从行成本效益分析,从经济角度,确定系角度,确定系统是否是否值得开得开发 基于基于计算机的系算机的系统的的成本成本主要包括:主要包括: 购置硬件、置硬件、软件(如数据件(如数据库管理系管理系统、第三方开、第三方开发的构件等)和的构件等)和设备(如(如 传感器等)的感器等)的费用用 系系统的开的开发费用用 系系统安装、运行和安装、运行和维护费用用 人人员培培训费用用 8 1.可行性分析可行性分析 软件工程(第三版)件工程(第三版) 效益效益 经济效益包括使用基于效益包括使用基于计算机的系算机的系统后可增加的收入和可后可增加的收入和可节省的运行省的运行费用用 (如操作人(如操作人员数、工作数、工作时间、消耗的物、消耗的物资等)。在等)。在进行成本效益分析行成本效益分析时通常通常 只只统计五年内的五年内的经济效益效益 社会效益指使用基于社会效益指使用基于计算机的系算机的系统后后对社会社会产生的影响(如提高生的影响(如提高办事效益,事效益, 提高用提高用户满意度等),通常社会效益只能定性地估意度等),通常社会效益只能定性地估计 经济效益通常可用效益通常可用货币的的时间价价值、投、投资回收期和回收期和纯收入来度量收入来度量 9 货币的的时间价价值 设:当前金:当前金额为P P,年利率,年利率为i i,n n年后的金年后的金额为F F,则 计算算时,累,累计经济效益效益应折合成当前金折合成当前金额 软件工程(第三版)件工程(第三版) 投投资回收期回收期:累累计的的经济效益正好等于投效益正好等于投资数(成本)所需的数(成本)所需的时间 纯收入收入:累累计经济效益效益 投投资数数 当当纯收入大于零收入大于零时,该工程工程值得投得投资开开发 当当纯收入小于零收入小于零时,该工程不工程不值得投得投资(除非它有明(除非它有明显的社会效益)的社会效益) 当当纯收入等于零收入等于零时,通常也不,通常也不值得投得投资 显然,然,纯收入越大越好收入越大越好 10 软件工程(第三版)件工程(第三版) 2 2)技)技术可行性可行性 技技术可行性主要根据系可行性主要根据系统的功能、性能、的功能、性能、约束条件束条件 等,分析在等,分析在现有有资源和技源和技术条件下系条件下系统能否能否实现 技技术可行性分析通常包括可行性分析通常包括风险分析、分析、资源分析和技源分析和技 术分析分析 11 1.可行性分析可行性分析 软件工程(第三版)件工程(第三版) 风险分析分析:分析在分析在给定的定的约束条件下束条件下设计和和实现系系统的的 风险: 采用的技采用的技术不不够成熟成熟 人人员流流动 成本和人成本和人员估算不合理估算不合理 风险分析的目的是找出分析的目的是找出风险,评价价风险的大小,并有效的大小,并有效 地控制和地控制和缓解解风险 12 资源分析源分析:论证是否具是否具备系系统开开发所需的各所需的各类人人员、软 件、硬件等件、硬件等资源和相源和相应的工作的工作环境境 技技术分析分析:分析当前的科学技分析当前的科学技术是否支持系是否支持系统开开发的各的各项 活活动。技。技术角度上可能存在的角度上可能存在的风险,以及,以及这些技些技术问题对 成本的影响成本的影响 软件工程(第三版)件工程(第三版) 3 3)法律可行性)法律可行性 研究系研究系统开开发过程中可能涉及到的合同、侵程中可能涉及到的合同、侵权、责 任以及各种与法律相抵触的任以及各种与法律相抵触的问题 我国我国颁布了布了中中华人民共和国著作人民共和国著作权法法,其中将,其中将 计算机算机软件作件作为著作著作权法的保法的保护对象。国象。国务院院颁布布 了了计算机算机软件保件保护条例条例。这两个法律文件是法两个法律文件是法 律可行性分析的主要依据律可行性分析的主要依据 13 1.可行性分析可行性分析 软件工程(第三版)件工程(第三版) 方案的方案的选择和折衷和折衷 一个基于计算机的系统可以有多个可行的实现方案,每个方案对成 本、时间、人员、技术、设备都有不同的要求,不同方案开发出来 的系统在功能、性能方面也会有所不同。因此要在多个可行的实现 方案中作出选择 方案评估的依据是待开发系统的功能、性能、成本、开发时间、采 用的技术、设备、风险以及对开发人员的要求等 由于系统的功能和性能受到多种因素的影响,某些因素之间相互关 联和制约 例如:为达到高的精度就可能导致长的执行时间,为达到高可 靠性就会导致高的成本等等。因此,在必要时应进行折衷 14 1.可行性分析可行性分析 软件工程(第三版)件工程(第三版) 可行性分析的可行性分析的结论 可以立即开始进行 需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开 始进行 需要对开发目标进行某些修改之后才能开始进行 因为某种原因(如,技术不成熟、经济上不合算等)不能进行 15 1.可行性分析可行性分析 需求工程概述需求工程概述 需求需求获取取 需求分析、需求分析、协商与建模商与建模 需求需求规约与与验证 需求管理需求管理 软件工程(第三版)件工程(第三版)16 2.需求分析需求分析 1)需求工程概述)需求工程概述 Alan Davis 把需求工程定把需求工程定义为“直到(但不包括)把直到(但不包括)把 软件分解件分解为实际架构构件之前的所有活架构构件之前的所有活动” Herb Krasner定定义了需求工程的五了需求工程的五阶段:需求定段:需求定义和和 分析、需求决策、形成需求分析、需求决策、形成需求规格、需求格、需求实现与与验证、需、需 求演求演进管理管理 Matthias Jarke和和Klaus Pohl提出了三提出了三阶段周期的段周期的说 法:法:获取、表示和取、表示和验证 软件工程(第三版)件工程(第三版)17 软件需求工程(主流):件需求工程(主流):需求需求获取取、需求分析与需求分析与协商商、 系系统建模建模、需求需求规约、需求需求验证和和需求管理需求管理六个六个阶段。段。 2.需求分析需求分析 2)需求)需求获取取 系系统分析人分析人员通通过与用与用户的交流的交流、对现有系有系统的的观察察 及及对任任务进行分析行分析,确定系,确定系统或或产品范品范围的限制性描的限制性描 述、与系述、与系统或或产品有关的人品有关的人员及特征列表、系及特征列表、系统的技的技 术环境的描述、系境的描述、系统功能的列表及功能的列表及应用于每个需求的用于每个需求的 领域限制、描述不同运行条件下系域限制、描述不同运行条件下系统或或产品使用状况品使用状况 的的应用用场景景等等 需求需求获取的工作取的工作产品品为进行需求分析提供了基行需求分析提供了基础 软件工程(第三版)件工程(第三版)18 2.需求分析需求分析 软件需求包括件需求包括 功能需求功能需求 性能需求性能需求 用用户或人的因素或人的因素 环境需求境需求 界面需求界面需求 文档需求文档需求 数据需求数据需求 资源使用需求源使用需求 安全保密要求安全保密要求 可靠性需求可靠性需求 软件成本消耗与开件成本消耗与开发 进度需求度需求 其他非功能性要求其他非功能性要求 软件工程(第三版)件工程(第三版)19 需求需求获取方法与策略取方法与策略 建立建立顺畅的通信途径的通信途径 访谈与与调查 观察用察用户操作流程操作流程 组成成联合小合小组 用况用况(Use Case) 软件工程(第三版)件工程(第三版)20 建立建立顺畅的通信途径的通信途径 建立分析所需要的通信途径,以保建立分析所需要的通信途径,以保证能能 顺利地利地对问题进行分析。行分析。 软件工程(第三版)件工程(第三版)21 访谈与与调查 一般按照如下原一般按照如下原则进行准行准备: 所提问的问题应该循序渐进,从整体的方面开始提问,所提问的问题应该循序渐进,从整体的方面开始提问, 接下来的问题应有助于对前面的问题更好的理解和细接下来的问题应有助于对前面的问题更好的理解和细 化;化; 不要限制用户对问题的回答,这有可能会引出原先没不要限制用户对问题的回答,这有可能会引出原先没 有注意的问题;有注意的问题; 提问和回答在汇总后应能够反映用户需求的全貌。提问和回答在汇总后应能够反映用户需求的全貌。 软件工程(第三版)件工程(第三版)22 实例:例:“*比比赛成成绩管理
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号