软件工程一:软件工程基本观念

原创 2007年09月17日 21:10:00

软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。

质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。

生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。

质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。

从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。

从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。

质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。

 软件工程的主要环节有:人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等

常见的软件工程模型有:线性模型(图1.2),渐增式模型(图1.3),螺旋模型,快速原型模型,形式化描述模型等等。

软件开发的基本策略 

人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。

同样,程序员脑子里的软件工程观念会无形地支配其怎么去做事情。

软件工程三十年的发展,已经积累了相当多的方法,但这些方法不是严密的理论。

实践人员不应该教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”。

有谋略才会有好的战术。

软件开发中的三种基本策略:“复用”、“分而治之”、“优化——折衷”。

复用

将具有一定集成度并可以重复使用的软件组成单元称为软构件(Software Component)

软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用已有的软构件,

即可组装(或加以合理修改)成新的系统。用方法合理化并简化了软件开发过程,

减少了总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。

另一方面,由于软构件是经过反复使用验证的,自身具有较高的质量。

因此由软构件组成的新系统也具有较高的质量。

 

分而治之

分而治之是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。
 
这种朴素的思想来源于人们生活与工作的经验,完全适合于技术领域。
 
软件人员在执行分而治之的时候,应该着重考虑:复杂问题分解后,每个问题能否用程序实现?
 
所有程序最终能否集成为一个软件系统并有效解决原始的复杂问题?
优化——折衷
软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,
使用户界面更加友好,使三维图形的真实感更强等等。
想做好优化工作,首先要让开发人员都有正确的认识:优化工作不是可有可无的事情,
而是必须要做的事情。当优化工作成为一种责任时,
程序员才会不断改进软件中的算法,数据结构和程序组织,从而提高软件质量。
软件中的折衷策略是指通过协调各个质量因素,实现整体质量的最优
                             (摘自(林锐博士)软件工程思想)

相关文章推荐

软件工程基本知识

(1)什么是软件工程: 软件工程是指通过工程化的概念、概念和方法来开发和维护软件。把经过时间考验证明正确的管理技术与当前最新的技术方法相结合。 (2)软件工程的原则: 抽象、信息隐藏、模块化、局...

软件工程之——各个阶段的基本任务和结束标准

1问题定义、2可行性研究 、3需求分析 、4总体设计(概要设计)、5详细设计、6编码和单元测试、7综合测试、8软件维护 1问题定义 问题定义阶段必须回答的关键问题:“要解决的问题是什么?”如果...
  • statdm
  • statdm
  • 2011年04月11日 13:44
  • 1378

细说软件工程的七条基本原理

细说软件工程的七条基本原理 ChinaItLab  2005-4-4 16:27:00  保存本文  推荐给好友  QQ上看本站  收藏本站 ...
  • junecau
  • junecau
  • 2011年09月03日 14:39
  • 510

软件工程的七条基本原理:经典

软件工程的七条基本原理:经典 软件工程的七条基本原理 (本文从AKA杂志转载)   自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条...

软件工程基础与数据库基础(基本的概念)

一、软件工程基础

通过一个简单控制台的实现来漫谈软件工程基本概念

之前我曾写过同样内容的文章并发表在我的CSDN博客。我让我的同学过目,但他似乎并没有看懂。然后我就卸下来了。因为我感觉我的文笔确实不够好,很多道理阐述的过于冗杂,让别人无所适从。在此,又重写之,估计已...
  • ssd189
  • ssd189
  • 2013年01月26日 16:14
  • 459

关于软件工程的一些基本概念

一直对软件工程中的很多概念都混淆不清,因此查找了相关资料,对很多概念进行了总结,现在脑子终于清楚了! 1.软件生命周期(SDLC,Software Devlopment Life Cycle)  ...

软件开发的基本方法---读软件工程思想(林锐)有感

近期的努力学习,一直希望能突破一个瓶颈,就是熟练工,目前感觉到自己就是一个熟练工,对于工作中所接触到的技术,基本的API都知道,完成工作也比较顺利,我想,开发如果仅仅是CRUD的话,那么这种工作没有任...

《软件工程导论》——基本的软件开发过程模型

归纳了几种基本的软件开发过程模型的概念、特点、优点和缺点。

软件工程基本概念之需求工程

软件工程基本概念之需求工程 需求工程是软件工程中最复杂的过程之一,其复杂性来自于客观和主观两个方面。从客观意义上说,需求工程面对的问题几乎是没有范围的。由于应用领域的广泛性,它的实施无疑与各个应用行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件工程一:软件工程基本观念
举报原因:
原因补充:

(最多只允许输入30个字)