第二章 软件生命周期概述_张冲杰20180928
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)发布和运行
如果研发对象是产品,一般
21
由研发公司择日发布,通常情 况下会在网络或媒体上宣传; 如果研发对象是项目,则一 般由客户确定正式交付日期, 客户在接收软件公司提供的软 件系统前,通常会进行验收测 试,验收通过才正式接受。
(2)维护
项目交付使用后,根据产品 维护协议,制定产品维护流 程,当软件系统在使用过程 中出现问题时,需及时处理, 直到产品废弃或升级。
15
2.2.4 需求调研开发
主动模式,软件公司派出 需求调研小组与用户直接 沟通,获得正确可靠的需 求。小组成员一般是客户 代表、需求开发者; 被动模式由软件公司市场 调研人员根据市场产品需 求信息分析判断,无明确 的需求提出者。
16
2.2.4 需求调研开发
在需求调研开发阶段,每一个 需求都需与客户、市场需求反 复验证确认,最终得到规范的 需求规格说明书。 需求规格说明书内容:软件系 统功能、性能、外部接口等需 求,作为后续软件开发活动的 基准输入。
学习内容 与目标
2
素质拓展:个人职业生涯周期
●
2.1 软件基本概念
(1)一般概念
软件一般指计算机数据和指令的集合体。 狭义:运行在计算机、手机、手持设备等电子设备上的 应用程序。 广义:包括源代码、与之相匹配的数据文档、支撑源代 码运行的配置数据。三者构成一个完整的软件实体。
3
(2)国家标准中软件的定义
19
(3)测试
根据测试计划,测试团队执行
测试用例测试系统的功能、性 能。经过版本迭代,完成系统 测试,编制出系统测试报告。 项目专家团队评审测试部门输 出的系统测试报告,如果达到 预定义的停测标准,则可结束 测试活动,否则持续回归测试, 直至达到被测对象应用准则。
20
2.2.6 发布、运行和维护
6
(4)软件度量和评价国家标准2
GB/T18491.1 -2001信息技术软件 测量功能规模测量第1部分:概念定 义 GB/T18491.2 -2010信息技术软件 测量功能规模测量第2部分:软件规 模测量方法与 GB/T18491.1 -2001的符合性评价 GB/T18491.3 -2010信息技术软件 测量功能规模测量第3部分:功能规 模测量方法的验证 GB/T18491.4 -2010信息技术软件 测量功能规模测量第4部分:基准模
7
(4)软件度量和评价国家标准3
GB/T18491.5 -2010信息技术软件测 量功能规模测量第5部分:功能规模测 量 的功能域确定 GB/T18491.6 -2010信息技术软件测 量功能规模测量第6部分:GB/T18491 系列标准和相关标准的使用指南 GB/T18905.1 -2002软件工程产品评 价第1部分:概述 GB/T18905.2 -2002软件工程产品评 价第2部分:策划和管理 GB/T18905.3 -2002软件工程产品评
GB/T14394-2008计算机软件可靠 性和可维护性管理 GB/T16260.1 -2006软件工程产品 质量第1部分:质量模型 GB/T16260.2 -2006软件工程产品 质量第2部分:外部度量 GB/T16260.3 -2006软件工程产品 质量第3部分:内部度量 GB/T16260.4 -2006软件工程产品 质量第4部分:使用质量的度量
市场需求调研 可行性研究 产品项目立项
发布运行维护
设计开发测试
需求调研开发
11
2.2.1 市场需求调研
(1)产品调研
含义:软件公司主动调查市场需 求,拟开发出符合需求的软件产 品;若需求由软件公司提出,用 户被动接收,属于被动模式。 特点:用户需求不确定,产品开 发过程随时可能遭遇需求变化风 险。例如滴滴打车、抖音、球球 大作战等。
课间休息
不抽烟,懂喝茶。
25
2.3 软件研发团队
早期软件公司可能仅有几个开发人员, 但业务不断发展的公司一般会根据产品或项 目质量需求配备相关的角色及人员,保证软 件研发活动的高质量实施,从而确保软件产 品质量。
26
2.3.1 研发人员构成
(1)研发组长
职责范围:定义待开发的软 件系统,组织研发团队会议, 人员工作安排,绩效考核等; 负责需求分析,设计与规划 等,完成相关文档,协调推 进项目功能实施,跟踪进度; 与相关团队保持有效沟通, 保证和提高研发质量。
14
2.2.3 产品项目立项
含义:经过市场需求调研和可行性 研究评审确认后,责任方进行产品 项目立项,组建研发小组,制定产 品研发计划; 产品研发计划包括需求分析、系统 设计开发、系统测试、软件发布、 运行维护等步骤和时间点; 研发团队成员应该包括项目经理、 研发工程师、测试人员。测试人员 一般后期加入。
22
软件系统正式运行后,如果 用户在使用过程中发现了缺 陷,研发公司将会提供补丁 进行修复,从而保证软件系 统正常工作。
2.2.7 软件生命周期文档管理
(1)一般研发阶段文档管理
(2)文档实例(智能OA办公系统)
《智能OA办公系统市场需求调研报告》 《××智能OA办公系统初步需求调研报告》 《××智能OA系统研发可行性报告》 《智能OA系统需求规格说明书》 《智能OA系统》概要设计 《智能OA系统》详细设计 信息社会,没有什么东 《智能OA系统项目开发》 西比读写技巧更重要。 《智能OA系统项目验收测试》 -------约翰•耐斯比特 《智能OA系统交付使用说明书》
28
(3)系统架构师
确认和评估系统需求; 设计系统整体架构,细化子 项目、子系统、组件和模块, 明确各个模块间的逻辑关系; 指导协助开发人员,澄清系 统细节、解决主要难点; 培训和指导研发团队,避免 团队成员误解系统设计要求 导致项目延误。
29
(4)开发工程师
职责范围:负责项目模块的 详细设计、编码和内部测试 的组织实施; 参与技术可行性分析和需求 分析,需熟练掌握公司软件 项目的相关软件技术和使用 方法; 负责修复测试工程师提出的 缺陷。
17
2.2.5 设计、开发和测试
(1)设计
由系统架构师从系统可靠性、 扩展性、安全性、可维护性等 角度进行系统概要设计; 系统概要设计完成要编制系 统概要设计说明书,形成概要 设计基线,规范后续的系统详 细设计、数据库设计。
18
(2)开发
项目组开发人员根据各自的
编码任务及规范完成相关模块、 子系统、软件的编码,形成测 试版本; 开发人员通过详细设计方便 清晰地理解开发对象的设计思 路及编程思路,从而降低编码 错误风险。
三种组织形式各有长短。 组织形式设计要本着经济有效原则, 符合企业实际。
2.4.2 软件测试团队分工
(1) 测试主管 或称为测试经理,专门负 责测试部门工作计划和日常测 试管理工作。 (2)测试组长 受测试主管指派,负责某 软件项目的所有测试工作,一 般由测试工程师担任。
(3) 环境保障人员
其作用是维护整个项目 系统环境,如硬件配置和软 件配置。大多数由测试工程 师兼任,少数专职。
wenku.baidu.com
30
2.3.2
研发组织结构
研发组织根据角色和职务、职权的不同,一般采 用下图所示的研发组织结构。 一个小型研发团队往往包括一名研发组长或经理, 1-2名页面(美工)制作人员,1名架构师,3-5名 开发工程师。
2.3.4 研发人员组织实例
开发经理张亮负责项目研发工作管理, 组织开发人员设计编写系统代码。 页面(美工)制作人员何静、刘媛负 责系统界面设计并配合及时调整设计 过程中出现的错误。 系统架构师孙伟负责整体架构设计, 包括数据字典、数据接口、数据库等, 也负责编写部分核心代码。 开发工程师李立、谢成、潘宇负责编 写系统基础代码和缺陷修复工作。
与计算机系统操作有关 的计算机程序、规程、 规则,以及相关文件、 文档及数据。
4
(3)软件工程国家标准汇编
《计算机软件工程 国家标准汇编(第2 版)》汇编三卷标准 47个; 基础与管理标准11; 软件开发与维护标 准15; 软件度量与评价21。
5
(4)软件度量和评价国家标准1(31个)
不比学历比技能 没有技能比勤劳 人更勤劳比做人 好人难做比低价 他价更低比奉献
山不转水转
35
随堂练习
1.软件的定义是什么? 2.软件生命周期经过哪些阶段? 3.软件测试活动在软件生命周期哪 个阶段介入?
2.4 软件测试团队
2.4.1 测试团队类型
(1)隶属于研发团队 公司无独立测试团队,测试工程师较少,属 于研发团队,研发组长兼任测试管理者,相对来 说测试重要性不高。
素质拓展1: 软件公司人员分工
(1) 软件公司人员架构
(2)主要业务岗位及其职责
前端业务:需求分析、页面 制作(UI设计); 后台业务:系统架构设计、 程序编写、软件测试; 售前业务:产品推销、需求 调研、客户接待; 售后业务:产品安装、用户 培训、产品维护等。
(3)出入职场竞争策略
泉州信息工程学院软件学院 《软件测试技术基础》
第二章 软件生命周期概述
教授、高级工程师 二○一八年九月二十七日
1
第二章 软件生命周期概述 教学计划
计划学时 6课时 掌握软件基本概念,理解软件生命周期理论,熟悉 软件研发团队及测试团队组织结构,了解企业中测 试团队的职能、技能构成、测试工程师在测试活动 实施过程中的职责范围;理解职业生涯周期理论。 知识点 2.1 2.2 2.3 2.4 软件基本概念 软件生命周期 软件研发团队 软件测试团队 ● ● 难点 重点 考点 ● ●
2.4 软件测试团队
2.4.1 测试团队类型
(2)有独立测试团队 公司成立独立测试团队, 测试工程师通常在5人以上, 有测试组长或经理,隶属 于项目经理或研发经理管 理。
(3)团队独立又隶属于研发
有独立的测试团队, 但测试工程师分散到项 目组,俗称跟项目。这 种情况测试工程师的管 理及工作安排基本由研 发组长负责。
8
(4)软件度量和评价国家标准4
GB/T18905.4 -2002软件工程产品 评价第4部分:需方用的过程 GB/T18905.5 -2002软件工程产品 评价第5部分:评价者用的过程 GB/T18905.6 -2002软件工程产品 评价第6部分:评价模块的文档编制 GB/T20917-2007软件工程软件测量过程 GB/T25000.1 -2010软件工程软件产品质量要求与评价 (souaRE)souaRE指南 GB/T25000.5 1-2010软件工程软件产品质量要求与评价 csouaRE)商业现货(COTS)软件产品的质量要求和测试细则
12
(2)项目调研
含义:用户主动提出需求,由软件公司负责设计开 发,一般称为客户项目;从用户角度看,需求由用 户主动提出来,属于主动模式。 特点:需求比较明确,研发风险比较小。业务系统 基本都以项目运作方式,如银行的柜台交易系统、 网上银行系统等。
13
2.2.2 可行性研究
含义:以企业研发能力为前提, 以投资收益为目的,从安全、 法律、技术、成本、管理、风 险控制等方面对产品或项目进 行全面分析研究的方法; 要预测其投产后的经济效益, 在既定范围内进行方案论证与 选择,以便最合理地利用资源, 达到预定的经济效益。
9
2.2 软件生命周期 (1)生命周期的概念
生命周期的本意:是指一个对象的生老病死。生 命周期的概念应用广泛,例如产品生命周期等。 软件生命周期是指软件行业在几十年的研发活动 中,积累了大量的经验,总结出的软件生命周期 的理论和实践方法。
10
(2) 软件生命周期
软件行业总结出来的经验(理论),用于指导软 件企业遵循规范设计开发软件产品。 一般来说,软件从市场需求调研到销售使用, 要经历如下几个过程:
27
(2)页面(美工)制作人员
职责范围:通过与客户或产 品经理沟通,设计软件产品 或项目用户界面,项目初期 负责系统DEMO制作; 将设计页面分解切图,根据 界面设计规范编写HTML、 CSS、JS源代码,形成稳定的 静态页面。 跟进项目研发过程,及时解 决在研发过程中遇到的页面 设计问题。
如果研发对象是产品,一般
21
由研发公司择日发布,通常情 况下会在网络或媒体上宣传; 如果研发对象是项目,则一 般由客户确定正式交付日期, 客户在接收软件公司提供的软 件系统前,通常会进行验收测 试,验收通过才正式接受。
(2)维护
项目交付使用后,根据产品 维护协议,制定产品维护流 程,当软件系统在使用过程 中出现问题时,需及时处理, 直到产品废弃或升级。
15
2.2.4 需求调研开发
主动模式,软件公司派出 需求调研小组与用户直接 沟通,获得正确可靠的需 求。小组成员一般是客户 代表、需求开发者; 被动模式由软件公司市场 调研人员根据市场产品需 求信息分析判断,无明确 的需求提出者。
16
2.2.4 需求调研开发
在需求调研开发阶段,每一个 需求都需与客户、市场需求反 复验证确认,最终得到规范的 需求规格说明书。 需求规格说明书内容:软件系 统功能、性能、外部接口等需 求,作为后续软件开发活动的 基准输入。
学习内容 与目标
2
素质拓展:个人职业生涯周期
●
2.1 软件基本概念
(1)一般概念
软件一般指计算机数据和指令的集合体。 狭义:运行在计算机、手机、手持设备等电子设备上的 应用程序。 广义:包括源代码、与之相匹配的数据文档、支撑源代 码运行的配置数据。三者构成一个完整的软件实体。
3
(2)国家标准中软件的定义
19
(3)测试
根据测试计划,测试团队执行
测试用例测试系统的功能、性 能。经过版本迭代,完成系统 测试,编制出系统测试报告。 项目专家团队评审测试部门输 出的系统测试报告,如果达到 预定义的停测标准,则可结束 测试活动,否则持续回归测试, 直至达到被测对象应用准则。
20
2.2.6 发布、运行和维护
6
(4)软件度量和评价国家标准2
GB/T18491.1 -2001信息技术软件 测量功能规模测量第1部分:概念定 义 GB/T18491.2 -2010信息技术软件 测量功能规模测量第2部分:软件规 模测量方法与 GB/T18491.1 -2001的符合性评价 GB/T18491.3 -2010信息技术软件 测量功能规模测量第3部分:功能规 模测量方法的验证 GB/T18491.4 -2010信息技术软件 测量功能规模测量第4部分:基准模
7
(4)软件度量和评价国家标准3
GB/T18491.5 -2010信息技术软件测 量功能规模测量第5部分:功能规模测 量 的功能域确定 GB/T18491.6 -2010信息技术软件测 量功能规模测量第6部分:GB/T18491 系列标准和相关标准的使用指南 GB/T18905.1 -2002软件工程产品评 价第1部分:概述 GB/T18905.2 -2002软件工程产品评 价第2部分:策划和管理 GB/T18905.3 -2002软件工程产品评
GB/T14394-2008计算机软件可靠 性和可维护性管理 GB/T16260.1 -2006软件工程产品 质量第1部分:质量模型 GB/T16260.2 -2006软件工程产品 质量第2部分:外部度量 GB/T16260.3 -2006软件工程产品 质量第3部分:内部度量 GB/T16260.4 -2006软件工程产品 质量第4部分:使用质量的度量
市场需求调研 可行性研究 产品项目立项
发布运行维护
设计开发测试
需求调研开发
11
2.2.1 市场需求调研
(1)产品调研
含义:软件公司主动调查市场需 求,拟开发出符合需求的软件产 品;若需求由软件公司提出,用 户被动接收,属于被动模式。 特点:用户需求不确定,产品开 发过程随时可能遭遇需求变化风 险。例如滴滴打车、抖音、球球 大作战等。
课间休息
不抽烟,懂喝茶。
25
2.3 软件研发团队
早期软件公司可能仅有几个开发人员, 但业务不断发展的公司一般会根据产品或项 目质量需求配备相关的角色及人员,保证软 件研发活动的高质量实施,从而确保软件产 品质量。
26
2.3.1 研发人员构成
(1)研发组长
职责范围:定义待开发的软 件系统,组织研发团队会议, 人员工作安排,绩效考核等; 负责需求分析,设计与规划 等,完成相关文档,协调推 进项目功能实施,跟踪进度; 与相关团队保持有效沟通, 保证和提高研发质量。
14
2.2.3 产品项目立项
含义:经过市场需求调研和可行性 研究评审确认后,责任方进行产品 项目立项,组建研发小组,制定产 品研发计划; 产品研发计划包括需求分析、系统 设计开发、系统测试、软件发布、 运行维护等步骤和时间点; 研发团队成员应该包括项目经理、 研发工程师、测试人员。测试人员 一般后期加入。
22
软件系统正式运行后,如果 用户在使用过程中发现了缺 陷,研发公司将会提供补丁 进行修复,从而保证软件系 统正常工作。
2.2.7 软件生命周期文档管理
(1)一般研发阶段文档管理
(2)文档实例(智能OA办公系统)
《智能OA办公系统市场需求调研报告》 《××智能OA办公系统初步需求调研报告》 《××智能OA系统研发可行性报告》 《智能OA系统需求规格说明书》 《智能OA系统》概要设计 《智能OA系统》详细设计 信息社会,没有什么东 《智能OA系统项目开发》 西比读写技巧更重要。 《智能OA系统项目验收测试》 -------约翰•耐斯比特 《智能OA系统交付使用说明书》
28
(3)系统架构师
确认和评估系统需求; 设计系统整体架构,细化子 项目、子系统、组件和模块, 明确各个模块间的逻辑关系; 指导协助开发人员,澄清系 统细节、解决主要难点; 培训和指导研发团队,避免 团队成员误解系统设计要求 导致项目延误。
29
(4)开发工程师
职责范围:负责项目模块的 详细设计、编码和内部测试 的组织实施; 参与技术可行性分析和需求 分析,需熟练掌握公司软件 项目的相关软件技术和使用 方法; 负责修复测试工程师提出的 缺陷。
17
2.2.5 设计、开发和测试
(1)设计
由系统架构师从系统可靠性、 扩展性、安全性、可维护性等 角度进行系统概要设计; 系统概要设计完成要编制系 统概要设计说明书,形成概要 设计基线,规范后续的系统详 细设计、数据库设计。
18
(2)开发
项目组开发人员根据各自的
编码任务及规范完成相关模块、 子系统、软件的编码,形成测 试版本; 开发人员通过详细设计方便 清晰地理解开发对象的设计思 路及编程思路,从而降低编码 错误风险。
三种组织形式各有长短。 组织形式设计要本着经济有效原则, 符合企业实际。
2.4.2 软件测试团队分工
(1) 测试主管 或称为测试经理,专门负 责测试部门工作计划和日常测 试管理工作。 (2)测试组长 受测试主管指派,负责某 软件项目的所有测试工作,一 般由测试工程师担任。
(3) 环境保障人员
其作用是维护整个项目 系统环境,如硬件配置和软 件配置。大多数由测试工程 师兼任,少数专职。
wenku.baidu.com
30
2.3.2
研发组织结构
研发组织根据角色和职务、职权的不同,一般采 用下图所示的研发组织结构。 一个小型研发团队往往包括一名研发组长或经理, 1-2名页面(美工)制作人员,1名架构师,3-5名 开发工程师。
2.3.4 研发人员组织实例
开发经理张亮负责项目研发工作管理, 组织开发人员设计编写系统代码。 页面(美工)制作人员何静、刘媛负 责系统界面设计并配合及时调整设计 过程中出现的错误。 系统架构师孙伟负责整体架构设计, 包括数据字典、数据接口、数据库等, 也负责编写部分核心代码。 开发工程师李立、谢成、潘宇负责编 写系统基础代码和缺陷修复工作。
与计算机系统操作有关 的计算机程序、规程、 规则,以及相关文件、 文档及数据。
4
(3)软件工程国家标准汇编
《计算机软件工程 国家标准汇编(第2 版)》汇编三卷标准 47个; 基础与管理标准11; 软件开发与维护标 准15; 软件度量与评价21。
5
(4)软件度量和评价国家标准1(31个)
不比学历比技能 没有技能比勤劳 人更勤劳比做人 好人难做比低价 他价更低比奉献
山不转水转
35
随堂练习
1.软件的定义是什么? 2.软件生命周期经过哪些阶段? 3.软件测试活动在软件生命周期哪 个阶段介入?
2.4 软件测试团队
2.4.1 测试团队类型
(1)隶属于研发团队 公司无独立测试团队,测试工程师较少,属 于研发团队,研发组长兼任测试管理者,相对来 说测试重要性不高。
素质拓展1: 软件公司人员分工
(1) 软件公司人员架构
(2)主要业务岗位及其职责
前端业务:需求分析、页面 制作(UI设计); 后台业务:系统架构设计、 程序编写、软件测试; 售前业务:产品推销、需求 调研、客户接待; 售后业务:产品安装、用户 培训、产品维护等。
(3)出入职场竞争策略
泉州信息工程学院软件学院 《软件测试技术基础》
第二章 软件生命周期概述
教授、高级工程师 二○一八年九月二十七日
1
第二章 软件生命周期概述 教学计划
计划学时 6课时 掌握软件基本概念,理解软件生命周期理论,熟悉 软件研发团队及测试团队组织结构,了解企业中测 试团队的职能、技能构成、测试工程师在测试活动 实施过程中的职责范围;理解职业生涯周期理论。 知识点 2.1 2.2 2.3 2.4 软件基本概念 软件生命周期 软件研发团队 软件测试团队 ● ● 难点 重点 考点 ● ●
2.4 软件测试团队
2.4.1 测试团队类型
(2)有独立测试团队 公司成立独立测试团队, 测试工程师通常在5人以上, 有测试组长或经理,隶属 于项目经理或研发经理管 理。
(3)团队独立又隶属于研发
有独立的测试团队, 但测试工程师分散到项 目组,俗称跟项目。这 种情况测试工程师的管 理及工作安排基本由研 发组长负责。
8
(4)软件度量和评价国家标准4
GB/T18905.4 -2002软件工程产品 评价第4部分:需方用的过程 GB/T18905.5 -2002软件工程产品 评价第5部分:评价者用的过程 GB/T18905.6 -2002软件工程产品 评价第6部分:评价模块的文档编制 GB/T20917-2007软件工程软件测量过程 GB/T25000.1 -2010软件工程软件产品质量要求与评价 (souaRE)souaRE指南 GB/T25000.5 1-2010软件工程软件产品质量要求与评价 csouaRE)商业现货(COTS)软件产品的质量要求和测试细则
12
(2)项目调研
含义:用户主动提出需求,由软件公司负责设计开 发,一般称为客户项目;从用户角度看,需求由用 户主动提出来,属于主动模式。 特点:需求比较明确,研发风险比较小。业务系统 基本都以项目运作方式,如银行的柜台交易系统、 网上银行系统等。
13
2.2.2 可行性研究
含义:以企业研发能力为前提, 以投资收益为目的,从安全、 法律、技术、成本、管理、风 险控制等方面对产品或项目进 行全面分析研究的方法; 要预测其投产后的经济效益, 在既定范围内进行方案论证与 选择,以便最合理地利用资源, 达到预定的经济效益。
9
2.2 软件生命周期 (1)生命周期的概念
生命周期的本意:是指一个对象的生老病死。生 命周期的概念应用广泛,例如产品生命周期等。 软件生命周期是指软件行业在几十年的研发活动 中,积累了大量的经验,总结出的软件生命周期 的理论和实践方法。
10
(2) 软件生命周期
软件行业总结出来的经验(理论),用于指导软 件企业遵循规范设计开发软件产品。 一般来说,软件从市场需求调研到销售使用, 要经历如下几个过程:
27
(2)页面(美工)制作人员
职责范围:通过与客户或产 品经理沟通,设计软件产品 或项目用户界面,项目初期 负责系统DEMO制作; 将设计页面分解切图,根据 界面设计规范编写HTML、 CSS、JS源代码,形成稳定的 静态页面。 跟进项目研发过程,及时解 决在研发过程中遇到的页面 设计问题。