软件开发技术基础复习要点

软件开发技术基础复习要点

1.生存周期:

指一个软件从提出开发要求开始,经过需求分析、设计、制造、调试、使用、维护,直到软件产品被淘汰为止的整个过程。

2.简述软件工程的基本原理:

  1. 用分阶段的生命周期计划严格管理;
  2. 坚持进行阶段评审;
  3. 实行严格的产品控制;
  4. 采纳现代程序设计技术;
  5. 结果应该能清楚地审查;
  6. 开发小组应小而精;
  7. 承认不断改进软件工程实践的必要性。

3.简述产生软件危机的原因和解决办法:

原因:开发软件所需的高成本与软件产品的低质量之间存在尖锐的矛盾,致使软件开发陷入循环之中,即研制软件系统需要投入大量的人力、财力和物力,但系统的质量却无法保证。

办法:a.充分吸收和借鉴人类长期以来从事工程项目中积累的行之有效的原理、概念和方法;

b.推广在实践中总结出来的开发软件的成功的技术与方法,并研究更有效的技术与方法;

c.根据不同的应用灵域,开发、使用更好地软件工具。

4.简述B/S模式: (浏览器/服务器、Browser/Server系统)

a.B/S系统是种B/W/D三层结构系统;

b.第一层客户端是用户与整个系统的接口,客户的应用程序就是一个通用的浏览器;

c.第二层是Web服务器,启动相应的进程来响应处理请求,并动态生成一串嵌入了处理结果的HTML代码,返回给客户端的浏览器;

d.第三层是数据库服务器,负责协调不同的Web服务器发出的应用请求。

  1. 简要说明循环队列的实现:

    1. 入队操作:若队列不满,则在队尾插入元素x作为新的队尾;
    2. 出队操作:若队列不空,则删除队头元素并用e取回该元素的值;
    3. 取队头元素:若队列不空,则用e取回对头元素的值。
  2. 满二叉树:当二叉树每个分支节点的度都是2,且所有叶子节点都在同一层上,则称为满二叉树。
  3. 简述图有哪些遍历方法?其具体过程怎样实现?

    方法:深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。

    过程:

    a.
    深度优先遍历:

基本思想:首先从图中某个顶点v0出发,访问此顶点,然后依次从v0相邻的顶点出发深度优先遍历,直至图中所有与v0路径相通的顶点都被访问了;若此时尚有顶点未被访问,则从中选一个顶点作为起始点,重复上述过程,直到所有的顶点都被访问。可以看出深度优先遍历是一个递归的过程。

下图中的一个无向图

其深度优先遍历得到的序列为:  0->1->3->7->4->2->5->6

b. 广度优先遍历:

首先,从图的某个顶点v0出发,访问了v0之后,依次访问与v0相邻的未被访问的顶点,然后分别从这些顶点出发,广度优先遍历,直至所有的顶点都被访问完。

如下图中

其广度优先遍历得到的序列为:  0->1->2->3->4->5->6->7

  1. 简述普里姆算法的原理和过程:

    基本思想:普里姆算法是一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的;

    过程:从连通网络N = { V, E }中的某一顶点u0出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把该边加入到生成树的边集TE中,把它的顶点加入到集合U中。如此重复执行,直到网络中的所有顶点都加入到生成树顶点集合U中为止。

解释链接:http://www.cnblogs.com/wuchanming/p/4147419.html

1.简述操作系统的五大功能:

1、CPU与进程管理:对CPU的时间进行合理分配;
2、存储管理:主要进行内存的分配和管理
3、设备管理:根据一定的设备分配原则对设备进行分配,使设备与主机能够并行工作,为用户提供良好的设备使用界面;

4、文件管理:有效的管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供有效的方法与手段;
5、人机接口:或称用户接口,是指提供给用户操作计算机的界面,一般由命令接口和程序接口两种类型。

2.实时操作系统: RTOS

是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。

3.简述段式存储管理技术:

将程序的地址空间划分为若干段,为每个段分配一个连续的分区,每个进程都拥有一个二维的地址空间(段号和段内地址),进程中的各段可离散存放在内存不同的分区中。

4.什么是进程?有哪些状态?如何进行转换?

a.一个进程就是程序的一次执行,是操作系统进行资源调度和分配的独立单位;

b.状态有三种:就绪、运行、等待;

c.转换:

5.
进程和线程的主要区别是什么:

a.进程是程序的一次执行,线程可以理解为进程中的执行的一段程序片段。

b.进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 
    c.一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。
    d.同一进程中的两段代码不能够同时执行,除非引入线程。 
e.线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。 
    f.线程占用的资源要少于进程所占用的资源。 
    g.进程和线程都可以有优先级。

1.简述数据、数据库、数据库管理系统之间的区别及相互联系:

a.数据(Data):是数据库中存储的基本对象;

描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。

b.数据库(DataBase,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

c.数据库系统(DataBase Sytem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

  1. 数据库管理系统(DataBase Management Sytem,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义,数据组织、存储、管理,数据操纵,数据库的事务管理和运行管理,数据库的建立和维护功能。
  2. 所以,数据是数据库中的一部分,而数据库是数据库管理系统的主要对象。

2.外模式:

也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:

一个数据库可以有多个外模式;

外模式就是用户视图;

外模式是保证数据安全性的一个有力措施。

3.参照完整性规则:

要求通过定义的外关键字和主关键字之间的的引用规则来约束两个关系之间的联系。

实体完整性规则:

关系中的元组的关键字不能为空且取值唯一。

4.多媒体技术:

指利用计算机通过图形、视频、文本和音频的交互混合,以数字化的方式集成在一起,从而使计算机具有表现、处理、存储多媒体信息的综合和交互能力。

5.TCP/IP协议:Transmission Control Protocol/Internet Protocol

又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

  1. TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。
  2. IP是给因特网的每一台联网设备规定一个地址。
时间: 2024-10-13 18:40:20

软件开发技术基础复习要点的相关文章

微信公众号开发技术基础(二):外网映射工具ngrok的简介和使用

本文结构:(一)用法(二)示例(三)qydev ngrok的下载链接及相关网站 微信公众号开发的时候,微信服务器是需要访问我们的一个公网服务器地址的,但我们又是在本地调试自己的程序的,那怎样让微信服务器能访问到我们本地的服务器呢?那就需要用外网映射工具,将本地IP映射成公网IP,这样就能在公网上访问本地服务了,这里使用ngrok.ngrok原版程序的服务器是在国外的,访问速度极慢或者干脆访问不了,所以这里提供一个服务器搭建在国内的基于ngrok的一个软件:qydev,百度网盘下载链接见文章结尾.

#WPF的3D开发技术基础梳理

原文:#WPF的3D开发技术基础梳理 自学WPF已经有半年有余了,一遍用,一边学.但是一直没有去触摸WPF的3D开发相关技术,因为总觉得在内心是一座大山,觉得自己没有能力去逾越.最近因为一个项目的相关原因,需要用的3D技术,虽然内心没有底只能硬着头皮上了.最后效果还不错. 开发完之后,对WPF的开发小有所感,于是打算写下来,把相关知识梳理下.给正在学习WPF技术伙伴们一点帮助. 能力平平,知识有限,如有错误,还望雅正. 作为微软推广的一门软件开发技术,肯定会遵循一个基本准则:怎么方便怎么来,怎么

学习软件开发技术需要注意什么?

现在网络时代已经脱不开计算机,在智能化的时代掌握软件开发技术是必不可少的,因为这个行业是比较有发展前途,选择岗位空间大,缺失很多这样的人才. 随着互联网的急速发展趋势,传统的行业结构开始不断推进,选择的行业将有许多缺失的软件开发岗位,学习更多的更深层次的软件开发技术是随着时代不断推进的选择. 那么在学习软件开发技术上有什么注意的呢?中安云城为大家分析一下: 1.掌握软件开发技术的知识,以及各方面的实用性,掌握了最基础的知识外,将软件开发的门槛不断提升,这样对自己的成长帮助才会比较有效果,一个软件

C#语言和数据库技术基础复习

整理了下C#语言和数据库技术基础,作为复习资料 第一章 一.c#和JAVA对比:1.c#用命名空间(namespace)java用包(package) 2.引入命名空间或包的关键字C#用using,JAVA用import 3.程序入口:C#的Main()有四种形式static void Main(string[] args) static int Main(string[] args) static void Main() static int Main() JAVA的MAIN()有一种形式 4

2018年四川理工学院软件工程考试大纲(面向对象的软件开发技术概述)

2018年四川理工学院软件工程考试大纲(面向对象的软件开发技术概述)   1.面向对象软件开发,需要建立哪三种模型 ①.对象模型(用于描述系统的数据结构,定义了系统"对谁做") ②.动态模型(定义了系统"何时做") ③.功能模型(定义了系统"做什么") 2.面向对象软件开发 对象是指生活中的具体事物,面向对象软件开发是指根据生活中具体的事物为基本单位所进行的软件开发 3.面向对象软件开发的过程 面向对象分析(OOA).面向对象设计(OOD).面向

进行软件开发的基础知识

        软件开发:需要做什么? 如何做? 用什么去完成?        一.过程:控制和管理软件开发活动 软件过程用来控制和管理软件团队的开发活动和进度,对于个人来说,也需要使用一定的过程方法来规范化自己的开发流程. 一个值得尝试的方案是:迭代+瀑布模型+测试驱动开发. 这种方案首先将系统分成多个迭代故事,然后,针对每个迭代故事使用瀑布模型并融入测试驱动开发理念. 具体做法: S1:将系统开发分解为多个故事的迭代,每个故事中包含若干个模块. S2:针对每个故事中的模块,使用 “需求分析-

JavaWeb开发技术基础概念回顾篇

第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第一次请求某个JSP文件时,容器首先检查JSP文件的语法是否正确,然后将JSP文件转换成Servlet原文件,并调用Java工具类将Servlet原文件编译成字节码文件.接下来,容器加载转换后的Servlet类,实例化一个该类的对象处理客户端的请求,请求处理完成后,容器将HTML格式的相应信息发送给客户端,执行过程如图所示: 3.JSP的

软件开发流程(基础)

软件开发流程 跨行招工作的渣渣!暴风哭泣.... 小米(智能硬件部)一面,二面都让我详细说一下软件开发流程 定义 软件开发流程: wiki:软件开发过程(software development process)是软件开发的生命周期(software development life cycle),各个阶段实现了软件的需求定义分析.设计.实现.测试.交付和维护.软件开发过程是在开发和构建系统时应遵循的步骤,是软件开发的路线图 常见的过程模型: 敏捷开发-瀑布模型 requirements->de

HTML5游戏开发技术基础整理

随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施方案.本文系根据[HML5 Canvas游戏开发实战]一书中的内容整理而成,是了解和学习HTML5游戏开发的基础内容,希望能够帮助到那些和博主一样致力于游戏开发的朋友们! JavaScript中的面向对象编程 对于游戏开发来说,面向对象编程(OOP)是一种重要而且必要的方法,所以在了解HTML5游戏