zoukankan      html  css  js  c++  java
  • 第五次博客作业

    《构建之法》的心得体会

        软件工程对于大部分人来说是一个大而空泛的概念。软件工程的范围太大了,这导致同学有种不知从何学起的感觉,而《构建之法》这本书结合不少案例故事,形象生动地介绍了许多业界正在使用的理论技术,也让我们在一个学期内切实实践一些软件工程的方法论和工具,并且具体了解它们的优缺点。

        《构建之法》第一章是概论,大概讲述了软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件开发维护。软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)是软件工程的核心内容。同时这可以的得到一个推论:软件=程序+软件工程,和一个扩展推论:软件企业=软件+商业模式。这两个方程式形象地讲述了软件工程的本质,程序(算法丶数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。

        兵法有云:善用兵者,不虑胜先虑败。《构建之法》紧接着讲述了单元测试地重要性及使用方法。很多研究成果表明,无论什么时候作出修改都需要进行完整的回归测试,在生命周期中尽早地对软件产品进行测试将使效率和质量都得到最好的保证。Bug发现的越晚,修改它所需的费用就越高,因此从经济角度来看, 应该尽可能早的查找和修改Bug。在修改费用变的过高之前,单元测试是一个在早期抓住Bug的机会。

        现代软件产业经过几十年的发展,一个软件由一个人单枪匹马完成,已经很少见了,团队合作必不可少。在划分模块后明确了各自分工,渐渐形成良性循环,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,各取所长,因此代码的规范也十分重要,不是可以运行的代码就是好代码。在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。

        《构建之法》通过丰富生动的故事和隐喻帮助学生建立软件工程的思维习惯,通过严格扎实的动手训练与考核帮助学生总结归纳自己的“最佳实践经验”。读这本书,软件工程课不再是一门枯燥沉闷的“文科类哲学课”,变得出乎意料的生动有趣。

        问题1:软件开发如何提高代码质量?

        问题2:团队模式和团队的开发模式有什么关系?

        问题3:单元测试中代码覆盖率一定要达到100%吗?

        问题4:什么时候适合选择敏捷流程?

        问题5:我们在校学习的知识足够企业需求吗

  • 相关阅读:
    TCP IP基础知识的复习
    Design Pattern: Singleton 模式
    解决Win7下安装VS2010不显示序列号框的两种方法
    字典树(Trie tree)
    在VS如何查看汇编代码
    使用模板实现编译期间多态
    一段c++代码小例子
    C++ 虚函数表解析
    C++问题:if( input.rdstate() & std::ios::failbit )
    Design Pattern: Adapter 模式 Class Adapter
  • 原文地址:https://www.cnblogs.com/suhuiyu123/p/5517325.html
Copyright © 2011-2022 走看看