zoukankan      html  css  js  c++  java
  • 《构建之法现代软件工程》速读笔记

    一、软件开发的时间安排

    开篇文章说“软件 = 程序 + 软件工程”,自己也写过C/C+的一些小程序,最多也就是考虑一下数据结构的知识,时间多半花在具体的编程中,此书给了两种不同类型的开发者,“大神在需求分析和测试所用时间比较长,具体编程时间相对于“菜鸟”来说时间较短,对比图如下 。

    二、初级软件工程师的成长包括以下几种:

    (1)积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对JAVA、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序、内核调试器的掌握,对于某一开发平台的掌握(2)积累问题领域的知识和经验(例如对医疗或金融行业的了解)(3)对通用的软件设计思想和软件工程思想的理解(4)提升职业技能(区别于技术技能),包括:自我管理的能力、表达交流的能力、与人合作的能力、按质按量完成任务的执行力(5)实际成果——最重要的评价标准。

    三、代码风格规范

    缩进:4个空格,而不是TAB

    行宽:限定为100字符

    分行:不要把多条语句放在一行上

    注释是为了解释程序做什么( What) , 为什么这样做( Why) , 以及要特别注意的地方

    四、软件需求步骤

    1 . 获取和引 导需求  2. 分析和定义需求 3. 验证需求

    4. 在软件产品的生命周期中管理需求

    五、图形建模和分析方法

    思维导图、实体关系图、Use Case Diagram

    六、用户体验的要素

    用户的第一印象

    从用户的角度考虑问题

    软件服务始终都要记住用户的选择(长期的使用只会使软件更好用)

    短期刺激 长期影响

    不让用户犯简单的错误

    注重用户体验和质量

    情感设计

    七、软件测试设计

    黑箱:指的是设计测试的过程中,把软件系统当做一个“黑箱”,无法了解或使用系统的内部结构及知识。一个更准确的说法是行为测试设计,即从软件的行为,而不是从内部结构出发来设计测试

    白箱子:指的是在设计测试的过程中,设计者可以“看到”软件系统的内部结构,并使用软件的内部结构及知识来选择测试数据及具体的测试方法。

    八、软件工程师的职业道德

    原则1 公众
    软件工程师的行为应与公众利益一致。
    原则2 客户与雇主
    软件工程师应以其客户和雇主利益最大化的方式做事, 与公众利益保持一致。
    原则3 产品
    软件工程师应当确保自 己的产品以及相关的修改满足最高的专业标准。

  • 相关阅读:
    Leetcode 15 3Sum
    Leetcode 383 Ransom Note
    用i个点组成高度为不超过j的二叉树的数量。
    配对问题 小于10 1.3.5
    字符矩阵的旋转 镜面对称 1.2.2
    字符串统计 连续的某个字符的数量 1.1.4
    USACO twofive 没理解
    1002 All Roads Lead to Rome
    USACO 5.5.1 求矩形并的周长
    USACO 5.5.2 字符串的最小表示法
  • 原文地址:https://www.cnblogs.com/tqlzpg/p/11743766.html
Copyright © 2011-2022 走看看