第3章软件质量与评价
- 格式:doc
- 大小:197.00 KB
- 文档页数:16
第1章软件质量保证和测试的背景IEEE关于软件质量的定义:软件质量是:·系统部件不见或者过程满足需求的规定需求的程度。
·系统、部件或者过程满足顾客或者用户需要或期望的程度。
ANSI关于软件质量的定义。
软件质量定义为“与软件产品满足规定的和隐含的需求的能力有关的特征和特征的全体” 具体包括:·软件产品中能满足用户给定需求的全部特性的集合。
·软件具有所有期望值的各种属性的集合。
·用户观得出的软件是否满足其综合期望的程度。
·决定所用软件在使用中将满足其综合期望程度的软件特性。
IEEE给出软件质量保证的定义,软件质量保证(SQA)是:(1)一种有计划的,系统化的行动模式,它是为项目或者产品符合已有技术需求提出充分信任所必需的。
(2)设计用来评价开发或者制造产品的过程的一组活动,与质量控制有区别。
软件测试是使用人工或者自动手段来运行或测试某个系统的过程,检验它是否满足规定的需求或者弄清预期结果和实际结果之间的差别。
随着时间的推移,修复软件缺陷的费用惊人的增长。
软件测试是软件质量保证的重要手段之一。
第2章软件质量工程体系软件质量控制的定义:软件质量控制是一组由开发组织使用的程序和方法,使用它可在规定的资金投入和时间限制的条件下,提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,以提高将来生产高质量软件产品的能力。
目标问题度量法:书P31页主要看看思想。
风险管理法:P32页图PDCA计划 Plan:确定参数要求实施 Do:根据要求展开活动检查 Check:通过评审、度量、测试,确认满足要求改进 Action:纠正参数要求,在开发软件质量保证控制模型参数:产品、过程、资源。
SQA(软件质量保证)是CMM(软件能力成熟度)2级一个重要关键过程区域,它是贯穿于整个软件过程的第三方审查活动,在CMM过程中从当重要角色。
简要描述几种常见的质量控制模型(见上):控制方法:风险避免:通过变更计划消除风险的触发条件,如采用成熟技术、增加资源减少软件范围等。
软件质量评估报告范文
简介
本文将针对某一款软件进行质量评估,并在最后给出总结和建议。
评估内容
本次评估将涵盖以下几个方面:
- 功能性
- 可靠性
- 易用性
- 效率
- 可维护性
功能性
经测试发现,该软件的功能设计合理,能够满足用户的基本需求。
但是在某些较为复杂的操作时,有些功能表现不够稳定,容易出现崩溃和卡顿等情况。
可靠性
该软件在稳定性方面表现较好,短时间内未发现崩溃或异常退
出情况。
但是在同时开启多个任务时,会出现卡顿现象。
易用性
该软件的操作相对简单,易于上手。
但是在某些操作上,例如
文件存储和读取,操作指引缺失。
效率
该软件在正常单任务操作下运行流畅,响应迅速。
但是在同时
开启多个任务或使用长时间后,会出现卡顿现象。
可维护性
该软件结构较为清晰,模块化设计较为合理。
但是在代码注释
和文档说明方面,需要进行进一步完善。
总结和建议
综上所述,该软件在基本功能使用方面较为稳定,但在复杂操
作和多任务完成下表现不够稳定。
在易用性方面需要加强指引和引导,提高用户的使用体验。
在代码注释和文档方面需要进一步完善,
提高软件的可维护性和开发效率。
建议开发方进行针对性的改进和升级。
第1章软件与软件工程的概念1、1 举出您所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1、2 认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是否正确?为什么?认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是错误的。
首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。
1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本与进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常就是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的就是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1、5 什么就是软件工程?软件工程就是指导计算机软件开发与维护的工程学科。
第3章软件需求分析案例3: 图书馆图书信息管理系统“图书馆管理系统”是借助计算机来完成图书馆日常管理工作,能提供借书帐号注册、登录功能,基于图书标题、图书编号、作者、出版社的查询,也可以同时多个选项进行同时查询提供图书状态的查询,如可借和不可借,完成借书登记、还书的登记,能帮助管理人员完成图书信息的管理,如图书信息的修改、新图书的增加、旧图书的删除,图书分类工作,从而使图书馆的日常工作信息化、快捷化,减轻图书馆管理工作的困难。
因此,“图书馆管理系统”对于图书馆的日常管理工作和信息化到至关重要的作用。
【知识导入】通过对本章节内容的学习,掌握软件需求分析的基本内容,需求分析的特征及评审。
能够完成项目的需求分析,确立正确的项目开发思路。
软件需求是一个项目的开端,是整个软件项目开发的基础。
即表示该软件经过可行性分析后确立有此需求,而开发该项目。
因此,需求分析在整个项目建设过程中至关重要,是项目开发的基石,基石的牢固程度决定了后期项目的进展以及项目开发完工后的产品质量的优劣,可以说需求分析的好坏直接影响到软件项目开发的成败。
软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
IEEE (美国电气和电子工程师协会)是这样对需求分析做定义的:①用户解决问题或达到系统目标所需要的条件②为满足一个协议、标准、规格或其他正式制定的文档,系统或系统构建所需满足和具有的条件或能力③将需求要求条件进行文档化描述。
这个概念全方位阐述了需求的概念,较完整的表达了软件需求的内涵和外延,便于用户的全面理解。
而需求分析最终就是通过对应用问题及其环境的分析与理解采用一系列的分析方法和技术将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。
系统分析阶段产生的系统规格说明书和项目规划是软件需求分析的基础,分析人员需要从软件的角度对其进行检查和调整,并在此基础上展开需求分析。
需求分析阶段的成果主要是需求规格说明书,该成果又是软件设计、编码、测试直至维护的主要基础。
1、质量的定义质量是多维的概念,包括:实体、实体的属性和对实体的观点。
GB/T6583-ISO8404 (1994 版)《质量管理与质量保证术语》对质量的定义是:反映实体满足明确的隐含的需要的能力的特性的总和.GB/T18905—ISO14598 (1999 版)《软件工程产品评价》定义:2、测度与度量在软件质量中用于测量的一种量化的标度和方法即为“测度”,而名词的“度量”用来指测量的结果。
影响软件质量可分为:可直接测量、间接度量3、软件质量模型○1、McCall (麦考尔)质量模型三个重要方面:操作特性(产品运行)、承受可改变能力(产品修订)、新环境适应能力(产品变迁).McCall 等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。
②Boehm(勃姆)质量模型提出了分层结构的质量模型,除了用户的期望和需要的概念,与 McCall(麦考尔) 质量模型相同外,还包括 McCall 模型中没有的硬件特性.Boehm (勃姆)质量模型反映了对软件质量的理解,即软件做了用户要它做的 ; 有效地使用系统资源;易于用户学习和使用;易于软件测试与维护.③ISO9126 质量模型GB/T16260—1996:六个影响质量的特性:功能性、可靠性、易使用性、效率、可维护性、可移植性;各个子特性(及其定义)要求要背GB/T16260—1996 出发点是软件最大限度地满足用户的明确的和潜在的需求。
国标 16260 中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义如下:① 响应时间是指从按动传送键到得到结果为止所需要的时偶尔响应时间包括处理时间和传输时间② 处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间③ 周转时间是指从提出要求到得到结果所需要的时间4、标准的发展GB/T 16260-1996 (ISO9126—1991)《软件产品评价-质量特性及其使用指南》已被两个相关的由多部份组成的标准: GB/T 18905-2002 《软件工程产品评价》和 GB/T 16260—2003(ISO9126—2001)《软件工程产品质量》所取代.5、GB/T 18905 产品评价(一、 GB/T 18905 基本组成(6 个部份组成)GB/T 18905。
第3章CMM的体系结构CMM(成熟度模型)是由美国国防部的软件工程研究所(SEI)开发的一种评估和改进软件开发组织能力的方法。
CMM采用五个不同的成熟度级别来评估一个软件开发组织的能力水平,以帮助其提高软件开发过程的质量和效率。
CMM的体系结构主要包括五个级别、过程领域和过程目标。
CMM的五个成熟度级别从最低到最高分别是:初始级、重复级、定义级、管理级和优化级。
每个级别都描述了一个软件开发组织在软件开发和管理上的不同水平。
初始级是指组织没有明确的过程,重复级是指组织已经开始重复使用一些成功的过程,定义级是指组织已经定义了一个标准的软件开发过程,管理级是指组织已经能够根据指标进行管理和持续改进,而优化级是指组织不断优化其软件开发过程以适应变化的需求。
CMM的过程领域是指软件开发过程中的六个关键领域,包括需求管理、项目计划和追踪、软件子系统实现、软件测试、集成与确认以及软件交付和维护。
这些领域是软件开发过程中最常见的问题和挑战,CMM通过评估每个领域的能力来指导组织改进其软件开发过程。
每个过程领域都有一组过程目标,这些目标描述了组织在该领域内所应遵循的最佳实践。
例如,在需求管理领域,过程目标包括了确保需求得到理解和文档化、确保需求的变更得到适当的管理和追踪、确保需求的验证等。
组织可以根据这些过程目标评估其软件开发过程的能力,并制定相应的改进计划。
CMM的体系结构使得软件开发组织能够系统地评估和改进其软件开发过程的能力。
通过逐步提高成熟度级别、改进过程领域和实现过程目标,组织可以逐渐提高软件开发的质量、效率和可靠性,从而提高业务竞争力。
虽然CMM在软件行业的影响力逐渐减弱,被一些更现代的方法和框架所取代,但其体系结构仍然具有指导意义。
例如,CMM的五个成熟度级别为其他评估模型(如CMMI)的发展提供了基础,CMM的过程领域和过程目标也为其他方法(如敏捷开发)提供了参考。
综上所述,CMM的体系结构包括五个成熟度级别、过程领域和过程目标。
《软件测试技术》习题参考答案第1章软件测试基础一、判断题1、验证意味着确保软件正确无误地实现软件的需求,开发过程是沿着正确的方向进行。
(T )2、调试的目的是发现bug。
(F )3、软件缺陷主要来自产品说明书的编写和产品方案设计。
(T )4、在实际的软件测试工作中,不论采用什么方法,由于软件测试情况数量极其巨大,都不可能进行完全彻底的测试。
(T )5、测试人员可以不懂编程。
( F )二、选择题1、软件是程序和(B )的集合。
A、代码B、文档C、测试用例D、测试2、严重的软件缺陷的产生主要源自(A)。
A、需求B、设计C、编码D、测试3、Fixed的意思是指:( C )A、该BUG没有被修复,并且得到了测试人员的确认B、该BUG被拒绝了,并且得到了测试人员的确认C、该BUG被修复了,并且得到了测试人员的确认D、该BUG被关闭了,并且得到了测试人员的确认4、降低缺陷费用最有效的方法是(B )。
A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试5、以下不属于应用系统中的缺陷类型的是:( B )。
A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明三、简答题1、请简述一条软件缺陷(或者叫Bug)记录都包含了哪些内容?2、请简述软件测试的定义?第2章软件测试类型一、判断题1、软件测试的目的是尽可能多的找出软件的缺陷。
( T )2、好的测试方案是极可能发现迄今为止尚未发现的错误。
(T )3、测试人员要坚持原则,缺陷未修复完坚决不予通过。
( F )4、负载测试是验证要检验的系统的能力最高能达到什么程度。
( F )5、V模型不能适应较大的需求变化。
( T )二、选择题1、测试环境中不包括的内容是( A )A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境2、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证( D )A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的3、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
第3章软件质量与评价(软件测试标准)作业(2005年)●在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、_____(53)____、程序和数据要求。
(53)A.用户文档要求B.系统功能要求C.设计要求说明D.软件配置要求●软件内部/外部质量模型中,可移植性不包括_____(54)____子特性。
(54)A.适应性B.共存性C.兼容性D.易替换性●《GB/T18905 软件工程产品评价》中确定的通用评价过程包括:___(55)____。
(55)A.确立评价需求、设计评价、执行评价和评估结果B.确立评价目的、规定评价、设计评价和执行评价C.确立评价需求、规定评价、设计评价和执行评价D.确立评价目的、设计评价、执行评价和评估结果●GB/T16260-2003将软件质量特性分为内部质量特性、外部质量特性和_____(56)____。
(56)A.安全质量特性B.适用质量特性C.性能特性D.使用质量特性(2006年)●GB/T16260—2003《软件工程产品质量》规定的软件产品使用质量特性包括___(50)___。
(50)A.适应性、生产率、可靠性、满意度B.有效性、生产率、安全性、满意度C.有效性、可靠性、适应性、满意度D.适应性、适用性、效率、满意度●软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性___(51)___是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
(51)A.成熟性B.易恢复性C.容错性D.可靠性依从性●GB/T18905—2002《软件工程产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关“规定评价”部分包含的内容有___(52)___。
(52)A.选择度量、建立度量评定等级、确立评估准则:B.指定质量模型、选择度量、建立度量评定等级C.选择度量、建立度量评定等级、制定评价计划D.确定产品类型、选择度量、建立度量评定等级●GB/T18905-2002《软件工程产品评价》提供了软件产品评价的过程,其中GB/T18905—2002《软件工程产品评价》第五部分评价者用的过程_(53)___。
软件开发生态圈智慧软件定制化服务解决方案第1章智慧软件定制化服务概述 (3)1.1 软件开发生态圈简介 (3)1.1.1 软件开发生态圈的内涵 (3)1.1.2 软件开发生态圈的组成 (4)1.2 智慧软件定制化服务的需求与挑战 (4)1.2.1 智慧软件定制化服务的需求 (4)1.2.2 智慧软件定制化服务面临的挑战 (4)1.3 智慧软件定制化服务的发展趋势 (4)第2章定制化服务战略规划 (5)2.1 市场调研与需求分析 (5)2.1.1 市场环境分析 (5)2.1.2 目标客户群体分析 (5)2.1.3 需求收集与分析 (5)2.2 定制化服务产品规划 (5)2.2.1 产品定位 (5)2.2.2 功能模块设计 (5)2.2.3 产品界面与用户体验设计 (6)2.2.4 产品开发与迭代计划 (6)2.3 技术选型与平台构建 (6)2.3.1 技术选型原则 (6)2.3.2 技术架构设计 (6)2.3.3 开发工具与平台选择 (6)2.3.4 持续集成与持续部署 (6)第3章需求分析与设计 (6)3.1 用户需求挖掘 (6)3.1.1 用户群体分析 (6)3.1.2 需求调研 (6)3.1.3 需求整理与分析 (7)3.2 系统架构设计 (7)3.2.1 总体架构设计 (7)3.2.2 详细架构设计 (7)3.2.3 系统功能优化 (7)3.3 界面与交互设计 (7)3.3.1 界面设计 (7)3.3.2 交互设计 (7)3.3.3 用户体验优化 (7)第4章开发与测试 (7)4.1 代码编写与版本控制 (8)4.1.1 代码规范与风格 (8)4.1.2 版本控制策略 (8)4.2 持续集成与持续部署 (8)4.2.1 持续集成 (8)4.2.2 持续部署 (8)4.3 软件测试与质量保障 (8)4.3.1 单元测试 (8)4.3.2 集成测试 (8)4.3.3 系统测试 (8)4.3.4 自动化测试 (9)4.3.5 代码审查与质量度量 (9)第5章大数据与人工智能技术应用 (9)5.1 大数据技术助力定制化服务 (9)5.1.1 数据采集与处理 (9)5.1.2 数据分析与挖掘 (9)5.1.3 数据可视化 (9)5.2 人工智能技术在软件定制中的应用 (9)5.2.1 机器学习与深度学习 (9)5.2.2 自然语言处理 (9)5.2.3 计算机视觉 (10)5.3 数据安全与隐私保护 (10)5.3.1 数据安全策略 (10)5.3.2 隐私保护措施 (10)5.3.3 法律法规与合规性 (10)第6章云计算与边缘计算服务 (10)6.1 云计算平台选择与配置 (10)6.1.1 云计算平台概述 (10)6.1.2 云计算平台选择标准 (10)6.1.3 云计算平台配置策略 (11)6.2 边缘计算在智慧软件中的应用 (11)6.2.1 边缘计算概述 (11)6.2.2 边缘计算在智慧软件中的应用场景 (11)6.3 服务迁移与优化 (11)6.3.1 服务迁移策略 (11)6.3.2 服务优化策略 (11)第7章项目管理与团队协作 (12)7.1 项目进度与风险管理 (12)7.1.1 项目进度管理 (12)7.1.2 风险管理 (12)7.2 团队沟通与协作工具 (12)7.2.1 沟通工具 (12)7.2.2 协作工具 (12)7.3 项目质量与绩效评估 (12)7.3.1 项目质量管理 (13)7.3.2 团队绩效评估 (13)第8章用户体验与满意度提升 (13)8.1 用户研究与分析 (13)8.1.1 研究方法 (13)8.1.2 数据分析 (13)8.1.3 用户画像构建 (13)8.2 用户体验设计优化 (13)8.2.1 界面设计优化 (13)8.2.2 功能优化 (13)8.2.3 交互设计优化 (14)8.3 客户服务与支持 (14)8.3.1 售后服务 (14)8.3.2 用户反馈机制 (14)8.3.3 定期更新与维护 (14)第9章市场推广与品牌建设 (14)9.1 市场定位与竞争分析 (14)9.1.1 市场细分 (14)9.1.2 竞争对手分析 (14)9.1.3 市场定位 (14)9.2 品牌宣传与推广策略 (14)9.2.1 品牌形象塑造 (15)9.2.2 媒体传播策略 (15)9.2.3 合作与联盟 (15)9.3 客户案例与口碑营销 (15)9.3.1 客户案例展示 (15)9.3.2 口碑营销策略 (15)9.3.3 社交媒体营销 (15)第10章持续优化与迭代升级 (15)10.1 用户反馈收集与分析 (15)10.1.1 反馈渠道构建 (15)10.1.2 反馈数据分析 (15)10.2 产品优化与迭代策略 (16)10.2.1 问题分类与优先级排序 (16)10.2.2 迭代计划与实施 (16)10.3 技术升级与创新实践 (16)10.3.1 技术趋势跟踪 (16)10.3.2 创新技术应用 (16)10.3.3 技术优化与整合 (16)第1章智慧软件定制化服务概述1.1 软件开发生态圈简介1.1.1 软件开发生态圈的内涵软件开发生态圈是指在一定技术环境下,由软件开发者、用户、技术提供商、渠道商等众多参与者构成的生态系统。
软件质量保证与测试重点软件质量保证与测试重点第⼀章1、IEEE(institute of electrical electronics engineers)国际电⽓和电⼦⼯程师协会,定义如下:软件是计算机程序、规程以及可能得相关⽂档和运⾏计算机系统需要的数据。
数据即资源,软件包含4个部分,即计算机程序、规程、⽂档和软件系统运⾏所必需的数据。
2、软件不会像硬件那样有磨损,硬件失效率随着时间改变的“浴缸曲线”,还有软件失效率曲线呈现“锯齿形状”,软件维护要⽐硬件维护复杂得多。
3、软件分为七⼤类:系统软件、应⽤软件、Web应⽤软件、⼯程和科学软件、嵌⼊式软件、产品线软件、⼈⼯智能软件4、软件⼯程师⾯临的四⼤挑战:普适计算、⽹络资源、开源软件、新经济5、软件⼯程是将系统化的、规范化的、可度量的⽅法应⽤于软件的开发、运⾏、维护的过程,即将⼯程化应⽤于软件中,同时是对上⾯所述⽅法的研究(简答)软件⼯程的根基在于对质量的关注。
6、IEEE关于软件质量的定义:●系统、部件或者过程满⾜规定需求的程度●系统、部件或者过程满⾜顾客或者⽤户需要或期望的程度该定义相对客观,强调了产品(或服务)和客户/社会需求的⼀致性7、IEEE给处软件质量保证(SQA)的定义:⼀种有计划的、系统化的⾏动模式,是为项⽬或者产品符合已有技术需求提供充分信任所必需的;⽤来评价开发或者制造产品的过程的⼀组活动,与质量控制有区别(简答)8、软件测试的⽬的与软件⼯程其他阶段的⽬的相反。
软件测试的根本⽬标是尽可能多地发现软件中隐藏的错误,最终把⼀个⾼质量的软件系统交给⽤户使⽤。
9、IEEE提出的软件测试⽂档标准(Standard For Software Test)定义:软件测试是使⽤⼈⼯或⾃动⼿段来运⾏或测定某个系统的过程,检验是否满⾜规定的需求,或者弄清预期结果与实际结果之间的差别。
10、美国计算机科学家梅耶在其经典论著《软件测试的艺术》中对软件测试提出以下观点:(1)测试是程序的执⾏过程,⽬的在于发现错误(2)⼀个好的测试⽤例可以发现⾄今尚未发现的错误(3)⼀个成功的测试能发现⾄今未发现的错误11、⿊盒测试的⽅法:等价类划分、边值分析、因果图、错误推测,⽩盒测试⽅法:逻辑覆盖、域测试、路径测试、程序插桩、程序变异等等,灰盒测试关注输出对于输⼊的正确性12、修复缺陷的费⽤是10的倍数,呈指数级增长。
第三章信息系统集成专业技术知识3.1信息系统建设1.信息系统建设的内容主要包括设备采购,系统集成、软性开发和运维服务等。
信息系统的生命周期可以分为立项、开发、运维及消亡四个阶段:(1)立项阶段:即概念阶段或需求阶段,这一阶段根据用户业务发展和经营管理的需要,提出建设信息系统的初步构想;然后对企业信息系统的需求进行深入调梯和分析,形成《需求规格说明书》并确定立项。
(2)开发阶段:以立项阶段所做的需求分析为基础,进行总体规划。
之后,通过系统分析、系统设计、系统实施、系统验收等工作实现并交付系统。
(3)运维阶段:信息系统通过验收,正式移交给用户以后,进入运维阶段。
要保障系统正常运行,系统维护是一项必要的工作。
系统的运行维护可分为更正性维护、适应性维护、完善性维护、预防性维护等类型。
(4)消亡阶段2.常用的开发方法包括结构化方法、原型法、面向对象方法等。
(1)结构化方法:是应用最为广泛的一种开发方法。
应用结构化系统开发方法,把整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据,按顺序完成。
每个阶段和主要步骤都有明确详尽的文档编制要求,并对其进行有效控制。
结构化方法的特点是注重开发过程的整体性和全局性。
但其缺点是开发周期长:文档、设计说明繁琐,工作效率低:要求在开发之初全面认识系统的需求,充分预料各种可能发生的变化。
(2)原型法:其认为在无法全面准确地提出用户需求的情况下,并不要求对系统做全面、详细的分析,而是基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。
3.3软件工程1.通过需求分析,可以检测和解决需求之间的冲突;发现系统的边界;并详细描述出系统需求。
2.软件设计、测试与维护。
(1)软件设计:通过软件设计,描述出软件架构及相关组性之间的接口:然后,进一步详细地描述组件,以便能构造这些组件。
通过软性设计得到要实现的各种不同模型,并确定最终方案。
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
第3章软件质量与评价(软件测试标准)1、质量的定义质量是多维的概念,包括:实体、实体的属性和对实体的观点。
GB/T6583-ISO8404(1994版)《质量管理与质量保证术语》对质量的定义是:反映实体满足明确的隐含的需要的能力的特性的总和。
GB/T18905-ISO14598(1999版)《软件工程产品评价》定义:2、测度与度量在软件质量中用于测量的一种量化的标度和方法即为“测度”,而名词的“度量”用来指测量的结果。
影响软件质量可分为:可直接测量、间接度量3、软件质量模型○1、McCall(麦考尔)质量模型三个重要方面:操作特性(产品运行)、承受可改变能力(产品修订)、新环境适应能力(产品变迁)。
McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。
②Boehm(勃姆)质量模型提出了分层结构的质量模型,除了用户的期望和需要的概念,与McCall(麦考尔)质量模型相同外,还包括McCall模型中没有的硬件特性。
Boehm(勃姆)质量模型反映了对软件质量的理解,即软件做了用户要它做的;有效地使用系统资源;易于用户学习和使用;易于软件测试与维护。
③ISO9126质量模型GB/T16260-1996:六个影响质量的特性:功能性、可靠性、易使用性、效率、可维护性、可移植性;各个子特性(及其定义)要求要背GB/T16260-1996出发点是软件最大限度地满足用户的明确的和潜在的需求。
国标16260中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义如下:①响应时间是指从按动传送键到得到结果为止所需要的时间或响应时间包括处理时间和传输时间②处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间③ 周转时间是指从提出要求到得到结果所需要的时间4、标准的发展GB/T 16260-1996(ISO9126-1991)《软件产品评价-质量特性及其使用指南》已被两个相关的由多部分组成的标准:GB/T 18905-2002《软件工程产品评价》和GB/T 16260-2003(ISO9126-2001)《软件工程产品质量》所取代。
5、GB/T 18905产品评价(一、GB/T 18905基本组成(6个部分组成)GB/T 软件工程产品评价第1部分: 概述GB/T 软件工程产品评价第2部分: 策划和管理GB/T 软件工程产品评价第3部分: 开发者用的过程GB/T 软件工程产品评价第4部分: 需方用的过程GB/T 软件工程产品评价第5部分: 评价者用的过程GB/T 软件工程产品评价第6部分: 评价模块的文档编制(二、评价者用的过程(GB/T )1、开发者用的过程2、需方用的过程3、评价者用的过程定义软件评价过程的特性有四性。
①可重复性②可再现性③公正性④客观性(第四章内容P92)(三、关于评价支持评价支持标准:1、策划和管理:可供管理者制定一个定量的评价计划。
2、评价模块:供组织用来产生新的评价模块。
(四、通用评价过程软件产品的一般评价过程:确立评价需求、规定评价、设计评价和执行评价。
确立评价需求内容有:确立评价的目的、确立产品类型、指定质量模型规定评价内容有:选择度量、建立度量评定等级、确立评估准则设计评价内容有:制定评价计划执行评价内容有:进行度量、与评估准则相比较、评价结果(五、评价过需求软件质量评价的目的:是为了直接支持开发和获得满足用户和消费者要求的软件。
最终目标是保证产品能提供所要求的质量,即满足用户明确和隐含的要求①评价中间产品质量的目的②评价最终产品质量的目的6、GB/T 产品质量影响软件质量可分为:可直接测量(如每个功能点错误)、间接度量(可用性、可维护性)包括:质量模型、外部度量、内部度量、使用质量度量。
外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、可维护性和可移植性1、功能性:是指当软件在指定条件下使用时,软件产品满足明确和隐含要求功能的能力。
它的子特性包括:适合性、准确性、互操作性、保密安全性、功能依从性。
子特性:(子特性各含义解释见课本P88)①适合性:软件为指定的任务和用户目标提供一组合适功能的能力。
②准确性:软件提供所需精确度的正确或相符结果及效果的能力。
③互操作性/互用性:软件产品与一个或更多规定系统进行交互的能力。
④保密安全性:软件产品保护信息和数据的能力。
⑤功能依从性:软件依从同功能性相关的超标准、约定或法规的能力。
2、可靠性:是指当软件在指定条件下使用时,软件产品维持规定的性能级别的能力。
它的子特性包括:成熟性、容错性、易恢复性、可靠依从性。
①成熟性:是指软件产品避免因软件中错误的发生而导致失效的能力。
②容错性:在软件出现故障或者违反其指定接口的情况下,软件产品维持规定的性能级别的能力。
③易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。
④可靠依从性:软件产品遵循与可靠性相关的标准、约定或法规的能力。
3、易用性:是指当软件在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
它的子特性包括:易理解性、易学性、易操作性、吸引性、易用依从性。
①易理解性:软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力。
②易学性:是指软件产品使用户能学习它的能力。
③易操作性:软件产品使用户能操作和控制它的能力。
④吸引性:是指软件产品吸引用户的能力。
⑤易用依从性:软件产品遵循与易用性相关的标准、约定、风格指南或法规的能力。
4、效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
它的子特性包括:时间特性、资源利用、效率依从性。
①时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力。
②资源利用:在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力。
③效率依从性:软件产品遵循与效率相关的标准或约定的能力。
5、可维护性:是指软件产品可被修改的能力。
修改可能包括修正、改造或软件适应环境、需求和功能规格说明中的变化。
它的子特性包括:易分析性、易改变性、稳定性、易测试性、维护依从性。
①易分析性:软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。
②易改变性:软件产品使指定的修改可以被实现的能力。
③稳定性:软件产品避免由于软件修改而造成意外结果的能力。
④易测试性:软件产品使已修改软件能被确认的能力。
⑤维护依从性:软件产品遵循与维护性相关的标准或约定的能力。
6、可移植性:是指软件产品从一种环境迁移到另外一种环境的能力。
它的子特性包括:适应性、易安装性、共存性、易替换性、可移植依从性。
①适应性:软件产品无需采用手段就可能适应不同的指定环境的能力。
②易安装性:软件产品在指定环境中被安装的能力。
③共存性:软件在公共环境中分享资源与其他独立软件共存的能力。
④易替换性:在环境、目的相同的情况下替代另一个指定软件的能力。
⑤可移植性依从性:软件产品依从可移植性相关的标准或约定的能力。
★软件构件质量模型(新增加的特性和子特性)可复用性:独立性、接口成熟性、已组装性、通用性、演化兼容性、可复用性的依从性标准组成:GB/T 软件工程产品质量第1部分:质量模型GB/T 软件工程产品质量第2部分:外部度量GB/T 软件工程产品质量第3部分:内部度量GB/T 软件工程产品质量第4部分:使用质量的度量7、GB/T 概述概述了软件产品评价的过程,提供了评价需求和指南8、GB/T 评价者用的过程+GB/T18905-2002《软件工程产品评价》提供了软件产品评价的过程,其中GB/T18905—2002《软件工程产品评价》第五部分评价者用的过程供对软件产品执行独立评估的评价者使用。
在GB/T 18905《评价者用的过程》中定义软件评价过程的特性:可重复性、可再现性、公正性、客观性。
9、GB/T16260-2003将软件质量特性分为内部质量特性、外部质量特性和使用质量特性。
10、GB/T18905—2002《软件工程产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价。
其中有关“规定评价”部分包含的内容有:选择度量、建立度量评定等级、确立评估准则。
10、评价过程中如何编写评价规格说明。
编制评价规格说明的活动由下列3个子活动组成:分析产品的描述、规定对产品及部件执行的测量、按照评价需求验证编制的规格说明。
11、在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、用户文档要求、程序和数据要求。
12、GB 17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护划分为5个级别。
即:第一级:用户自主保护级;第二级:系统审计保护级;第三级:安全标记保护级;第四级:结构化保护级;第五级:访问验证保护级。
13、相关标准(作参考,不要背)GB/T 8566-2007 信息技术软件生存周期过程GB/T 8567-2006 计算机软件文档编制规范GB/T 9385-2008 计算机软件需求规格说明规范GB/T 9386-2008 计算机软件测试文档编制规范GB/T 14394-2008 计算机软件可靠性和可维护性管理GB/T 15532-2008 计算机软件测试规范GB/T 软件工程产品质量第4部分:使用质量的度量GB/T 软件工程产品质量第3部分:内部度量GB/T 软件工程产品质量第2部分:外部度量GB/T 软件工程产品质量第1部分:质量模型GB/T 17917-2008 零售企业管理信息系统基本功能要求GB/T 软件工程产品评价第6部分:评价模块的文档编制GB/T 软件工程产品评价第5部分:评价者用的过程GB/T 软件工程产品评价第4部分:需方用的过程GB/T 软件工程产品评价第2部分:策划和管理GB/T 软件工程产品评价第1部分:概述GB/Z 18914-2002 信息技术软件工程CASE工具的采用指南GB/Z 20156-2006 软件工程软件生存周期过程用于项目管理的指南GB/T 20157-2006 信息技术软件维护GB/T 20158-2006 信息技术软件生存周期过程配置管理14、使用质量的质量模型使用质量是从用户角度看待的质量,其属性分为4种:有效性、生产率、安全性和满意度。
①有效性:软件产品在指定的使用环境下,使用户能正确和完全地达到规定目标的能力。
②生产率:软件产品在指定的使用环境下,使用户为达到有效性而消耗适当数量的资源的能力。
③安全性:软件产品在指定使用环境下,达到对人类、业务、软件、财产或环境造成损害的可接受的风险级别的能力。
④满意度:软件产品在指定的使用环境下,使用户满意的能力。