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

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

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

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

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

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

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

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

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

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

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

软件开发的基本策略 

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

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

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

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

有谋略才会有好的战术。

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

复用

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

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

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

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

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

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

 

分而治之

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

软考之路(四)---软件工程一 概念模型,逻辑模型,物理模型

这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程,结合PowerDesigner来根据需要分析、设计、到数据库表就是整个理解的过程,学习这...
  • lishehe
  • lishehe
  • 2014年04月30日 19:22
  • 4384

软件工程:软件工程过程与方法

尽管程序员领着一份不错的薪水,可是他们也同样付出了巨大的精力与时间。随着软件规模的日益庞大,用户需求的不确定以及快速变更,使得软件开发已经不能停留在小作坊式的个人英雄时代,它已经发展为如今的依赖团队合...
  • oMengLiShuiXiang1234
  • oMengLiShuiXiang1234
  • 2016年06月23日 17:29
  • 12754

浅谈对软件工程的认识与理解

软件工程涉及的资源有:人力、资金、时间的合理分配,涉及到文化与管理等,及各种规划化。   软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软件代码来实现软件设计,对软件代码进行测试...
  • ShareUs
  • ShareUs
  • 2016年03月11日 16:47
  • 11246

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

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

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

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

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

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

软件工程基本知识

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

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

一、软件工程基础
  • xyb890826
  • xyb890826
  • 2014年09月14日 10:50
  • 858

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

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

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

软件工程的七条基本原理:经典 软件工程的七条基本原理 (本文从AKA杂志转载)   自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条...
  • diligentcat
  • diligentcat
  • 2011年11月06日 02:15
  • 426
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件工程一:软件工程基本观念
举报原因:
原因补充:

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