ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:634KB ,
资源ID:9576533      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9576533.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件重点总结.doc)为本站会员(gnk289057)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

软件重点总结.doc

1、第一章:面向过程的程序 = 算法 + 数据结构面向对象的程序 = 对象 + 消息面向构件的程序 = 构件 + 构架通常,软件有以下定义:软件 = 程序 + 数据 + 文档这里的“程序”,是对计算机任务的处理对象和处理规则的描述;这里的 “文档”,是为了理解程序所需的详细描述性资料;这里的“数据”,主要是软件系统赖以运行的初始化数据。二十世纪六十年代中期,在美国就出现了软件危机(Software Crisis) ,这种危机表现在研发大型软件时,软件开发的成本增大、进度延期、维护困难和质量得不到保障。 所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。1993 年,权威杂志 IE

2、EE 对软件工程的定义是:软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去。软件工程是研究软件开发和软件管理的一门工程学科。这里,一是强调开发,二是强调管理,三是强调工程,四是强调学科。习惯上,人们常常把软件工程的方法(开发方法) 、工具(支持方法的工具) 、过程(管理过程)称为软件工程三要素。而把美国著名的软件工程专家 B.W Boehm 于 1983 年提出的7 条原理,作为软件工程的基本原理 。(1 )用分阶段的生命周期计划严格管理软件开发。阶段划分为计划、分析、设计、编程、测试和运行维护。 (2 )坚持进行阶段评审。上一阶段评审不通过,就不能进入下一阶段开

3、发。(3 )实行严格的产品版本控制。(4 )采用现代程序设计技术。(5 )结果应能清楚地审查。因此,对文档要有严格要求。(6 )开发小组的成员要少而精。(7 )要不断地改进软件工程实践的经验和技术,要与时俱进。(8 )二八定律。对软件项目进度和工作量的估计:一般人主观上认为已经完成了 80%,但实际上只完成了 20%;对程序中存在问题的估计:80%的问题存在于 20%的程序之中;对模块功能的估计:20%的模块,实现了 80%的功能;对人力资源的估计:20%的人,解决了软件中 80%的问题;对投入资金的估计:企业信息系统中 80%的问题,可以用 20%的资金来解决。软件生命周期模型是指在整个软件

4、生命周期中,软件开发过程应遵循的开发路线图。或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架。软件开发方法是指在软件开发路线图中,开发人员对软件需求、设计、实现、维护所采用的开发思想、开发技术、描述方法、支持工具等。曾经出现过的面向过程方法有:(1).面向结构化数据系统的开发方法 DSSD(Data Structured Systems Development) ;(2).面向可维护性和可靠性设计的 Parnas 方法;(3).面向数据结构设计的 Jackson 方法;(4).面向问题设计的 PAM 方法;(5).面向数据流方法。4 种开发方法的比较方法名称 优点 缺点 适合的

5、场合面向过程的方法 简单好学 不适应窗口界面,维护困难大型工程计算,实时数据跟踪处理,各种自动化控制系统,以及系统软件实现等领域面向对象的方法 功能强大 不易掌握 互联网络时代,完全由用户交互控制程序执行过程的应用软件和系统软件的开发面向元数据的方法 通俗易懂 不适宜窗口界面 以关系数据库管理系统为支撑环境的信息系统的建设形式化的方法 准确、严谨 难于上手和应用 对安全性要求极高,不容许出错的软件系统,如军事、医药、交通等领域利用计算机网络技术、数字通信技术与数据库技术实现信息采集和处理的系统,称为当代信息系统。“五个面向”实践论是指“面向流程分析、面向元数据设计、面向对象实现、面向功能测试、

6、面向过程管理” 。面向流程分析,就是面向流程进行需求分析。面向元数据设计,就是面向元数据进行概要设计。面向对象实现,就是面向对象进行详细设计和编程实现。面向功能测试,就是面向功能进行模块测试、集成测试、Alpha 测试和 Beta 测试。面向功能测试的方法就是黑盒子测试方法。黑盒子测试方法的测试思路是:针对需求分析时建立的系统功能模型,将每一个需求功能点,都分解为多个测试功能点。再将每一个测试功能点,都分解并设计为多个测试用例。然后,对每一个测试用例,都执行测试过程,产生测试记录数据。最后,汇总并分类整理所有的测试记录数据,就可以形成测试报告。面向过程管理,就是面向软件生命周期过程,对软件生命

7、周期各个阶段进行过程管理与过程改进。软件工程中的三类过程管理课后习题1.2 简述软件工程研究的内容。软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、序号 名 称 来 源 特 点 1 ISO 9001 质量管理和质量保证体系 国际标准化组织 ISO 按 20 个过程域(或质量要素)管理 2 CMMI 能力成熟度模型集成 美国卡内基-梅隆大学软件工程研究所(CMU/SEI) 按 22 个过程域 PA,分阶段模型和连续模型两种方式管理,属于重载过程管理 3 软件企业文化 Microsoft 文

8、化、IBM文化、敏捷文化 属于轻载过程管理 详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。软 件 支 持 过 程 由 所 支 持 的 CASE 工 具 组 成 , 常 用 的 CASE 工 具 有 Power Designer 和 Rational Rose。软件管理过程主要有 CMMI、ISO9000、微软企业文化和敏捷文化现象。1.3 详细解释软件的定义、程序的定义及软件工程的定义。软件的定义:软件程序数据文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研

9、发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。现在有一种新提法正在引起关注,这种提法是:软件知识程序数据文档。程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为:面向过程的程序算法数据结构面向对象的程序对象信息面向构件的程序构件构架软件工程是研究软件开发和软件管理的一门工程学科。1.11 什么叫软件危机?通过本章的学习,你认为应该怎样克服软件危机?所 谓 软 件 危 机 , 就 是 在 软 件 开 发 和 维 护 过 程 中 所 遇 到 一 系

10、列 难 以 控 制 的 问 题 。 “软 件 危 机 ”这 个 专 业 术 语 的 首 次 出 现 , 是 1968 年 NATO( North Atlantic Treaty Organization, 北约)的计算机科学家,在联邦德国召开的国际学术会议上提出的。为了克服软件危机,同样是在 1968 年,北约科技委员会召集了近 50 名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。就在那次会议上,第一次提出了软件工程(Software Engineering)这个专业术语。当时人们的想法是:若借用建筑工程或机器制造工程的思想、标准、规范、规程去开发软件与维护软件

11、,也许能克服软件危机。以后的实践证明:用工程的方法开发软件与维护软件是个好主意,但是要完全克服软件危机,还有许多其他工作要做。例如,将软件公司纳入 CMMI 的过程改进轨道,就能真正克服软件危机。第二章软件生命周期模型是指在整个软件生命周期中,软件开发过程应遵循的开发路线图。或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架。瀑布模型(Waterfall Model)又称流水式过程模型,它可以形象地用阶梯瀑布描述,水由上向下一个阶梯接着一个阶梯地倾泻下来,最后进入一个风平浪静的大湖,这个大湖就是软件企业的产品库。瀑布模型适合于结构化方法,即面向过程的软件开发方法。原型模型与迭代模

12、型相同点是:反复循环几次,直到客户确认为止。不同点是:原型模型事先有一个展示性的产品原型(样品),而迭代模型可能没有。迭代模型的四个阶段(1 )初始阶段。本阶段主要工作是确定系统的业务用况和定义项目的范围。(2 )精化阶段。本阶段主要工作是分析问题域、细化产品定义,定义系统的构架并建立基线,为构建阶段的设计和实施工作提供一个稳定的基础。(3 )构建阶段。本阶段主要工作是反复地开发,以完善产品,达到用户的要求。(4 )产品化( 移交) 阶段。本阶段主要工作是将产品交付给用户,包括安装、培训、交付、维护等工作。 软件开发模型比较表序号 模 型 名 称 优 点 缺 点 适 用 范 围1 瀑布模型 简

13、单好学 逆转性差 面向过程开发2 增量模型 可以分阶段提交 有时用户不同意 系统可拆卸和组装3 迭代模型 需求可变 风险大 有高素质软件团队4 原型模型 开发速度快 不利于创新 已有产品的原型5 螺旋模型 需求可变 建设周期长 庞大、复杂、高风险项目6 喷泉模型 提高开发效率 不利于项目的管理 面向对象开发7 XP 模型 提高开发效率 不适合大团队、大项目 小团队,小项目课后习题2.1 软件生命周期是什么含义?它与软件生命周期模型有何关系?软件生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始

14、点。软件生命周期与软件生命周期模型有关:不同的生命周期模型,可能对应着不同的生存周期。生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。2.4 简述瀑布模型、增量模型、迭代模型、原型模型、XP 等模型的优缺点。序号 模 型 名 称 优 点 缺 点 适 用 范 围1 瀑布模型 简单好学 逆转性差 面向过程开发2 增量模型 可以分阶段提交 有时用户不同意 系统可拆卸和组装3 迭代模型 需求可变 风险大 有高素质软件团队4 原型模型 开发速度快 不利于创新 已有产品的原型5 螺旋模型 需求可变 建设周期长 庞大、复杂、高风险项目6 喷泉模型 提高开发效率 不利

15、于项目的管理 面向对象开发7 XP 模型 提高开发效率 不适合大团队、大项目 小团队,小项目第三章:开发“非订单软件”需要“立项” ,开发“订单软件”需要签订“合同” 。所以, “立项”与“合同”是 IT 企业软件项目(或产品)的两个源头。课后习题3.3 立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员?软件开发出来终归要推向市场的,软件能不能被市场接受是软件开发成功的标准。市场销售人员长期和市场客户打交道,他们最了解客户和市场的需求,最知道什么样的产品具有巨大商机。3.7 合同 、 任务书 、 立项建议书三者有何异同?有何关系?合同是与固定客户签订的协议书,签订合同后软件

16、公司启动该项目的开发,该软件被称为“订单软件” 。立项建议书是相对“非订单软件”而言的,是相关人员对立项过程的书面描述。任务书是企业决定开发某个软件时,对此任务的具体部署情况,以书面的形式表达出来,包括正文和附件。只有立项建议书或合同签订以后才能下达任务书,三者都是软件开发的源头。3.8 下达任务的时间和方法是什么?满足以下三个条件中的任意一个,即可下达任务书:(1 )企业已签订了项目合同 。(2 ) 立项建议书已通过了评审。(3 )作为特殊情况,软件组织的上级下达了某个项目的指令性软件开发计划。例如,有跨组织、跨部门的某个大系统项目,软件的需求由它的系统总体设计组分配。下达任务书的方法是:(

17、1 )下达一份任务书的正文。包括任务的下达对象、内容、要求完成的日期、决定投入的资源、必要时包括任命项目经理(技术经理和产品经理) 、其他保证措施、奖惩措施等。任务书的正文可长可短,若合同或立项建议书很详细,则正文可短。若合同或立项建议书很粗略很短,则正文应该详细,当然也应该很长。(2 )下达一份任务书的附件。一般情况下它就是软件合同或立项建议书 ,如果是指令性计划,它的格式和内容,也应与合同或立项建议书基本相同,即附件的内容应覆盖系统的功能点列表、性能点列表、接口列表、资源需求列表、开发进度列表、阶段评审列表等。第四章1需求分析定义 1997 年 ,IEEE 软件工程标准词汇表中定义需求为:

18、(1).用户解决问题或达到目标所需的条件或能力(Capability)。(2).系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。 (3).一种反映上面(1)或(2)所描述的条件或能力的文档说明。 需求分析分为两个阶段,需求获取阶段和需求规约阶段。需求关心的是系统目标而不是系统实现。需求可以分为两大类,功能性需求和非功能性需求,前者定义了系统做什么,后者定了系统工作时的特性。2需求分析为什么重要 需求分析特别重要。这是因为:(1 ) .许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致

19、使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。(2 ) .用户需求报告既是软件生命周期中的第一个里程碑,又是客户、软件开发人员、软件测试人员和项目管理人员四者共同工作的基线,是项目 Alpha 测试和 Beta 测试的准则,是供方交付产品和需方验收产品的依据。(3 ) .需求分析要占用整个软件开发时间或工作量的 30%左右。(4 ) .需求获取中的错误,属于软件开发中的早期错误,将给项目成功带来极大风险,因为这些错误会在后续的设计和实现中进行发散式的传播。根据以上四项原因,IT 企业的高层经理,对需求分析特别重

20、视,常常派经验最丰富的人员去作项目需求。 软件需求的三个层次 软件需求包括三个不同层次:高层领导的战略决策需求、中层管理的查询统计需求、基层人员的实时操作需求。这个上中下三层需求,构成一个需求金字塔。需求分析名词解释序号 名词 名词解释123456789101112提取对象、属性和方法的技术 在面向对象的需求分析中,如何提取对象(准确说是对象集或类 )呢?或者说,对象在哪里?属性在哪里?方法在哪里?回答是:因为“对象”是“名词或名词短语” ,所以要到需求分析的重要名词或名词短语集合中去发现有用的“对象” ;因为“属性”是“形容词或服务性名词” ,所以要到需求分析的主要形容词集合或服务性名词集合

21、中去发现对象的“属性” ;因为“方法”是“动词” ,所以要到需求分析的主要动词中去发现“方法” 。 需求评审检查的项目包括:(1). 需求是否描述清楚,不存在歧义。(2). 需求是否是可量化的,可验证的。(3). 需求间是否存在冲突,以及它们之间的依赖关系。(4)非功能性需求是否明确、合理。(4). 需求是否注明来源。(5). 每个需求是否分配了唯一的标识。课后习题4.1 为什么需求分析特别重要?需求分析特别重要,是因为:(1 )许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;

22、要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。(2 )需求分析的输出文档是用户需求报告 ,它既是软件生存周期中的第一个里程碑,又是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,是三者共同工作的基础,是项目 Alpha 测试和 Beta 测试的准则,是供方交付产品和需方验收产品的依据。(3 )需求分析要占用整个软件开发时间或工作量的 30%左右。(4 )需求获取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。根据以上 4 个原因,IT 企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去作项目需求

23、。正因为如此, “系统分析员”才是软件行业中的最高技术职称。4.2 需求分析的目的是什么?需求分析的难点在哪里?软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中首先要获取用户的需求,通过对软件需要的提取、分析、文档化及验证,为进一步的设计和实现提供依据。需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序” ,而变更管理程序在签订合同时已经做了规定。要知道,合同是具有法律效力的。4.5 为什么说需求分析是面向流程的?系统的

24、功能、性能、接口、界面都是在流程中动态实时的反映出来。在所有的流程(物流、人流、资金流、信息流、单据流、报表流、数据流)中,数据流最重要,也最具有代表性。因为在计算机网络系统内,一切流程都表现为数据流,或者说是数据流在不同方向的投影。而流程是动态的、实时的。所以说,需求分析是面向流程的。第五章:软件策划,既是为软件开发者和管理者制定合理的计划,又是为软件项目跟踪和监控提供考核依据。软件策划是项目经理和高级经理的职责范围,是 IT 企业的重大事件之一。软件估计既是软件策划的核心,又是软件策划的重点与难点。软件策划的目的,是为软件开发和软件管理制定合理的计划。软件策划的四个目的步骤 步 骤 名 称

25、 步 骤 内 容1估计软件工作产品的规模、工作量、费用及所需的资源软件工作产品,包括需求规格说明书、概要设计说明书、详细设计说明书、源代码、测试计划和测试报告、质量保证计划、软件配置管理计划、里程碑及评审计划。每个工作产品所需的工作量(人年) 、费用及其所需的其他资源,都要量化2 制定时间表 包括开发进度时间表和日历进度时间表:软件开发计划、质量保证计划、软件配置管理计划、测试计划、评审计划3 鉴别和评估风险 政策风险、资源风险、市场突变风险、技术风险和技能风险等4 与相关的组或人协商策划中的有关约定 策划的结果要实事求是,要得到各有关方面的同意和认可项目策划和跟踪用的三个软件估计已建立文档。

26、这三个估计是:工作产品规模估计工作量及成本估计计算机资源估计所谓定义软件过程,就是根据选定的生命周期模型,规定软件的开发阶段,及每一阶段的工作步骤和文档标准等内容。Delphi 法又称希腊古都法。在没有历史数据的情况下,Delphi 法是最流行的专家评估技术。执行 Delphi 法的基本步骤是:(1) 协调人向各专家提供项目规格和估计表格; (2) 协调人召集小组会,各专家讨论与规模相关的因素;(3) 各专家匿名填写迭代表格;(4) 协调人整理出一个估计总结,以迭代的形式返回专家;(5) 协调人召集小组会,讨论较大的估计差异;(6) 专家复查估计,总结并在迭代基础上提交另一个匿名估计;(7)

27、重复 4-6,直到达到一个最低和最高估计的一致为止,以完成此次估计。 软件策划文档就是软件开发计划书 ,它还包括质量保证计划 、 软件配置管理计划 、测试计划 、 里程碑及评审点计划 。课后习题5.2 简述软件策划的步骤。软件策划的 4 个步骤是:步骤 步 骤 名 称 步 骤 内 容1估计软件工作产品的规模、工作量、费用及所需的资源软件工作产品,包括需求规格说明书、概要设计说明书、详细设计说明书、源代码、测试计划和测试报告、质量保证计划、软件配置管理计划、里程碑及评审计划。每个工作产品所需的工作量(人年) 、费用及其所需的其他资源,都要量化2 制定时间表 包括开发进度时间表和日历进度时间表:软

28、件开发计划、质量保证计划、软件配置管理计划、测试计划、评审计划3 鉴别和评估风险 政策风险、资源风险、市场突变风险、技术风险和技能风险等4 与相关的组或人协商策划中的有关约定 策划的结果要实事求是,要得到各有关方面的同意和认可5.4 为什么在策划过程中要考虑到受影响的组和个人?受影响的组主要有:软件工程组(项目组) 、软件估计组、系统测试组、质量保证组、配置管理组、合同管理组、文档支持组等,这些小组的活动始终贯穿于整个软件工程的全过程,对软件项目的成败有着至关重要的作用,是保证软件产品质量的关键所在,任何一个组的疏忽,都有可能影响到整个软件产品的开发进度。5.8 定义软件过程是什么含义?所谓定

29、义软件过程,就是根据选定的生命周期模型,规定软件的开发阶段,及每一阶段的工作步骤和文档标准等内容。5.9 软件估计是什么含义?所谓软件估计,指对软件项目进行量化估计,并记录估计结果的过程。软件估计是软件度量的一部分,它既是软件策划的核心,又是软件策划的重点与难点。第六章功能模型的表示方法为:系统功能需求列表、性能需求列表、接口需求列表、界面需求列表。UML 规定主要采用“用例图 ”来描述功能模型。功能模型的设计和实现方法为:将相同的功能归并,设计为一个个的构件或组件(部件) ,将不同的功能设计成模块,然后用面向对象的语言将这些离散的部件或模块组装起来,形成一个完整的系统。业务模型的描述方法为:

30、组织结构图、岗位(或角色)职能表、业务流程图加上业务规则说明在 UML 中,完整的业务模型由用例图、时序图、交互图、状态图、活动图来表述。并且,时序图在表述中起到核心作用。课后习题6.1 业务模型、功能模型、数据模型各是什么含义?三者之间有什么关系?功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。数据模型是描述系统工作前的数据来自何处,工作中的数据存到什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。功能模型和业务模型是在需求分析

31、时建模,是两个基本点。数据模型是一个中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。通常,数据模型建模用 PowerDesigner,ER Win 或 Oracle Designer 工具实现;功能模型用功能点列表(或用况图)表示;业务模型用自然语言加上流程图(或顺序图)表示。信息系统的业务模型就是系统的操作流程和业务规则,功能模型就是系统的功能菜单和用户界面,数据模型就是系统的数据结构和数据字典。第七章:三层结构优点 (1).三层之间的低耦合,所以互不干扰,哪一层出了问题就去找哪一层去解决;(2).三层结构减少了客户机的工作量,提

32、高了网络系统的运行效率;(3).三层结构有利于系统的维护和升级,各个层的维护,互不影响。例如,修改表示层,不会影响用修改业务层;修改业务层,也不会影响用修改数据层。而且,所有层的维护与修改,都是在服务器上进行,不需要到用户现场出差。软件设计原理,就是各种软件设计方法都应该遵守的共同基本原理。这些设计原理包括:抽象、模块化、信息隐藏、模块独立性、封装、接口和实现分离。 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少,且接口简单。 “高内聚、低耦合” 是两个定性的度量标准。(1 )耦合性耦合是对不同模块之间相互依赖程度的度量。紧密耦合是指两个模块之间存在着很强的依赖关

33、系。松散耦合是指两个模块之间存在一些较弱的依赖关系。无耦合是指模块之间根本没有任何连接与依赖关系。模块之间联系越紧密,其耦合性越强,其独立性就越差。模块间的耦合性从低到高可分为以下七种类型,(2) 内聚性内聚是对同一模块内部各个元素之间彼此结合紧密程度的度量。内聚性越高,则模块内部的结合紧密程度越好。根据内聚性从低到高排列,可分为以下七种不同类型的内聚,如图所示:巧合内聚:一个模块内的各处理元素之间没有任何联系。逻辑内聚:一个模块由执行几个逻辑上相似功能的处理元素所组成,它们通过参数,来决定由处理元素完成的处理功能。时间内聚:把需要同时执行动作的处理元素组合在一起,形成一个模块,称为时间内聚模

34、块。 面向过程概要设计的主要任务 软件概要设计要做的事情是什么呢?总的来看有五个方面的任务,它们是:(1).制定规范:主要是接口规约、命名规则。(2).设计软件系统结构(软件结构) 。(3).数据结构及数据库设计。(4).编写概要设计文档。(5).评审。 软件系统的层次结构图1. 程序流程图(Flowchart) 程序流程图是用图形化的方式,表示程序中一系列的操作以及执行的顺序,其表示元素如表 7-2 所示。名称 图例 说明 终结符 表示流程的开始和结束 处理 表示程序的计算步骤或处理过程,在方框内填写处理的名称或程序语句 判断 表示逻辑判断或分支,用于决定执行后续的路径,在菱形框内填写判断的

35、条件 输入/输出 获取待处理的信息(输入) ,记录或显示已处理的信息(输出)连线 连接其它的符号,表示执行顺序或数据流向 2. N-S 图(Nassi-Schneiderman Diagram)Nassi-Schneiderman 图是流程图的另一种表达形式,由 Nassi 和 Schneiderman 提出,简称N-S 图。与流程图对应的三种结构,如图 7-9 所示。3. 程序设计语言 PDL(Program Design Language) 程序设计语言 PDL 也称为伪码,它是用正文形式表示数据结构和处理过程的设计工具,PDL 具有以下特点,关键字的固定语法,提供了结构化控制结构、数据说

36、明和模块化的手段,自然语言的自由语法,用于描述处理过程和判定条件,数据说明的手段,既包括简单的数据结构,又包括复杂的数据结构,模块定义和调用的技术,提供各种接口描述模式。三种模式的对比读入 N是 否 当 条 件 成 立 直 到 条 件 成 立F =1MM=N?开 始读 入 N结 束F =* MM =+ 1打 印 F是否读 入 NF =1, M= 1当 =NF =F *MM =M +1打 印 F置 F 的值为 1,置 M 的值为 1当 M = N 时,执行:使 F = F * M使 M = M + 1打印 F软件设计管理文档有:(1 ) 概要设计说明书评审记录表(2 ) 详细设计说明书评审记录表

37、课后习题7.3 概要设计说明书和详细设计说明书有何区别?概要设计说明书 ,一是要覆盖需求规格说明书的全部内容,二是要作为指导详细设计的依据。它注重框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的内部接口设计,它要覆盖需求规格说明书中的功能点列表、性能点列表、接口列表。详细设计说明书 ,一是要覆盖概要设计说明书的全部内容,二是要作为指导程序设计的依据,它注重微观上和框架内的设计,它是各子系统的公用部件实现设计、专用部件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计和其他详细设计等。两者的设计者不同

38、,在一般情况下, 概要设计说明书是由系统设计师负责, 详细设计说明书则由高级程序员负责。7.4 怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?软件概要设计用以描述系统最顶层的结构和组织形式,表示出软件系统各个组成部分的功能及其互相之间的接口关系,所以概要设计是系统总体结构设计或系统架构设计。7.5 怎么理解“软件详细设计是子系统和模块实现设计”?软件详细设计用于详细描述每个部件的内部结构,用以指导程序人员编写代码,便于每个部件能够得以顺利实现。当这些部件都实现了之后,将它们组装起来就实现了子系统或模块。7.7 请 用 面 向 过 程 详 细 设 计 中 的 程 序 设 计 语 言

39、PDL 和 PAD 图 两 种 方 法 , 来 描 述 求( N1) 。3312(1)程序设计语言 PDL:读入 N置 S 的值为 0,置 I 的值为 1当 I = N 时,执行:使 S =S+I*I*I使 I= I + 1打印 S(2)PAD 图:read N;S=0; I=1;I=N; S=S+I*I*I; I=I+1Print S;第八章:软件测试是按照规定的测试规程发现软件缺陷的过程。什么是软件缺陷?Ron Patton 在Software Testing中定义如下:(1). 软件未实现产品说明书要求的功能;(2). 软件出现产品说明书指明不应该出现的错误;(3). 软件实现了产品说明

40、书未说明的功能;(4). 软件未实现产品说明书虽未明确提及但应该实现的目标;(5). 软件难以理解,不易使用,运行速度慢,或者软件测试员、最终用户认为软件不好。软件调试是在有问题的程序中设置断点,通过观察断点处的程序运行状态,来缩小问题代码的范围,进而捕获到问题的准确位置,并加以修正,最终解决问题。软件测试方法 (1). 测试方法的分类,在宏观上讲有黑盒测试方法、白盒测试方法、灰盒测试(黑加白测试)方法。也有时将上述三种测试方法归为功能测试方法,这是相对于性能测试方法、兼容性测试方法和易用性测试方法等非功能性测试方法而言的。(2). 测试方法的另一种分类,是静态测试和动态测试。静态测试主要指不

41、运行代码进行测试(例如代码走读) ,动态测试则是指在运行代码中进行测试。需 求 分 析概 要 设 计 详 细 设 计编 码 单 元 测 试集 成 测 试 系 统 测 试验 收 测 试用 户 需 求早期软件测试 V 模型示意图测试阶段是在代码编写完成以后,先做单元测试,然后是集成测试、系统测试和验收测试改进的 V 模型示意图设计测试用例的五种方法:1等价类划分法;2边界值分析法;3错误推测法;4因果图分析法;5场景分析法。等价类划分的具体做法是:把所有可能的输入数据,即软件的输入域,划分成若干部分(子集) ,使每部分内的数据都是等效的(对于软件而言,等效可以理解为对数据的处理过程以及处理结果都完

42、全一致) ,然后从每一个子集中选取少数具有代表性的数据,作为测试用例。边界值分析方法是对等价类划分方法的补充。2基于边界值分析方法选择测试用例的原则如果输入条件规定了值的范围,则应取刚刚达到这个范围的边界的值,以及刚刚超越这个范围的边界值作为测试输入数据。如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少 1、比最大个数多 1 的数,作为测试数据。根据规格说明的每个输入条件,使用前面的原则。根据规格说明的每个输入条件,应用前面的原则。如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素测试用例。 我们在确定边界值时,还要参考 ASCII/Uni

43、code 编码表。 测 试 需 求 分 析概 要 测 试 设 计单 元 测 试 设 计 单 元 测 试 集 成 测 试系 统 测 试 验 收 测 试理 解 软 件 需 求 和用 户 需 求需 求 分 析 概 要 设 计详 细 设 计 编 码获 取 用 户 需 求实用的白盒测试覆盖技术有四种,即语句覆盖、条件覆盖、分支覆盖和组合覆盖。覆盖技术的主要思想,是从不同角度尽可能提高代码的测试覆盖率。语句覆盖是最基本的覆盖,它要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。语句覆盖测试用例参考表测试用例序号(项目编号项目版本号模块号测试用例编号) a 取值 b 取值 c 取值 d 取值 说明

44、XX-V1-103-001 1 1 1 1 覆盖 ABCDEIT 企业软件测试的基本方法是:宏观上用黑盒测试,微观上用白盒测试;全局用黑盒测试,局部用白盒测试;绝大部分测试人员用黑盒测试,极少数程序人员用白盒测试;以黑盒测试为主,以白盒测试为辅。产生测试计划包括五个基本步骤:熟悉项目情况、确定和排序测试需求、定义测试策略、估计测试工作量和配置测试资源。测试经理必须充分了解了被测试项目的情况,如何体现充分?可以不断积累问题列表,衡量自己是否真正了解被测项目,例如:(1). 产品的运行平台和应用领域;(2). 产品使用者的特点;(3). 产品主要的功能模块; (4). 测试的目的和侧重点;(5).

45、 被测软件的数据是如何传递、存储的;(6). 产品采用的实现技术;(7). 同类型产品有哪些,各自的特点和不足;(8). 该产品的发布,是否被公司看作是一项非常重要而关键的事情;(9). 产品的前期设计和开发工作,是否有资深的技术人员主导或参与;(10). 项目开发负责人是谁,主要开发人员都有谁,各负责哪些部分,如何联系;(11). 项目计划中安排的测试时间是多少;(12). 开发团队工作进展如何;(13). 测试人员目前各自的工作量如何。 课后习题8.1 软件测试的目的和目标是什么?简单明了地说,软件测试的目的就是发现软件缺陷。但同时还要时刻牢记在心的是:软件测试的目标是尽可能早地发现软件缺

46、陷,并确保其得以修复。这里的缺陷,包括 Bug 和不符合项。8.2 什么是软件缺陷?我们说,符合下列五个规则之一的就是软件缺陷:(1 )软件未达到产品说明书(需求报告或需求说明书)标明的功能;(2 )软件出现了产品说明书指明不会出现的错误;(3 )软件未达到产品说明书未指明但应达到的目标;(4 )软件功能超出产品说明书所指明的范围;(5 )软件测试人员认为软件难以理解、不易使用、速度缓慢,或者最终客户认为不好。8.4 试阐述软件测试 V 模型的思想、不足之处和改进方法。软件测试 V 模型的基本思想,如图所示。我们可以初步了解,左侧是开发阶段,右侧是测试阶段。开发阶段先从定义软件需求开始,然后要

47、把这些需求不断地转换到概要设计和详细设计中去,最后形成程序代码。测试阶段是在代码编写完成以后,先作单元测试开始,然后是集成测试、系统测试和验收测试。对 V 模型的进一步阐述是:当需求分析完成后,验收测试计划也应完成。当概要设计完成后,系统测试计划也应完成。当详细设计完成后,集成测试计划也应完成。当编码完成后,单元测试计划也应完成。可见,V 模型提高了测试的时间与地位。软件测试 V 模型以上的测试 V 模型,一般只适合于瀑布开发模型,若对迭代开发模型,就显得不足了。实际工作中,V 模型只是提高了测试工作的地位,具体测试方法,仍然是黑白盒子法。第九章:1 “客户化”和“初始化”不一样客户化是指按照

48、客户的实际需求,对软件产品的功能、性能、接口做适当的改动。初始化是指按照客户的实际情况,对软件产品的代码表(又称数据字典)进行初始化,即将客户的各种信息编码录入到相应的代码表中,如单位代码、部门代码、物资代码、设备代码、商品代码、科目代码、岗位代码等。此外,初始化还包括数据库中所有基本表的数据加载,即所有基本表中必要记录的录入工作。所以,初始化就是给软件正式运行,提供一个必要的条件。初始化工作简单,客户化工作复杂。客户化之后的软件,仍然需要初始化,因为只有初始化后的软件才能正式运行。项目与产品的区别与联系区别:软件产品是指不局限于特定业务领域、能被广大用户直接使用的软件系统,如操作系 统、编译

49、系统、工具系统、通用财务系统等。软件项目是指针对特定业务领域、需提供业务流程重组与优化的软件系统,如 MIS, ERP,电子商务、自动跟踪控制系统等,它们一般叫做软件项目。这种关系是:做软件项目是手段,做软件产品是目的,软件项目做多了,软件项目就慢慢地变成了软件产品。产品的发布时机,是由市场利润、开发进度、产品功能与质量、客户可接受程度等多方面的因素决定的。3产品发布方式软件企业市场与销售中心要通过各种媒体进行产品发布,以扩大影响、吸引客户、占领市场。不管是哪一类软件产品,其产品发布的方式有下面几种:(1 )聘请各有关领导、新闻媒体记者和大客户代表,召开新闻发布会,宣布新产品的优点,描述其市场前景,现场演示介绍,厂商给嘉宾和客人送产品资料和纪念品。(2 )在报纸、刊物、电视台、电台上做广告,宣传软件产品。(3 )在各种交易会、展览会、博览会上租用摊位,展示软件产品。销售技术人员的工作职能及素质要求岗 位 名 称 工 作 职 责 素 质 要 求 (产品形象代表)制订投标书,讲解投标书,主持技术谈判,参与合同签约,制订初步的实施计划 演讲能力强,气质风度

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报