一.软件的定义
1.软件是用户与硬件之间的接口。
2.软件=程序+数据+文档。
3.软件是计算机系统设计的重要依据。
二.软件的分类
1.按软件的功能分类
(1)系统软件
<1>操作系统:管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。
<2>支撑软件
(2)应用软件:为了满足某一领域,某类问题的应用需求而提供的软件。
2.按软件的规模分类
3.按软件的工作方式分类
(1)实时处理软件:在事件或数据产生时立即对它们进行处理,并及时反馈信号,以监测和控制软件的执行。
(2)分时软件:允许多个用户使用同一台计算机,允许多个程序分时共享硬件和软件资源或者允许多个联机用户同时使用计算机软件。
(3)交互式软件:能实现人机通信。
(4)批处理软件:把一组输入作业或一批数据以成批处理的方式一次运行,并按照顺序逐个处理的软件。
三.软件构架
1.定义:有关软件整体结构与组件的抽象模式,用于指导大型软件系统各个方面的设计。
2.分层:将功能进行有序分组。
系统的分层标准:<1>可见度
<2>易变性
<3>通用性
<4>层数
四.操作系统
1.定义:用以控制和管理计算机系统资源的软件
2.DOS(磁盘操作系统):通过在命令行方式下输入命令对计算机资源进行管理。
3.Windows操作系统
4.UNIX操作系统
5.Linux操作系统
6.Mac OS
五.软件的开发
1.软件工程:研究如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而被证明是正确的管理技术和当前能够得到的最好的软件开发与维护方法结合起来的学科。
2.软件开发过程
(1)问题定义-要解决的问题是什么
(2)可行性研究-对上一阶段所确定的问题是否有行得通的解决方法
(3)需求分析-为了解决这个问题,目标系统需要做什么
(4)总体设计-概括地说,应该如何实现目标系统
(5)详细设计-如何具体地实现这个系统
(6)程序开发
(7)软件测试
(8)软件维护
3.用户界面与用户体验
1.用户界面
设计的三大原则:置界面于用户的控制之下,减少用户的记忆负担,以保持界面的一致性。
设计流程:(1)确认目标用户
(2)采集目标用户的习惯交互方式
(3)指示和引导用户
一致性原则:(1)设计目标的一致性
(2)元素外观的一致性
(3)人机交互行为的一致性
可用性原则:(1)可理解
(2)可达到
2.用户体验:有用,易用和友好。
六.软件行业职业简介
1.项目管理类:项目经理,质量保证工程师
2.开发类:需求分析师,开发工程师,人机系统开发工程师,系统分析师,系统构架师
3.测试类:测试工程师,产品测试经理
4.系统类:网络工程师,基础设施工程师
5.安全类:网络安全管理员,网络安全开发工程师
6.维护类:数据库管理员,系统管理员
7.销售类:售前工程师,售后技术工程师,系统集成工程师