第1章
1 软件开发的几个主要阶段
1) 机器语言 - 用0和1写程序 2) 汇编语言 - 用助记符代替机器指令
3) 高级语言 - 过程化语言,出现于60年代初,突破了与机器指令一一对应的限制,更接近人类的表达方式;不依赖特定的硬件系统,把硬件之间的区别交给编译器处理
4) 第四代语言 - 非过程化语言,探索中,给机器下指令,由机器自动安排执行顺序
2 软件和硬件的关系
1) 硬件是躯体,软件是灵魂 2) 没有软件,硬件无法发挥作用 3) 软件是使用者与计算机之间的桥梁
3 软件开发工具的几个主要阶段:
1) 通用软件阶段 2) 专用的软件开发工具 3) 集成的软件开发工具
4 现代软件开发工具的新特点
1) 自动化程度的提高 2) 把需求分析和架构设计纳入软件工作范围之内
3) 将软件开发工作延伸到项目及版本管理 4) 吸收了管理科学的内容与方法,如质量控制等
5 软件开发阶段的划分
1) 需求分析 2) 总体设计 3) 编程阶段 4) 测试阶段 5) 使用及维护阶段
6 软件开发工具的基本功能
1) 认识与描述客观系统 2) 存储及管理开发过程中的信息 3) 代码的编写或生成
4) 文档的编制或生成 5) 软件项目的管理
7 软件开发工具的性能指标
1) 表达能力或描述能力 2) 保持信息一致性的能力 3) 使用的方便程度
4) 工具的可靠程序 5) 对硬件和软件环境的要求
8 软件开发工具的分类
1) 按工作阶段划分
(1) 计划工具 - 实现了“跨生命周期”的信息管理与共享,包括项目管理、版本管理等,主要为项目主管人员服务,出现与开发比较晚
(2) 分析工具 - 用于支持需求分析的工具,出现较晚,数量较少
(3) 设计工具 - 工作最具体,出现最早,数量最多
2) 按集成程序划分
(1) 专用工具 - 专用的、面对某一工作阶段或工作任务的工具
(2) 集成工具 - 集成化的、面向软件开发的全过程
3) 按与硬件、软件的关系划分
(1) 依赖特定的计算机和软件 - 主要是设计工具
(2) 不依赖特定的计算机和软件 - 主要是分析工具和计划工具
第2章
1 单个程序员提高软件开发质量的关键 - 软件开发中的两个转换
1) 用户对软件的理解与程序员对软件的理解之间的转换
2) 程序员的理解到程序实现之间的转换
2 大型软件开发中的困难
1) 保持一致性非常困难 2) 测试非常困难 3) 工作进度难于控制
4) 文档与代码协调困难 5) 版本更新造成的困难
3 困难产生的原因
1) 大系统的复杂性 2) 体之间的组织和协调 3) 应用领域之间的差别 4) 不断变化的需求
4 结构化程序设计的基本思想[主要是为程序员服务]
1) 限制GOTO语句 2) 子程序尽可能做到只有一个入口和一个出口
3) 程序风格尽量明确、清晰,包括增加注释、规范书写格式和变量名 4) 编写程序的同时完成文档
5 结构化程序设计中的模块划分原则
1) 在逻辑上尽可能单一化、明确化 2) 模块之间的联系及相互影响尽可能地少
3) 模块规模应当足够小,便于调试
6 软件工程
1) 基本思想:要想大幅度地、从根本上提高软件开发效率和质量,必须吸取传统产业中的成功经验,从组织和管理的角度加强力量,使软件生产从程序员的个人劳动提高成为有组织、可控制的工程。
2) 解决方案:(1) 对软件开发过程进行规范 (2) 标准化从两方面着手,一方面是表达方式的标准化,一方面是为工作质量及检查制订标准
7 面向对象软件开发的基本思想
1) 客观世界的任何事件都是对象 2) 对象之间有抽象与具体、体与个体、整体与部分等几种关系
3) 父类具有的性质,自然地成为子类的性质,不必加以说明,也就是所谓的“遗传性”
4) 对象之间可以互送消息
8 即插即用软件开发的基本思想
1) 以面向对象的方法为基础,借鉴硬件的制造思路,让一部分人生产软件组件(相当于芯片),另一部分人构造整个软件的结构(相当于计算机结构),通过插入软件组件迅速完成大型软件的研制工作。
2) 主要面临两个问题,一是标准化十分困难,二是底层的操作系统和硬件不同,导致软件提供方式无法统一
9 什么样的软件才是好软件
1) 正确实现所要求的功能,准确给出预定的输出结果 2) 用户界面友好,符合用户习惯与知识能力
3) 具有足够的速度 4) 具有足够的可靠性 5) 程序易读,结构良好,文档齐全
10 好的程序员应当具备的几个条件
1) 具有程序员所需的基本知识与技能 2) 对本项目的业务范围有深入了解 3) 对软件开发的技术环境比较熟悉
11 好的项目组应当具备的几个条件
1) 有严格的、成文的工作规范和文档标准
2) 人员之间有严格的分工,除程序员外,有秘书、测试人员、项目负责人
第3章
1 软件开发过程中需要哪些信息
1) 有关系统环境、现状及需求的信息 2) 有关软件的功能设计与物理设计的信息
3) 软件成果本身,包括程序与文档 4) 用户对系统的变更需求及系统的变更记录
2 概念模型及其作用
1) 框图 - 描述程序的执行逻辑,把程序的基本步骤归为处理、判断、输入输出、起始或终止几个基本功能
2) 结构图 - 表示大型软件的层次结构,把程序调用方式分为顺序、选择、循环三种
3) 数据流程图(简称DFD) - 描述系统的信息流程
4) 实体关系图(简称E-R图) - 描述静态数据模型
5) 数据字典(简称DD) - 用表格形式描述数据内容
6) 时序网络 - 描述系统状态及其转换方式
7) 数学与逻辑模型 - 描述比较单纯、比较基础的功能
3 用户界面设计的基本原则
1) 用户界面的主要功能是通信 2) 用户界面必须保持一致 3) 用户界面必须让用户随时掌握任务的进展状况
4) 用户界面必须能提供帮助 5) 宁可让程序多干,不可让用户多干
4 人机交互手段
1) 键盘操作 2) 鼠标操作 3) 屏幕滚动 4) 彩应用 5) 菜单选择 6) 数据录入 7) 帮助系统 8) 信息显示
5 项目管理的特点
1) 子任务多,关系复杂 2) 没有重复任务,形势不断变化 3) 组织协调困难 4) 信息处理工作的作用突出
6 项目管理的内容
1) 使产品质量得到有效控制 2) 保证系统按预定进度完成
3) 有效利用各种资源,减少闲置浪费 4) 控制与降低成本
7 版本管理的核心:1) 时间一致性: 以前的成果不能丢,需要时可以回溯 2) 系统一致性: 局部和整体保持一致
第4章
1 软件开发工具的主要组成部分
1) 总控和人机界面 2) 信息库及其管理 3) 向使用者提供的信息出口 4) 项目管理和版本管理
2 总控和人机界面的设计原则:1) 面向使用者 2) 保证信息的准确传递 3) 保证系统的开放性或灵活性
3 信息库及其管理
1) 信息库的内容eclipse开发手机app
(1) 软件的应用领域与环境状况 (2) 设计成果,包括逻辑设计与物理设计的成果
(3) 运行状况的记录 (4) 项目管理与版本管理信息
2) 信息库的组织方式:(1) 集中存储 (2) 分散存储 (3) 逻辑上统一,物理上分散
3) 信息库的管理功能:(1) 录入更新 (2) 使用查询 (3) 一致性维护
4) 历史信息的处理方式:
(1) 历史信息太大,占用存储设备过多,可以用脱机备份的方法解决
(2) 历史信息格式不一致,难于有效利用的问题,几乎无解,目前只能加强标准化
4 信息库与一般数据库的区别:1) 信息之间逻辑联系的识别与记录 2) 如何实现定量信息与文字信息的协调一致
5 文档与代码生成
1) 代码生成的类型与特点
1) 源代码 - 可以进一步修改,功能死板,效率不高
2) 机器指令 - 可以直接运行,无法修改,对硬件、软件依赖很大
2) 生成代码依据的资料 (1) 信息库已有的资料 (2) 各种标准模块的框架和构件 (3) 用户输入
3) 文档生成 - 主要有文章(最难实现)、表格、图形三类
第5章
1 如何权衡购置与自主开发工具软件
1) 开发工作的性质与要求 2) 开发人员的实际需要 3) 当前工作环境的实际情况 4) 开发人员的能力和背景
2 引入软件开发工具之后应当如何管理
1) 严格使用制度 2) 记录使用的详细过程 3) 培训使用人员 4) 经常进行审计和评价
3 对软件开发工具的使用情况进行审计时需要考虑哪些问题
1) 有没有出现错误与故障?2) 有没有出现数据丢失或错误的情况?
3) 有没有出现误操作引起的异常情况?4) 如果出现上述情况,采取哪些补救措施?效果如何?
4 自行研制软件开发工具要注意哪些问题
1) 从实际出发,设定现实的、有限的目标 2) 坚持短小实用、逐步积累,避免期望过高,贪大求全
3) 注意文档的齐全与资料的积累
第6章
1 软件开发工具的发展方向:1) 智能化 2) 网络化 3) 一体化 4) 标准化
2 软件开发工具的趋势
1) 多样性:现实世界的极端复杂性,应用领域的变幻莫测,必然导致语言和工具的多样性
2) 趋同性:在功能、系统结构、使用方式甚至用户界面上,呈现明显的趋同性
第7章 Eclipse开发环境简介
1搭建Eclipse开发环境
1) 基础环境:JDK(runtime) -> Eclipse CDT(编辑器) -> MinGW(编译器) -> GDB(调试)
2) 其它插件:PDE - 插件开发环境,EclipseUML - Eclipse建模插件
2 Eclipse体系结构: 运行时内核(runtime)、工作空间(workspace)、工作台(workbench)、其它插件
3 Eclipse特点: 大平台、小核心,多插件
4 Eclipse工作空间: 磁盘上的一个目录,用来存放用户的工作资料(配置信息,代码[以项目为单位组织文件和目录])
5 Eclipse工作台: Eclipse的用户界面,包括菜单栏、工具栏、透视图[视图+编辑器]
6 Eclipse的主菜单
File菜单 - 新建、打开、保存文件或项目;退出Eclipse等
Edit菜单 - 剪切、复制、粘贴等
Source菜单 - 只有在打开编辑器时才可用,用于源代码操作,比如格式化等

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。