zoukankan      html  css  js  c++  java
  • 《构建之法》第一章学习笔记

    本篇文章内容整理自《构建之法》 邹欣 著

    专业术语整理

    软件 = 程序 + 软件工程

    • 源程序:就是一行行的代码。它们是建立在数据结构上的一些算法。
    • 需求分析:把合适的需求梳理出来,然后逐步开展后续工作。
    • 程序理解:团队的新成员要尽快读懂已有的代码。
    • 软件维护:团队中的新老成员对在运行中软件,进行打补丁,更新维护。
    • 国际化和本地化:软件要处理不同语言、不同地区的用户对用户界面和功能的不同需求

    软件开发的不同阶段

    • 玩具阶段:技术含量不高,但也有很多窍门。
    • 业余爱好阶段:实现了一个简陋的模型,可以完成简单任务。
    • 探索阶段:不断尝试新的设计,基本成型。
    • 成熟的产业阶段:已经成型,考虑因素全面,安全性高

    什么是软件工程

    软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上过程。
    软件工程的领域:

    1. 软件需求分析
    2. 软件设计
    3. 软件构建
    4. 软件测试

    软件的特殊性

    • 复杂性:人类创造的最复杂的系统类型。
    • 不可见性:软件工程师能直接看见源代码,但是源代码不是软件本身。
    • 易变性:软件看上去很容易修改,但是正确的修改是一件很困难的事。
    • 服从性:他要服从系统中其他组件部分的要求,服从用户的要求、行业系统的要求等。
    • 非连续性:很小的变化,引起很大的变化。

    软件工程与计算机科学的关系

    计算机科学和软件工程的不同侧重点:

    计算机科学软件工程
    发现和研究长期的、客观的真理 短期的实际效果(具体的软件会过时)
    理想化的 对各种因素的折衷
    确定性、完美、通用性 对不确定性和风险的管理,足够好,具体的应用
    各个学科独立深入研究,做出成果 关注和应用各个相关学科的知识,解决问题
    理论的统一 百花齐放的实践方法
    强调原创性 最好的、成熟的实践方法
    形式化,追求简明的公式 在实践中建立起来的灵感和直觉
    正确性 可靠性

    软件工程的知识领域

    • 生命周期:软件需求、软件设计、软件构建、软件测试、软件维护
    • 专门领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量。
    • 理论基础:计算基础、数学基础、工程基础

    创造“足够好”的软件

    • 用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率。
    • 可靠性: 软件经常崩溃。。
    • 软件流程的质量:软件团队和开发流程的问题太多,导致团队无法相互协作,按时交付软件。

    练习讨论

    p18-2

    1. 如何把需求分析写清楚,写明白?
    2. 如何去准确的区分必要需求和辅助需求?
    3. 如何根据自己的团队选择一个开发模式?
    4. 如何提高用户的体验?
    5. 如何进行软件测试,才能最大的保证软件的安全?

    p18-3

    手机应用软件,经朋友推荐,在应用商店下载,用了很长时间感觉不错,每次都是通过推送更新来修复bug。通过优惠活动来取得竞争的优势。

  • 相关阅读:
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    多例模式
    深入分析 Java 中的中文编码问题
    PipedInputStream和PipedOutputStream详解
    单例模式
    Java IO和NIO文章目录
    wsdlLocation可以写成项目的相对路劲吗
    ssh框架配置事务管理器
  • 原文地址:https://www.cnblogs.com/CrazyIdeas/p/11489746.html
Copyright © 2011-2022 走看看