随笔分类 - 读书笔记
摘要:软件演化特性 1.软件维护是一个必然的过程 2.软件的不断修改会导致软件的退化 3.软件系统的演化特性是在早期的开发阶段建立起来的 4.软件开发的效率与投入的资源无关 5.在软件系统中添加新的功能不可避免地会产生新的缺陷。 软件维护的概念: 1.改正性维护 2.适应性维护 3.完善性维护 软件维护的
阅读全文
摘要:验证与确认: 软件测试基础: 软件测试的目标在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。 (1) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 (2) 程序员应避免检查自己的程序。 (3) 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 (4) 测试用例
阅读全文
摘要:程序设计语言: 软件编码规范: (1) 适当的空行 (2) 代码行及行内空格 (3) 分行、对齐与缩进 (4) 命名规则 (5) 声明 (6) 注释 软件编码案例分析: 软件代码审查:
阅读全文
摘要:设计的概念: (1) 模块化 (2) 耦合度和内聚性 (3) 复用性 软件体系结构: 系统设计: 详细设计: 应用设计模式: 用户界面设计: (1) 用户控制式 (2) 一致性 (3) 个性化 (4) 宽容性 (5) 反馈 (6) 审美和可用性 设计文档:参考IEEE标准
阅读全文
摘要:分析类: 分析活动: 需求分析的重点在于理解系统本身,它将需求获取阶段产生的用例和场景转换成分析模型。 识别分析类: 定义交互行为:顺序图 建立分析类图: 评审分析模型
阅读全文
摘要:面向对象方法概述:面向对象=对象+类+继承+通信 面向对象技术的发展历史: 面向对象的软件工程方法: 面向对象基本概念: 软件建模的重要性: UML概念模型: 常见的UML图:
阅读全文
摘要:形式化方法的基本概念: 一阶线性时态逻辑: 计算树逻辑 模型检测 Z语言概述: Z语言为系统建立基于状态的模型。模型的三个主要组成部分是输入、输出和状态,它们均有相应的数学概念来描述。 Z语言表示: Petri网定义: 任何事物都可抽象为两类元素:状态和事件。在某种状态下,相应的事件便可发生。然后状
阅读全文
摘要:软件需求: 需求工程过程: (1) 正确性 (2) 无二义性 (3) 完整性 (4) 可验证性 (5) 一致性 (6) 可修改性 (7) 可跟踪性 (1) 需求变更控制 (2) 需求文档的版本控制 (3) 需求跟踪 (4) 需求管理工具 需求获取技术 案例:
阅读全文
摘要:软件项目的特征: 软件项目管理的“4P”: 人员(People) 产品(Product) 过程(Process) 项目(Project) 软件项目管理活动: 软件项目组织: 软件团队的建设: 团队建设基本原则: 软件项目的实践表明,项目团队成员的数量应该保持在3~7人之间。 项目沟通方式: 项目沟通
阅读全文
摘要:软件开发的任务思维模式:用户需求—>过程—>产品 软件过程的定义: 软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动。 软件过程的基本活动: 软件过程制品:软件过程制品涉及软件需求、软件设计、软件实现、软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活
阅读全文
摘要:软件在现代生产生活中发挥越来越重要的作用。软件工程是为了解决开发成本效益和软件质量的问题而产生的。 什么是软件:软件是计算机程序、规划以及运行计算机系统可能需要的相关文档和数据。 从软件的内容来看,软件更像是一种嵌入式的数字化知识,其形成是一个通过交互对话和抽象理解而不断演化的过程。 根据软件服务对
阅读全文
摘要:《人月神话》是一本不可多得的软件工程方面的经典著作。作者是被誉为IBM 360之父的Frederick P. Brooks,他在此项目中担任项目经理。他也因此获得美国国家技术奖和计算机领域的“诺贝尔奖”-图灵奖。 我觉得本书语言风趣幽默又不失严肃严谨。尤其是在The Mythical Man-Mon
阅读全文