《构建之法》学习总结1——软件工程概论,团队组织及管理,开发流程
这是我作为一个软件工程专业学生的第一篇个人技术博客,虽然我接下来的人生中还会有无数像这样的博客,但这是一个开始,接下来我将会从一个软件工程专业的大学生向一个合格的程序元转变。说实话现在,这一刻对于软件工程我还是很懵懂,学了一箩筐的所谓软件工程的知识,但面对实际问题时还是无从下手,而且很多知识因为缺乏实际应用,久而久之也淡忘了。开始往往是最难的,但我知道,现在有无数和我一样的初学者正摩拳擦掌的的守候在门外,准备撞开这扇软件工程的大门,我有信心,有毅力在这条路上踏实而坚定的走下去 。
而一个软件的开发活动主要有(构建管理,源代码管理,软件设计,软件测试,项目管理)等内容,这也是软件工程的核心部分。广义上的软件工程也包括用户体验,用户界面设计,所以也可以扩展为:
复杂性 | 大型软件有超过百万行代码,上万个不同的文件。 |
不可见性 | 软件工程师能直接看见源代码,但源代码不是软件本身,工程师是看不见源代码是如何具体被执行的 |
易变性 | 软件看上去很容易修改,修改软件比修改硬件容易 |
服从性 | 软件不能独立的存在,他总是要运行在硬件上边,还要服从外界的各种要求 |
非连续性 | 有时候输入上很小的变化,会引起输出上极大的变化 |
其他 | 有许多不同的程序设计语言,软件工具开发平台,存在许多不同的软件开发流程,开发团队中有许多不同的角色,软件通常存储在磁带上,也可以存储在CD/DVD上 |
3.软件工程与计算机科学的关系
以上都是在软件开发过程中的歌钟模式,顾名思义,每种模式都有它的特点和优缺点,在这里就不一一赘述。
只有在生存周期的后期才能得到一个工作的系统。因此,直到系统几乎可以运行时,一个重要的设计或性能问题才有可能被发现,到那时通常已经太晚了,以至于无法采取有效的措施。
针对以上局限性,人们又提出了瀑布模型的各种变形。比如生鱼片模型,大瀑布带着小瀑布等。
第十七章 人,绩效和职业道德
软件工程师的职业道德:作为软件工程师应遵守以下原则:
1.公众:软件工程师的行为应与公众利益一致
2.客户与雇主:软件工程师应以其客户和雇主利益最大化的方式做事。
3.产品:软件工程师应当确保自己的产品以及相关的修改满足最高德尔专业标准。
4.判断:软件工程师应当具备完整且独立的专业判断。
5.管理:软件项目的经理和领导人应该提倡并亲自采用符合道德规范的方法来管理软件的开发与维护。
6.职业:在于公众利益一致的原则下,软件工程师应当保证职业的诚信和声誉。
7.同事:软件工程师应当公平对待同行,并给予支持和帮助。
8.自身:软件工程师应当终身学习提高自身的专业水平,并在工作中推动落实道德准则。