计算机专业导论-周总结4-软件

计算机专业导论-周总结4-软件

软件简介 #

软件是用户与硬件之间的接口

软件是计算机系统中与硬件互相依存的一个部分(非硬件成分)——传统意义,它包括程序、数据及其相关文档的完整集合。

软件(中国大陆及香港用语,台湾称作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。

软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。

简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。

程序 #

程序是一组计算机能识别和执行的指令

数据 #

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材

文档 #

文档是软件开发使用和维护中的必备资料

软件的分类 #

DifferentSoftware

按大小分 #

  • 微型
  • 小型
  • 中型
  • 大型
  • 巨型

按工作方式分 #

  • 实时处理软件
    数据或者事件进入或者发生后马上进行处理
  • 分时软件
    安装时间来进行运行
  • 交互式软件
    人机通信的软件
  • 批处理软件
    把一组输入作业或者一批数据以成批的方式一次运行,按住顺序逐个处理完的软件

软件架构 #

软件架构四层结构:系统软件、中间件、业务专用、应用程序子系统

软件架构分层 #

目前软件系统的开发越来越庞大复杂,要满足设计目标越来越困难,而应用分而治之的管理是一种行之有效的分法

操作系统 #

System

DOS #

dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。从1981年直到1995年的15年间,磁盘操作系统在IBM PC 兼容机市场中占有举足轻重的地位。而且,若是把部分以DOS为基础的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算进去的话,那么其商业寿命至少可以算到2000年。微软的所有后续版本中,磁盘操作系统仍然被保留着。

Windows #

MicrosoftWindows操作系统是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也当前应用最广泛的操作系统。

NNIX #

Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。

Linux #

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

我个人就租了一台腾讯云的服务器,系统为基于Linux的CentOS,用来作为自己的博客搭建平台,感觉性能很不错,最近学生优惠也很便宜  

软件开发过程 #

Software

背景-软件危机 #

软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

用户界面与用户体验 #

  • 一致性原则
  • 可用性原则 乔布斯的对用户体验的设计非常棒

软件行业职业简介 #

项目管理类 #

  1. 项目经理: 是项目的总负责人,指导小组在预算内按时按量完成任务

  2. 质量保证(QA)工程师 负责保证工程的质量

开发类 #

  1. 软件需求分析师

  2. 软件开发工程师 用编程语言和开发技术进行软件开发

  3. 系统分析师 是抽象模型的建立者

  4. 系统架构师 最终确认和评估系统需求,给出开发规范,搭建系统实现的核心架构,明确技术细节,解决主要难点。

测试类 #

  1. 测试工程师

  2. 软件产品测试经理

系统、安全及维护类 #

  1. 网络工程师:对计算机网络系统进行设计、建设、运行及维护

  2. IT基础设施工程师:负责IT设施的规划、设计、实施、管理、沟通、组织

  3. 网络安全管理员

  4. 安全开发工程师

  5. 数据库管理员

  6. 系统管理员:网络系统管理员和信息系统管理员

销售类 #

  1. 售前工程师:开发人员与销售人员的桥梁

  2. 售后技术工程师:满足用户的售后需求,解决用户的问题

  3. 系统集成工程师:用户买下软件后,分析用户的业务需求,完成产品的实施。 包括硬件集成,系统初始化,系统配置,高可用性软件安装,应用软件安装,与产品规划人员沟通,掌握产品需求及变更。

程序设计语言 #

程序设计语言三要素 #

目前有200多种语言,可以分为三类 #

  • 高级语言 C++,C,Java,Python 整个程序更为简便,具有较强的操作性,而这种编码方式的简化,使得计算机编程对于相关工作人员的专业水平要求不断放宽。
  • 汇编语言 该语言主要是以缩写英文作为标符进行编写的,运用汇编语言进行编写的一般都是较为简练的小程序,其在执行方面较为便利,但汇编语言在程序方面较为冗长,所以具有较高的出错率。
  • 机器语言 010010101001 这种语言主要是利用二进制编码进行指令的发送,能够被计算机快速地识别,其灵活性相对较高,且执行速度较为可观,机器语言与汇编语言之间的相似性较高,但由于具有局限性,所以在使用上存在一定的约束性。

编程思想 #

  • 面向过程
  • 面向对象 面向对象时代(90年代初-至今)——面向对象程序设计(Object-Oriented Programming,简称OOP)如今在整个程序设计中十分重要,其最突出的特点为封装性、继承性和多态性。

编程范型 #

1、命令式语言;2、函数式语言;3、逻辑式语言;4、面向对象语言

Reference #

  1. 编程语言_百度百科
  2. 软件_百度百科
  3. 微软开发文档
  4. Github.com
  5. 计算机网络基础知识总结|菜鸟教程
  6. 计算机语言排行tiobe.com