什么是'软件工程'(100分)

  • 主题发起人 主题发起人 rrr
  • 开始时间 开始时间
我学过一些工业工程的知识,感觉软件工程是在这个基础上发展起来的。我感觉是一种管理
与技术相结合,应用于产品生产全过程的管理方式,讲的是合理规划,统筹安排,有时间
大家可以看看关于系统介绍工业工程的书籍,估计会有一些帮助的,呵呵。小弟不太明白
胡说八道了。~~~~~~~`
 
[blue][h3]软件工程是一种把程序员变成高级蓝领的学问[/h3][/blue][8D]
 
软件工程,就是把软件变成一项工程。当初软件刚刚开始的时候,因为开发的常常只是一个人就
完成的,随意性比较大,到后来,因为软件越来越大,不再是一个人就可以完成的,这时候
以前开发软件的个人主义的弊病就出来了。历史上称为“软件危机”为了解决这个问题,
某人提出了软件工程(不是我^_^)。
软件工程就是把软件的开发过程规范化,科学化,她包含了很多的方面,从软件的可行性,
必要性、需求,如何开发,系统的结构,都是软件工程的内容。同时她也包构了软件以后如何
维护等方面的内容。
 
软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。
质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。
生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。
质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,
对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,
似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,
大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。
质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。
软件供需双方的代表能在餐桌上谈笑风生,归功于第一线开发人员的辛勤工作。
质量与生产率的提高就指望程序员与程序经理。对开发人员而言,
如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二。
这是因为:(1)质量直接体现在软件的每段程序中,高质量自然是开发人员的技术追求,
也是职业道德的要求。(2)高质量对所有的用户都有价值,而高生产率只对开发方有意义。
(3)如果一开始就追求高生产率,容易使人急功近利,留下隐患。宁可进度慢些,
也要保证每个环节的质量,以图长远利益。
软件的质量因素很多,如正确性,性能、可靠性、容错性、易用性、灵活性、可扩充性、
可理解性、可维护性等等。有些因素相互重叠,有些则相抵触,真要提高质量可不容易啊!
 
來實際的操作經驗勝過什麼軟件工程, 我們應該找一個切入點,由點到面,慢慢領會軟件
工程的概念.因為它實在太籠統,太龐大.大家來說說一些實際的經驗吧...对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,
似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,
大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。
质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。
软件供需双方的代表能在餐桌上谈笑风生,归功于第一线开发人员的辛勤工作。
质量与生产率的提高就指望程序员与程序经理。对开发人员而言,
如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二。
这是因为:(1)质量直接体现在软件的每段程序中,高质量自然是开发人员的技术追求,
也是职业道德的要求。(2)高质量对所有的用户都有价值,而高生产率只对开发方有意义。
(3)如果一开始就追求高生产率,容易使人急功近利,留下隐患。宁可进度慢些,
也要保证每个环节的质量,以图长远利益。软件工程体现了开发的流程,具体如下:
需求分析: 收集/讨论来自各方的需求
概要设计: 构造系统的结构模型,解决技术方向问题
详细设计: 生成可以执行编码的设计文件
组件编码: 依据设计文件,实现各个组件或模块/子系统
单元测试: 验证单元/子系统功能和接口
系统测试: 黑箱测试系统的所有功能和性能参数
现场运行: 在实际环境中检验系统
释放维护: 提交所有项目文档


 
楼上说的不错
 
买书看吧!不是在这里说得清楚的!
www.umlchina.com
 
三个关于计算机科学的最大真理:
●计算机软件工程就象是在漆黑的屋子里寻找黑猫。
●计算机系统工程就象是在没有猫的黑屋子里寻找黑猫。
●计算机知识工程就象是在没有猫的黑屋子里寻找黑猫,却有人大声说:“我抓到它了。”
 
为agaric倾绝。。。。:)
 
其实,程序员就相当于建筑工程的泥水工
 
软件工程是叫人如何把简单的事情复杂化,然后再把复杂的事情简单化的工程;
软件工程是人与人的工程,是交际花的工程;
软件工程是客户不停的提意见,程序员不停的修改的工程;
软件工程是无论如何都要做对,即使是错了,也要是对的工程;
………
本来想写很多了,呵呵,点到为止吧。
 
以上各位!我建议你有时间的话,请看一看RUP(中文版)你们可能更能懂一些!
我没有太多时间去写,你们自己去看吧!
 
今天下午刚刚买了《统一开发过程》,还没看呢
 
这本书还可以,但译得非常差,不如直接RUP!
 
其实,这个还跟开发组的规模,项目的规模有关的。。。
如果你没有试过超大型的项目,你永远都不会明白软件工程的意义。。经过了,你就明白了。
 
TO:CJF :小的系统开发也能体会到的,只要你是按照一套流程去做照样可以的!目前最好是
RATIONAL公司的RUP
 
后退
顶部