新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 软件工程、需求工程、系统工程,UML、MDA、模型驱动开发,面向对象软件工程、面向目标软件成功、面向场景的设计、敏捷
    [返回] 计算机科学论坛计算机技术与应用『 软件工程论坛 』 → [转帖]软件工程的七条基本原理 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 10465 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [转帖]软件工程的七条基本原理 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     wcdxyl 帅哥哟,离线,有人找我吗?天秤座1980-10-9
      
      
      威望:4
      等级:大四(每天看1小时莱昂氏)(版主)
      文章:158
      积分:1145
      门派:IEEE.ORG.CN
      注册:2006/3/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wcdxyl发送一个短消息 把wcdxyl加入好友 查看wcdxyl的个人资料 搜索wcdxyl在『 软件工程论坛 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看wcdxyl的博客楼主
    发贴心情 [转帖]软件工程的七条基本原理

    1、用分阶段的生命周期计划严格管理

    有人经统计发现,在不成功的软件项目中有一半左右是由于计划不周造成的,可见把建立完善的计划作为第一条基本原理是吸取了前人的教训而提出来的。

    在软件开发与维护的漫长的生命周期中,需要完成许多性质各异的工作。这条基本原理意味着,应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。Boehm 认为,在软件的整个生命周期中应该制定并严格执行六类计划,它们是项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。

    不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。

    2、坚持进行阶段评审

    当时已经认识到,软件的质量保证工作不能等到编码阶段结束之后再进行。这样说至少有两个理由:第一,大部分错误是在编码之前造成的,例如,根据Boehm 等人的统计,设计错误占软件错误的63%,编码仅占37%;第二,错误发现与改正得越晚,所需付出的代价也越高。因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。

    3、实行严格的产品控制

    在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价,但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一种客观需要,显然不能硬性禁止客户提出改变需求的要求,而只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要 是实行基准配置管理。所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。基准配置管理也称为变动控制:一切有关修改软件的建议,特别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。绝对不能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改。

    4、采用现代程序设计技术

    从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。60年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。以后又进一步发展出各种结构分析(SA)与结构设计(SD)技术。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。

    5、结果应能清楚地审查

    软件产品不同于一般的物理产品,它是看不峥摸不着的逻辑产品。软件开发人员(或开发小组)的工作进展情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般产品的开发过程更难于评价和管理。为了提高软件开发过程的可见性,更好地进行管理,应该根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。

    6、开发小组的人员应该少而精

    这条基本原理的含义是,软件开发小组的组成人员的素质应该好,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件中的错误。此外,随着开发小组人员数目的增加,因为交流情况讨论问题而造成的通信开销也急剧增加。当开发小组人员数为N时,可能的通信路径有N(N?/FONT>1)/2条,可见随着人数N的增大,通信开销将急剧增加。因此,组成少而精的开发小组是软件工程的一条基本原理。

    7、承认不断改进软件工程实践的必要性

    遵循上述六条基本原理,就能够按照当代软件工程基本原理实现软件的工程化生产,但是,仅有上述六条原理并不能保证软件开发与维护的过程能赶上时代前进的步伐,能跟上技术的不断进步。l因此,Boehm提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原理。按照这条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,例如,收集进度和资源耗费数据,收集出错类型和问题报告数据等等。这些数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的软件工具和应该优先研究的技术


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    主页:http://wcdxyl.blogchina.com
    MSN:wcdxyl@163.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/4 14:11:00
     
     pennyliang 帅哥哟,离线,有人找我吗?白羊座1979-4-7
      
      
      威望:8
      等级:大二期末(C++考了100分!)
      文章:266
      积分:1911
      门派:Lilybbs.net
      注册:2005/3/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给pennyliang发送一个短消息 把pennyliang加入好友 查看pennyliang的个人资料 搜索pennyliang在『 软件工程论坛 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看pennyliang的博客2
    发贴心情 
    质量,时间,成本,范围永远是工程的不变主题,一个切实可行的计划,或者说ROADMAP路线图,一个成熟,稳定,高质量的开发团队,一个可以赢利的模式,可以把工程合理成功的应用,一个稳定,可靠的后期维护。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/4/4 17:30:00
     
     GoogleAdSense白羊座1979-4-7
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 软件工程论坛 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/3 12:52:51

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms