您的位置:首页 > 其它

大道至简-软件工程实践者的思想阅读随笔

2017-08-13 13:28 260 查看
       开篇以愚公移山举例,论证编程的精义。个人感觉有点苦涩难懂。愚公移山,这个寓言故事很多人都听过,但是与编程挂钩有点难理解。愚公比作项目组织者、团队经理、编程人员、技术分析师等。我了解到愚公的项目。项目目标是平山。他也制定了详细的计划。我在网上查找资料时,看到愚公移山项目的伪代码,了解到了他的项目是如何进行的,用java伪代码,如何表示。

       ‘程序=算法+结构’这是编程的本质。对程序,算法,结构的理解我还算明白。‘在这个公式里,代码是不存在的。存在的只是思想。’思想?编程的思想?我领悟不出它的思想所在。或许当我在接下来一学期的学习中能渐渐领悟。

       再接下来,作者阐述了工程的含义。没有实现工程,其实这些语言,算法,数据结构也不能完成什么项目。

       的确,方法都是懒人创造的,如果人不偷懒,也没有今天这么多的工具供我们使用。愚公那样坚持不懈,但是造就不了方法,唯一的结果就是耗时长。作者的思考:程序 = 算法 + 结构 + 方法。作者想到面向对象和面向过程的方法。与“面向对象”是否出现完全无关的一个东西,却因为“过程”和“单元”的出现而出现了。这就是“工程(engineering)”。

       团队的概念。三个人为一个团队。‘首先一个人算不得团队,那是个体。两个人则互相支撑,古文中“从”字是二人互立,就是这个意思。然而二人互立并不算团队,因为没有监督。三个人便可以构成团队,这样便有了团队的一些基本特性:主从、监督和责任。’引用作者的话。以后做项目大多都是团队一起,既然是团队就要有管理人员。如果团队有失误,管理人员要先担起责任。做项目 = 死亡游戏 ? 如果项目失败,大部分责任在管理人员也就是项目经理。项目经理虽不用像李离伏剑那样,但至少也要有递交辞呈的勇气。项目经理也不是什么好做的。一个团队的组织机构尤为重要,有时甚至可以决定项目的成功与否。

       与客户的沟通。没有沟通我们将无法确知要做什么。项目的需求阶段尤其需要与客户沟通。然而大多程序员不善于沟通,了解客户的需求。在公司聘请其他的业务公司人员来调查时,也没有太大效果。这时,就需要我们自己做沟通,设计沟通方案。作者给出的方案非常合理。分析用户的每一个表格,以构建基础数据库;分析每一条数据的含义以确定它的上下限,以及数据间的相关性;从工作文档中去了解客户的组织机构及其相互关系,同时确定了每一类使用该系统的角色;从报表中去了解客户关注的数据信息,以及被他们所忽略掉的数据信息。之后整理。从作者给出的方案,我领悟颇多,以后对工作有很大帮助。

       接下来就是关于过程的讨论。前有瀑布模型将软件开发的过程分成需求、分析、设计、开发和测试等 5 个主要阶段。后有v型模型,将测试改到每一个阶段。项目建设的过程复杂又简单,复杂在每一项分管许多小的模块;简单在流程的固定。

     ‘组织’工程,是一个项目经理需要做的。工程的概念涉及很深,需要很多构思,要经历长时间的思考,才出现一个雏型。从经营到管理,是一个巨大的工程,需要更加的深入。

     如今,互联网盛行的时代,各大公司开始发展自己的软件工程。虽然如此,但软件工程并没有成熟。回顾整个软件工程的体系,体系完整,但是复杂难懂。各种概念术语让人费解,但又让人着迷,想要去了解它,掌握它。

    如今的我对软件工程思想的了解并不深,只能领悟到这样。如果真正了解到深层的思想,我这些字数也不能描述一个软件工程的轮廓,我还需学习。

    写的有些仓促,如有错误请提出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: