软件工程
FRESHET
这个作者很懒,什么都没留下…
展开
-
软件重用的效益
11.3.3 软件重用的效益 近几年来软件产业界的实例研究表明,通过积极的软件重用能够获得可观的商业效益数,产品质量,开发生产率和整体成本都得到了改善。1.质量 理想情况下,为了重用而开发的软件构件已被证明是正确的,且没有缺陷,事实上,由于不能定期进行形式化验证,错误可能而且也确实存在,但是,随着每一次重用,都会有一些错误被发现并被清除,构件的质量也会随之改善,随着时...原创 2020-04-12 19:41:27 · 2478 阅读 · 0 评论 -
软件重用——类构件
11.3.2 类构件 利用面向对象技术,可以更方便更有效地实现软件重用。面向对象技术中的“类”,是比较理想的可重用软构件,不妨称之为类构件。类构件有3种重用方式,分别是实例重用、继承重用和多态重用。下面进一步讲述与类构件有关的内容。1.可重用软构件应具备的特点 为使软构件也像硬件集成电路那样,能在构造各种各样的软件系统时方便地重复使用,就必须使它们满足下列要求:(...原创 2020-04-12 19:39:00 · 4466 阅读 · 0 评论 -
软件重用——复用
11.3 软件重用11.3.1 概述1.重用 重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用,广义地说,软件重用可分为以下3个层次:(1)知识重用(例如,软件工程知识的重用)(2)方法和的标准的重用(例如,面向对象方法或国家制定的软件开发规范的重用(3)软件成分的重用 前两个重用层次属于知识工程研究的范畴,本节仅计论软件成分重用...原创 2020-04-12 19:37:21 · 7588 阅读 · 0 评论 -
面向对象设计——启发规则
11.2 启发规则 人们使用面向对象方法学开发软件的历史虽然不长,但也积累了一些经验。总结这些经验得出了几条启发规则,它们往往能帮助软件开发人员提高面向对象设计的质量。1.设计结果应该清断易懂 使设计结果清晰、易读,易懂,是提高软件可维护性和可重用性的重要措施。显然,人们不会重用那些他们不理解的设计。保证设计结果清晰易懂的主要因素如下*:(1)用词一致,...原创 2020-04-12 13:52:02 · 3793 阅读 · 0 评论 -
面向对象设计准则1
面向对象设计 如前所述,分析是提取和整理用户需求,并建立问题域精确模型的过程。设计准则*是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计(OOD),是一个逐渐扩充模型的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。 尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。许多分析结...原创 2020-04-12 11:42:30 · 1079 阅读 · 0 评论 -
软件的可维护性2
可以把软件的可维护性定性地定义为:维护人员理解、改正、改动或改进这个软件的难易程度。在前面的章节中曾经多次强调,提高可维护性是支配软件工程方法学所有步骤的关键目标。 8.4.1 决定软件可维护性的因素 维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预...原创 2019-09-24 10:14:59 · 7316 阅读 · 14 评论 -
软件维护概述1
在软件产品被开发出来并交付用户使用之后,就进人了软件的运行维护阶段,这个阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行。 软件维护需要的工作量很大,平均说来,大型软件的维护成本高达开发成本的4倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量的增多和使用寿命的延长,这个百分比还在持续上升。将...原创 2019-09-23 16:21:22 · 2581 阅读 · 0 评论 -
软件測试基础
7.2 软件測试基础本节讲述软件测试的基本概念和基础知识。表面看来,软件测试的目的与载件工程所有其他阶段的目的都相反。软件工程的其他阶段都是“建设性”的,软件工程师力图从抽象的概念出发,逐步设计出具体的软件系统,直到用一种适当的程序设计语言写出可以执行的程序代码。但是,在测试阶段测试人努力设计出一系列测试方案,目的却是为了“破坏”已经建造好的软件系统一一竭力证明程序中有错误,不能按照预定要...原创 2019-09-11 08:08:38 · 1427 阅读 · 0 评论 -
软件实现
通常把编码和测试统称为实现所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。作为软件工程过程的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量。但是,所选用的程序设计语言的特点及编码风格也将对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长过程中,面对着极其...原创 2019-09-09 17:43:35 · 2271 阅读 · 0 评论 -
总体设计
5 总体设计 经过需求分析阶段的工作,系统必须“做什么“已经清楚了,现在是决定”怎样做”的时候了,总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计,通过这个阶段的工作将划分出组成系统的物理元素一一程序,文件,数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计阶段的另一...原创 2019-09-05 19:56:36 · 4808 阅读 · 0 评论 -
实体联系图
3.4 实体-联系图 为了把用户的数据要求请楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型),概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型,它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与在软件系统中的实现方法无关。 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。...原创 2019-09-04 19:42:42 · 2854 阅读 · 1 评论 -
验证软件需求
3.8 验证软件需求3.8.1 从哪些方面验软件需求的正确性 需求分析阶段的工作结果是开发件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求,为了高软件质量,确保软件开发成功,降低较件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性,一般说来,应该从下述4个方面进行验证(1)一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相...原创 2019-09-04 17:35:38 · 7311 阅读 · 1 评论 -
获取需求、分析建模及规格说明
3.2与用户沟通获取需求的方法3.2.1访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析技术。 访谈有两种基本形式,分别是正式和非正式、正式访谈时,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇佣的销售人员数目以及信息反时间应该多快等,在非正式访该中,分析员将提出一些用户可以自由答的开放性间题,以鼓励被访问人员说出自己的想...原创 2019-09-03 00:14:29 · 2011 阅读 · 0 评论 -
需求分析概述及任务
需求分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。 虽然在可行性研究阶段已经粗略地了解了用户的需求,...原创 2019-09-02 21:58:36 · 9478 阅读 · 0 评论 -
软件可性行分析的任务和过程
可行性研究 并非任何题都有简单明显的解决办法,事实上,许多间题不可能在定的系使观模或时间期限之内解决,如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费 研究的目的是用最小的代价在尽可能短的时间确定问题是否能够解决。2.1可行性研究的任务 必须时刻记住,可行性研究的目的不是解决问题,而是确定问题是否...原创 2019-09-01 23:57:41 · 1603 阅读 · 0 评论