【观点】培养软件工程思想

简介: 导读:原文作者changeword在博客园中写了一篇文章《培养软件工程思想》,在他看来,软件工程是一门学问,如何才能培养软件工程思想需要一步一步的去实践出来,以下是作者总结出来的心得。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

导读:原文作者changeword在博客园中写了一篇文章《培养软件工程思想》,在他看来,软件工程是一门学问,如何才能培养软件工程思想需要一步一步的去实践出来,以下是作者总结出来的心得。

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。而工程化的最主要的特点是系统化、规范化、可量化并且严格控制流程得完成开发或生产任务,在此严格的条件下优质、高效的进行生产活动。工程化思想的这种优秀品质,决定了她在生产活动中不可替代的地位。比如各大品牌的手机(如Nokia、Apple)都严格的控制其生产流程,所以品牌手机比山寨机质量要好很多,售后维护也比山寨机做到系统、规范。

在软件开发过程中,我们也运用工程化思想指导开发。软件工程是前人总结的心得经验,前车之鉴、后事之师啊。就像武林之中的泛泛之辈意外的得到一本终极武功秘籍,武林至尊指日可待岂不快哉!遥想当年,诸葛孔明不就是凭借着对《孙子兵法》以及其他兵书的透彻理解,灵活运用成就千古奇谈的吗?

软件工程提供了很多模型,其中非常经典的瀑布模型,她是一种理想化模型,为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。

瀑布模型有许多优点,如可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证等。

但瀑布模型也存在缺点,其主要表现在:①在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。而瀑布模型在需求分析阶段要求客户和系统分析员必须做到这一点才能开展后续阶段的工作。②确定需求后,用户和软件项目负责人要等相当长的时间才能得到一份软件的最初版本。如果用户对这个软件提出比较大的修改意见,那么整个软件项目将会蒙受巨大的人力、财力和时间方面的损失。所以说她是理想化的模型,但她的清晰明朗,规范紧凑 为其他模型提供了参考。故将其作为教材典范。

记得有一次面试,面试题目就是:如果让你开发一个图书馆管理系统,请你简单描述一下你会怎么去实现以及你的想法。想必大家在求学时期就做过图书管理系统,大概都了解怎么做,也不用工程化思想就能做到,但用语言又不知道该怎么描述。如果你用软件工程思想将步骤用你自己的话简单叙述一遍,相信你的面试分一定不会低。

作为程序员,虽然不用做软件工程类的工作,也应该培养软件工程思想。正所谓不想当将军士兵不是好士兵。在工作中面对自己的代码,多以软件工程化思想推敲考究一下,看是否能够将代码写的更漂亮、更优秀。闲的时候可以设想一下如果自己是软件架构师或者项目经理,该如何设计整个软件开发周期,预测在开发过程中可能遇到的问题及相应的解决方案。只有时刻准备着那个职位,才会有机会获得那个职位,机会是留给有准备的人的,不是吗?

原文链接:http://www.cnblogs.com/my_blog/archive/2011/05/09/2041700.html

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 开发者
技术之道:从迷茫到明晰的自我探索
在技术的海洋里,每位开发者都是在不断试错和成长的旅程中。本文通过个人经历,探讨了如何从初入职场的迷茫中找到自己的技术方向,并分享了持续学习和实践的重要性。
48 4
|
6月前
|
人工智能 BI
培养成功的IT文化的8个秘诀
培养成功的IT文化的8个秘诀
|
7月前
|
传感器 机器学习/深度学习 人工智能
【专栏】机器人技术符合人类价值观,促进社会和谐发展,共创美好未来
【4月更文挑战第27天】机器人技术自20世纪起飞速发展,从早期工业领域的简单任务执行到如今的智能多元化应用。随着机械结构优化、感知技术提升及人工智能的融合,机器人已在工业、医疗、服务和特种领域广泛应用,提高效率、安全和生活质量。然而,技术进步也带来失业、伦理法律和安全挑战。未来,我们需要在应对挑战的同时,确保机器人技术符合人类价值观,促进社会和谐发展,共创美好未来。
96 1
|
机器学习/深度学习 架构师 项目管理
快速成长的秘诀|学会自我培养和培养他人
本文是快速成长系列第三篇《自我培养和培养他人》,会从人才培养的目标、缺失、系统、实施几个方面介绍人才培养的实践经验。
125336 45
|
安全 信息无障碍
拿得起放得下,我的看法
前一段瞎忙,终于累倒了,近几天休息。静下来想一想这一大段时间的事情,理解了一句话:拿得起放得下! 拿得起: 接受了一项任务后,就要干净利索的完成,不要拖泥带水,没完没了的。 要对自己的能力,对有的能力,时间进度有一个比较真实的了解。
919 0
|
程序员 关系型数据库 Oracle

相关实验场景

更多