走进软件
3.1 软件的定义
定义: 软件就是用户和计算机进行交互的媒介, 是用户和计算机硬件之间的桥梁, 用户通过软件调用计算机硬件资源.
3.2 软件的分类
3.2.1 按功能分类
1. 系统软件: 操作系统, 支撑软件
2. 应用软件: 满足某一需求的软件, 如办公软件等
3.2.2 按规模分类
3.2.3 按工作方式分类
1. 实时处理软件: 要求在短时间内对用户提交的信息做出反应
2. 分时软件: 允许多个用户使用同一计算机, 允许多个程序分时共享硬件和软件资源, 或者允许多个联机用户同时使用计算机的软件
3. 交互式软件: 能实现人机通信
4. 批处理软件: 将一批数据一次运行
分层:
1. 应用程序子系统: 应用程序专用的服务
2. 业务专用: 应用程序中使用的业务专业构件
3. 中间件: 各个构件, 比如 GUI 构建器, 接口等
4. 系统软件: 操作系统, 数据库, 与特定硬件的接口等构件
3.4 操作系统
3.1.4 什么是操作系统
软件是用户和计算机硬件的中间人, 而操作系统是软件和计算机硬件的中间人. 操作系统是用以控制和管理计算机系统资源的软件.
3.4.2 DOS
磁盘操作系统 (DOS) 是 PC 上使用的一种操作系统, 通过在命令行方式下输入命令对计算机资源进行管理
3.4.3 Windows 操作系统
基于图形化界面, 更加简洁直观, 方便人们操作, 易学易用
3.4.4 UNIX 系统
提高了系统的功能, 压缩了系统的规模. 由内核, shell, 文件系统, 公用程序组成.
提供可编程的命令语言(shell), 用户可使用其与计算机进行交互并方便地进行程序设计
提供了许多程序包, 比如文本编辑程序
文件系统简洁
可移植性强, 代码绝大部分 C 语言编写
网络通信功能强, 有一系列地网络通信工具和协议
3.4.5 Linux 操作系统
特点: 开源, 模块化程度高, 广泛的硬件支持, 安全性及可靠性好, 完整的网络集成
3.4.6 Mac OS
苹果系统, 以简单易用, 稳定可靠著称, 是一个封闭的生态.
3.4.7 智能手机操作系统
iOS,Android 等
3.5 软件的开发
3.5.1 软件工程
软件工程是研究如何以系统性的, 规范化的, 可定量的过程化方法去开发和维护软件. 以及如何把经过时间考验而被证明是正确的管理技术和当前能够得到的最好的软件开发和维护方法结合起来的学科. 即是一门研究用工程化方法构建和维护有效的, 实用的, 高质量的软件的学科.
3.5.2 软件开发过程
1. 问题定义 - 要解决的问题是什么
2. 可行性分析 - 对上一个阶段所确定的问题是否有行得通的解决方法
3. 需求分析 - 为了解决这个问题, 目标系统需要做什么
4. 总体设计 - 概括得说, 应该如何实现目标系统
5. 详细设计 - 如何具体实现这系统
6. 程序开发 - 码代码
7. 软件测试 - debug
8. 软件维护
3.5.3 用户界面与用户体验
1. 用户界面
三大原则: 置界面余用户得控制之下, 减少用户的记忆负担, 保持界面的一致性.
2. 用户体验
用户体验比商业利益更重要. 可参考 iPhone, 微软的产品设计.
3.6 软件职业简介
1. 项目管理类: 项目经理, 质量保证 (QA) 工程师
2. 开发类: 需求分析师, 开发工程师, 人机系统开发工程师, 系统分析师, 系统架构师
3. 测试类: 测试工程师, 产品测试师
4. 系统类: 网络工程师, 基础设施工程师
5. 安全类: 网络安全管理员, 安全开发工程师
6. 维护类: 数据库管理员, 系统管理员
7. 销售类: 售前工程师, 售后工程师, 系统集成师
走进软件
来源: http://www.bubuko.com/infodetail-3322911.html