专业导论-课后总结-2019.12.07

走进软件

一、软件的定义

  • 软件是一系列按照特定顺序组织的计算机数据和指令的集合,通俗的来讲,软件=程序+数据+文档

二、软件的分类

  • 按照软件功能
    1.系统软件(操作系统和支撑软件)
    操作系统:DOC、Linux、Mac OS、UNIX、Windows
    支撑软件,主要包括环境数据库、各种接口软件和工作组
    2.应用软件

  • 按照软件规模

  • 按照工作方式
    1.实时处理软件
    主要包括数据采集、数据分析和数据输出三部分
    2.分时软件
    允许多个程序分时共享硬件和软件资源,或允许多个联机用户同时使用计算机的软件
    3.交互式软件
    实现人—机通讯
    4.批处理软件
    把一组输入作业或一批数据以成批处理的方式一次运行,并按照顺序逐个处理的软件

三、软件架构

  • 定义
    软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计,其实际就是一个系统的草图

  • 分层
    分层模式也称为多层体系架构模式。它可以用来构造可以分解为子任务组的程序,每个子任务都处于一个特定的抽象级别。每个层都为下一个提供更高层次服务。分层模式的关键点在于确定依赖:即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。区分层次的目的是为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。常见的分层模式结构有以下几种:表示层,业务逻辑层,持久层,应用层

四、操作系统

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

  • DOS

DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件。DOS不再局限于DOS操作系统,而是更广泛地应用到Windows中的命令提示符。需要区分Windows中的命令提示符并非DOS,只是基本兼容DOS应用程序,Windows下命令提示符可以执行32位程序命令,而DOS则是16位程序命令。同时批处理文件也成为辅助windows批量操作一种很好的小程序。

专业导论-课后总结-2019.12.07

  • DOS组成
    1.引导程序( BOOT ):由格式化程序直接写入磁盘初始扇区。
    2.基本输入/输出管理程序(PC-DOS为IBMBIO. COM、MS-DOS为IO.SYS)。
    3.文件管理和系统功能调用程序(PC-DOS为IBMDOS.COM、MS-DOS。为MSDOS.SYS)。
    4.命令处理程序(COMMAND. COM)。
    5.各种外部命令:完成各种辅助功能的可执行文件。
  • Windows操作系统

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

专业导论-课后总结-2019.12.07

  • Windows特点
    1、Windows操作系统的人机操作性优异。
    操作系统是人使用计算机硬件沟通的平台,没有良好的人机操作性,就难以吸引广大用户使用。手机领域,诺基亚手机能够占据手机市场半壁*,手机操作系统互动性良好是其成功的重要因素之一,而其迅速的衰败也是因为操作系统的落伍。Windows操作系统能够作为个人计算机的主流操作系统,其优异的人机操作性是重要因素。Windows操作系统界面友好,窗口制作优美,操作动作易学,多代系统之间有良好的传承,计算机资源管理效率较高,效果较好。
    2、Windows操作系统支持的应用软件较多。
    Windows操作系统作为优秀的操作系统,由开发操作系统的微软公司控制接口和设计,公开标准,因此,有大量商业公司在该操作系统上开发商业软件。Windows操作系统的大量应用软件为客户提供了方便。这些应用软件门类全,功能完善,用户体验性好。譬如,Windows操作系统有大量的多媒体应用软件,搜集管理多媒体资源,客户只需要使用这些基于系统开发出来商业软件就可以享受多媒体带来的快乐。
    3、Windows操作系统对硬件支持良好。
    硬件的良好适应性是Windows操作系统的有一个重要特点。Windows操作系统支持多种硬件平台对于硬件生产厂商宽泛、*的开发环境,激励了这些硬件公司选择与Windows操作系统相匹配,也激励了Windows操作系统不断完善和改进,同时,硬件技术的提升,也为操作系统功能拓展提供了支撑。另外,该操作系统支持多种硬件的热插拔,方便了用户的使用,也受到了广大用户的欢迎。

  • UNIX操作系统

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

专业导论-课后总结-2019.12.07

  • UNIX特点
    1.UNIX系统在结构上分为核心程序(kernel)和外围程序(shell)两部分,而且两者有机结合成为一个整体。核心部分承担系统内部的各个模块的功能,即处理机和进程管理、存储管理、设备管理和文件系统。核心程序的特点是精心设计、简洁精干,只需占用很小的空间而常驻内存,以保证系统的高效率运行。外围部分包括系统的用户界面、系统实用程序以及应用程序,用户通过外围程序使用计算机。
    2.UNIX系统提供了良好的用户界面,具有使用方便、功能齐全、清晰而灵活、易于扩充和修改等特点。UNIX系统的使用有两种形式:一种是操作命令,即shell语言,是用户可以通过终端与系统发生交互作用的界面;另一种是面向用户程序的界面,它不仅在汇编语言,而且在C语言中向用户提供服务。
    3.UNIX系统的文件系统是树形结构。它由基本文件系统和若千个可装卸的子文件系统组成,既能扩大文件存储空间,又有利于安全和保密。
    4.UNIX系统把文件、文件目录和设备统一处理。它把文件作为不分任何记录的字符流进行顺序或随机存取,并使得文件、文件目录和设备具有相同的语法语义和相同的保护机制,这样既简化了系统设计,又便于用户使用。
    5.UNIX系统包含有非常丰富的语言处理程序、实用程序和开发软件用的工具性软件,向用户提供了相当完备的软件开发环境。
    6.UNIX系统的绝大部分程序是用C语言编程的,只有约占5%的程序用汇编语盲编程。C语言是一种高级程序设计语言,它使得UNIX系统易于理解、修改和扩充,并且具有非常好的移植性。
    7.UNIX系统还提供了进程间的简单通信功能。

  • Linux操作系统

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

专业导论-课后总结-2019.12.07

  • 基本思想
    Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

  • 特性
    1.完全免费。Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
    2.完全兼容POSIX1.0标准。这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
    3.多用户、多任务。Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
    4.良好的界面。Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
    5.支持多种平台。Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

  • Mac OS操作系统

Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面操作系统。现行的最新的系统版本是macOS 10.15 beta 4 ,且网上也有在PC上运行的Mac系统(Hackintosh)。Mac系统是基于Unix内核的图形化操作系统;一般情况下在普通PC上无法安装的操作系统。由苹果自行开发。苹果机的操作系统已经到了OS 10,代号为Mac OS X(X为10的罗马数字写法),这是MAC电脑诞生15年来最大的变化。新系统非常可靠;它的许多特点和服务都体现了苹果的理念。

专业导论-课后总结-2019.12.07

  • 特点
    多平台兼容模式,为安全和服务做准备,占用更少的内存,多种开发工具。Mac OS X v10.7 Lion Mac App Store找到和下载Mac应用程序的最佳途径 如同在iPad上选购App Store中的应用程序一样,Mac App Store为浏览和购买应用程序提供无限可能。新购买的应用程序可一步完成安装,并立刻呈现于全新Launchpad 上。Mac App Store现可在任意一台运行OS X Snow Leopard的Mac上使用,并将作为Mac OS X Lion的一部分提供。

  • 智能手机操作系统简介

  • IOS

iOS 是由苹果公司开发的移动操作系统。苹果公司最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch 、iPad 以及 Apple TV 等产品上。iOS与苹果的 macOS 操作系统一样,属于类Unix的商业操作系统。原本这个系统名为 iPhone OS,因为 iPad,iPhone,iPod touch 都使用 iPhone OS,所以 2010 年 WWDC 大会上宣布改名为 iOS(iOS 为美国 Cisco 公司网络设备操作系统注册商标,苹果改名已获得 Cisco 公司授权)。

  • Android

安卓(Android)是一种基于Linux的*及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

五、软件的开发

软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。

  • 软件工程
  • 软件危机,指在计算机软件的开发维护过程中所遇到的一系列严重问题。
  • 学科定义,software engineering,SE研究如何以系统性的,规范性的,可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而被证明正确的管理技术和当前能够得到的最好的软件开发与维护方法结合起来的学科,即是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件学科。涉及,程序设计,数据库,软件开发工具,系统平台,标准及设计模式等方面。
  • 软件开发过程
  • 问题定义。通过对用户的访问调查,系统分析员要简要地写出关于问题性质、工程目标和工程规模的书面报告,这份报告经过讨论和必要的修改后要得到用户的确认。
  • 可行性分析。可行性研究的结果是用户u呕出是否继续进行这项工程的决定的重要依据,一般来说,只有投资可能取得较大的效益的那些工程项目才能继续进行下去。
  • 需求分析。在需求分析阶段所确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确、完整地体现用户的需求。
  • 总体设计。设计出几种可能的实现目标系统的方案。通常至少应该设计出低成本、中等成本和高成本三种方案。
  • 详细设计。详细设计也称为模块化设计,在这个阶段将详细的设计每个模块,确定实现模块所需的算法和数据结构。
  • 程序开发。这个过程的关键任务是写出正确且容易理解、容易维护的程序模块。
  • 软件测试。这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件大道预定要求。
  • 软件维护。这个阶段的关键任务是,通过各种必要的维护活动是系统持久地满足用户的需求。
  • 用户界面与用户体验

六、软件行业职业简介

  • 项目管理类
  • 项目经理
  • QA工程师(quality assurance)
  • 测试类
  • 软件测试工程师
  • 软件产品测试经理
  • 系统、安全及维护类
  • 网络工程师
  • IT基础设施工程师
  • 网络安全管理员
  • 安全开发工程师
  • 数据库管理员
  • 系统管理员
  • 销售类
  • 售前工程师
  • 售后技术工程师
  • 系统集成工程师