程序设计基础与软件工程基础

程序设计基础

程序设计方法与风格

  1. 设计方法:指设计、编制、调试程序的方法和过程。
  2. 主要有 结构化程序设计方法、软件工程设计方法和面向对象设计方法。
  3. 设计风格:注重源程序文档化、数据说明方法、语句的结构和输入输出。

结构化程序设计

  • 结构化程序设计原则:自顶向下、逐步求精、模块化、限制使用GOTO语句。
  • 结构化程序的基本结构与特点
    1. 顺序结构:严格按照语句中的顺序执行,是最基本最普遍的形式。
    2. 选择结构(分支结构):包括简单选择和多分枝选择
    3. 重复结构(循环结构):根据某一条件,判断是否需要重复执行某一相同的或类似的程序段。
  • 设计时应避免的事项

    1. 使用有限的控制结构表示程序的控制逻辑。
    2. 选用的控制结构只准许有一个入口和一个出口。
    3. 程序语言组成容易识别的块,每块只有一个入口和一个出口。
    4. 复杂的结构应用嵌套控制结构进行组合嵌套实现。
    5. 语言中的没有的控制结构。应保持前后一致。
    6. 尽量避免使用GOTO语句。
  • 面向对象的程序设计

    优点:与人类思维方式一致、稳定性好、可重用性好、易于开发大型软件产品、可维护性好。

软件工程基础

软件工程的基本概念

  • 软件可分为应用软件、系统软件和支撑软件三类。
  • 软件的生命周期是指软件从提出、实现、使用维护到停止使用的过程。
  • 软件的生命周期分为八个阶段
    • 软件定义期 3
      • 问题定义
      • 可行性研究
      • 需求分析
    • 软件开发期 4
      • 概要设计
      • 详细设计
      • 实现
      • 测试
    • 运行维护期(软件的运维) 1
      • 运行维护阶段
  • 软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

结构化分析方法

其任务可概括为:需求获取、需求分析、编写需求规格说明书和需求评审。

  • 常用的分析方法:结构化分析方法,面向对象分析方法。
  • 数据流图 DFD图(Data Flow Diagram)以图形的方式反映数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
    • 箭头:数据流
    • 圆或椭圆:加工
    • 双杠:存储数据
    • 方框:源和潭(数据与环境的接口)

DFD图例

  • 需求阶段的重要成果:即软件需求规格说明书,也是软件开发的重要文档之一。

结构化设计方法

  • 基本原理:抽象、模块化、信息隐藏、模块独立性。
  • 概要设计:
    • 四个任务:设计软件系统结构、结构数据及数据库设计、编写概要设计文档、概要设计文档评审。
    • 面对数据流的设计方法:DFD图的信息分为交换流事物流,结构形式有交换性事务型
  • 详细设计的工具:
    • 图形工具:程序流程图、N-S、PAD、HIPO。
    • 表格工具:判定表。
    • 语言工具:PDL(伪码)。

软件测试

  • 目的:为了发现错误而执行程序的过程。
  • 准则:
    • 所有测试应追溯到客户需求
    • 严格执行测试计划,排出测试的随意性
    • 充分注意测试中的集群现象
    • 程序员应避免检查自己的程序
    • 穷举测试不可能
    • 妥善保存设计计划、测试用例、出错统计和最终分析报告
  • 软件测试技术和方法:按照是否需要执行被测软件的角度,可分为静态测试动态测试,按功能分为白盒测试黑盒测试
  • 软件测试过程分4个步骤:单元测试、集成测试、验收测试(确认测试)、系统测试。

程序的调试

  • 任务:诊断和改正程序中的错误。
  • 测试方法:强行拍错法、回溯法、原因排除法。

< !–more–>