软件工程导复习分析(简化版,不够详细,有干货)_软件系统中的模块间的耦合必须最小化,-程序员宅基地

技术标签: 考试  软件  软件工程  

一.瀑布模型
1.步骤
(1)需求分析
(2)系统设计
(3)软件编程
(4)软件测试
(5)软件维护
2.相关信息
提出者:温斯顿.罗伊斯
二.增量模型
1.简要理解
我们使用的产品,的0.1 ,1.0,2.0…… n.m版本,先将主干搭建好,再在市场或其他地方获取反馈,这时就可以,将枝叶补充
2.优点:人员分配灵活,刚开始不用投入大量的人力资源,有计划的管理技术风险
3.缺点:如果增量包之间的相交的情况未能很好的处理,则必须做全盘分析。
三,四,螺旋模型
不作要求,时间不足,在后续的更新中再做补充

五。软件项目管理
四大限制条件:时间,质量,成本,规模。
九大知识体系:时间,质量,成本,规模,人力资源,沟通交流,风险,采购,整合

<script type="math/tex; mode=display" id="MathJax-Element-1"></script>
<script type="math/tex; mode=display" id="MathJax-Element-2"></script>
当然,最后的资源干货
) KEY WORDS and STATEMENTS
algorithm(算法)
data processor(数据处理器)
Arithmetic Logic Unit(算术逻辑单元)
Integratedcircuit(集成电路)
digital divide(数字化分裂)
von Neumann model(冯·诺依曼模型)
1、 阿兰·图灵在 1937 年首次提出了一个通用计算机设备的设想。他设想所有的计
算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。
、 基于冯·诺依曼模型建造的计算机分为四个子系统:存储器、算术逻辑单元、控
制单元和输入/输出单元。冯·诺依曼模型指出程序必须存储在存储器中。
、 计算机由三大部分组成:计算机硬件、数据和计算机软件。
、 计算和计算机的历史可以分为三个阶段:机械计算机器阶段(1930 年以前)、电
子计算机阶段(1930~1950),以及包括 5 个现代计算机时代的阶段。
、 计算机科学引发了一些周遭的问题。其中最为普遍的可以归类为社会问题和道德
问题。
2
3
4
5
execute(执行)
address space(地址空间)
FireWire(火线)
bus(总线)
cache memory(高速缓冲存储器)
instruction register(指令寄存器)
central processing unit,CPU(中央处理单元)
interrupt driven I/O(中断控制输入/输出)

intersector gap(扇区内间隔)
isolated I/O(I/O 独立寻址)
decode(译码)
intertrackgap(磁道内间隔)
land(纹间表面)
memory-mapped I/O(I/O 存储器映射寻址)
optical storage device(光存储设备) register(寄存器)
parallel processing(并行处理)
sector(扇区)
pipelining(流水线)
seek time(寻道时间)
pit(坑)
polycarbonate resin(聚碳酸酯树脂)
transfer time(传送时间)
throughput(吞吐量)
Universal Serial Bus,USB(通用串行总线)
write once,read many,WORM(写一次,读多次)
read-only memory,ROM(只读存储器)
random access memory,RAM(随机存取存储器)
digital versatile disk,DVD(数字多功能光盘)
direct memory access,DMA(直接存储器存取)
compact disk rewritable,CD-RW(可重写光盘)
reduced instruction set computer,RISC(精简指令集计算机)
complex instruction set computer,CISC(复杂指令集计算机)
1
2
、 计算机的组成分成三大类(或子系统):CPU、主存和输入/输出子系统。
、 中央处理单元(CPU)执行数据上的操作,他有三部分:算术逻辑单元(ALU),
控制单元和一系列寄存器。算术逻辑单元(ALU)负责算术、移位和逻辑运算。
寄存器是快速独立的存储设备,它可以暂时地保留数据。控制单元控制 CPU 中的
每个部分的操作。
3
、 有两种方法输入/输出设备的寻址:I/O 独立寻址和 I/O 存储器映射寻址。在 I/O
独立寻址的方法中,用来从内存读/写的指令完全不同于用来从输入/输出设备的
读/写指令。在 I/O 存储器映射寻址方法中,CPU 把 I/O 控制器中的每个寄存器看
成是内存中的字。
4
、 线代计算机使用流水线技术来提高吞吐量。这个理念允许控制单元同时执行两个
或三个阶段,这意味着下一条指令的处理可以在前一条结束之前开始。
frame(帧)
hub(集线器)
backbone(骨干)
best-effort service(尽力而为服务)
Hypertext Preprocessor(超文本预处理器)
Internet Protocol,IP(因特网协议)
domain name(域名)
dotted-decimal notation(点分十进制记法)
encapsulation(封装)
bus topology(总线拓扑结构)
congestion control(拥塞控制)
demultiplexing(解多路复用)
Java applet(Java 小程序)
Listserv(一个分组讨论应用)
Mesh topology(网状拓扑结构)
multiplexing(多路复用)
ring topology(环型拓扑)
port number(端口号)
TCP/IP Protocol suite(TCP/IP 协议族) terminal Network(终端网络)
trailer(报文尾) World Wide Web,WWW(万维网)
Uniform Resource Locator,URL(统一资源定位符)
User DatagramProtocol,UDP(用户数据报协议)
Simple Mail Transfer Protocol,SMTP(简单邮件传输协议)
Multipurpose Internet Mail Extension protocol(多用途因特网邮件扩充协议)
Post Office Protocol,POP(邮局协议)

Stream Control Transmission Protocol,SCTP(流控制传输协议)
Medium Access Control Address,MACA(介质访问控制地址)
Extensive Markup Language,XML(可扩展标记语言)
Java Server Pages,JSP(Java 服务器页面)
Internet Mail Access Protocol,IMAP(因特网邮件访问协议)
client-server architecture(客户/服务器体系结构)
Common GatewayInterface,CGI(通用网关接口)
Hyper Text Transfer Protocol(超文本传输协议)
Hyper Text Markup Language,HTML(超文本标记语言)
Active Server Pages,ASP(活动服务器页面)
1
、 最著名的互联网是因特网,它是数以万计互相连接的网络的集合。大多数需要因
特网连接的终端用户使用因特网服务提供商(ISP)的服务。如今控制因特网的协
议集合(族)被称为 TCP/IP 协议族。此族由五层组成。
2
、 应用层使用户能访问网络。它提供了像电子邮件、远程文件存取、浏览万维网这
样的服务。应用层的地址是特定于应用程序的。
3
、 传输层负责整个消息的进程到进程的分发。这意味着处于传输层的客户端和服务
器间创建了一种逻辑连接。在 TCP/IP 协议族的发展历程中,有三种传输层协议:
UDP、TCP、SCTP。
4
、 网络层负责数据包从源到目的地的发送,其中可能经过多个网络。网络层保证每
个数据包从源点到它的终点。在 TCP/IP 协议族中,网络层的主要协议时因特网协
议(IP)。
5
、 数据链路层从一个节点到另一个节点发送数据包。数据链路层还负责“跳”之间
的差错控制和流量控制。它使用物理或 MAC 地址来标识结点。
、 物理层完成在物理介质上传输二进制流所需要的功能。虽然数据链路层负责从一
个结点到另一个结点传输数据帧,但物理层负责传送单个的二进制位,这使得数
据帧能到达下一个结点。
6
7
、 电子邮件(E-mail)是最流行的因特网应用,电子邮件使用的主要协议是简单邮
件传输协议(STMP)。电子邮件使用的其他协议时 POP 和 IMAP。
、 文件传输协议(FTP)是因特网上最常见任务的标准机制,它从一台计算机及到
另一台计算机进行文件的拷贝。FTP 与其他客户/服务器应用的不同之处在于,它
建立了两个连接:一个用作数据传输,另一个用作控制命令的交换。
8
binary digit(二进制数码)
hexadecimal digit(十六进制数码)
place value(位置量)
decimal digit(十进制数码)
octal digit(八进制数码)
radix(基数)
positional number system(位置化数字系统)
1
、 数字系统(或数码系统)是用独特的符号来表示数字的系统。
、 在位置化数字系统中,数字钟中的符号所占据的位置决定了其表示的值。每个
位置有一个位置量与其相关联。
2
3
、 非位置化数字系统是用有限的数字符号,每个符号有一个值。但是符号所占用
的位置通常与其值无关,每个符号的值是固定的。(如罗马数字)
arithmetic shift operation(算术移位运算)
circular shift operation(循环移位运算)
logic shift operation(逻辑移位运算)
rotate operation(旋转运算)
Boolean algebra(布尔代数)
set(置位)
unset(复位)
mask(掩码)

1
、 数据运算分成三大类:逻辑运算、移位运算和算术运算。逻辑运算是指那些应
用于位模式单独位或两模式中相应的两位上的相同基本运算。移位运算移到模
式中的位。算术运算涉及加、减、乘、除。
2
、 移位运算移动模式中的位:它们改变位的位置。移位运算可以分成两类:逻辑
移位和算术移位。逻辑移位应用于不表示为符号数的模式;算术移位假定为模
式是二进制补码格式的符号整数。
sequence(顺序)
pseudocode(伪代码)
recursion(递归)
sort pass(分类扫描)
subalgorithm(子算法)
repetition(重复)
Unified Modeling Language,UML(同一建模语言)
1
、 计算机科学中最常见的一种应用就是排序,它是数据根据其值的大小进行排序
的过程。选择排序、冒泡排序和插入排序。这三种排序算法是如今计算机科学
中快速排序的基础。
2
、 计算机科学中另一种常见的算法是查找。它是在一组对象中找到目标位置的过
程。列表有两种基本查找方法:顺序查找和折半查找。顺序查找可疑在任意列
表中定位数据项;而折半查找需要列表时排序的。
object-oriented analysis(面向对象分析)
operability(可操作性)
procedure-oriented analysis(面向过程分析) class diagram(类图)
Software life cycle(软件生命周期)
data flow diagram(数据流图)
coupling(耦合)
cohesion(内聚)
1
、 软件生命周期是软件工程中的基本概念,像许多产品一样,软件业经历了一个
重复阶段的周期。
2
3
、 在软件生命周期中,开发过程包括四个阶段:分析、设计、实现和测试。
、 整个开发过程始于分析阶段,这个阶段产生了规格说明文档,这个文档说明了
软件要做什么,而没有说明如何去做。分析阶段可以使用两种方法:面向过程
分析和面向对象分析。
4
、 设计阶段定义了系统如何完成在分析阶段所定义的。在面向过程设计中,整个
工程被分解成一组过程或模块。在面向对象设计中,设计阶段通过详细列出类
中的细节而继续。
5
、 模块化是将大程序分解成能理解和容易处理的小程序。当系统被分解成模块时,
有两个问题很重要:耦合和内聚。耦合式对两个模块互相绑定紧密程度的度量。
在软件系统中的模块间的耦合必须最小化。内聚是程序中处理过程相关紧密程
度的度量。在软件系统中的模块间的内聚必须最大化。
、 在实现阶段,程序员为面向过程设计中的模块便携代码,或便携程序单元实现
面向对象设计的类。
6
7
、 软件质量非常重要。软件质量能够划分成三个广义的度量:可操作性、可维护
性和可迁移性。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/RALPHFJY/article/details/54022517

智能推荐

sync___fast_iob-程序员宅基地

文章浏览阅读4.6k次。1. linux下sync命令在busybox-1.14.3中sync命令相关代码非常简单,int sync_main(int argc, char **argv UNUSED_PARAM){ /* coreutils-6.9 compat */ bb_warn_ignoring_args(argc - 1);___fast_iob

python pandas常用函数_python:pandas常用功能函数操作-程序员宅基地

文章浏览阅读306次。一、安装pandas创建虚拟环境:#创建虚拟环境mkvirtualenv -p python3 pandas_env#进入虚拟环境workon pandas_env安装pandas# 1、安装包$ pip install pandas测试# 2、进入python的交互式界面$ python -i# 3、使用Pandas>>> import pandas as pd>>..._print(df)

基于UDS的CAN通信故障诊断_汽车故障诊断是利用ecu监测控制系统各组成部分的工作情况,发现故障后自动启动故障-程序员宅基地

文章浏览阅读9.6k次,点赞16次,收藏89次。摘要:阐述一种诊断控制单元之间通信丢失故障的机制,通过基于UDS的诊断协议进行原理分析,并制定一种有效的诊断处理策略。 汽车故障诊断是利用ECU监测控制系统各组成部分的工作情况,发现故障后自动启动故障记录和处理逻辑。汽车故障诊断模块不仅能够存储记忆汽车故障,还能够实时提供汽车各种运行参数川。外部诊断设备通过一定的诊断通信规则与ECU建立诊断通信,并读取这些故障和参数,同时解析出来供外部测..._汽车故障诊断是利用ecu监测控制系统各组成部分的工作情况,发现故障后自动启动故障

JavaEE(三):JSP_jsp用gbk servlet 用什么编码-程序员宅基地

文章浏览阅读387次。一、JSP简介 JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。JSP其实是一种特殊的Servlet,当jsp页面第一次被访问时,服务器会把jsp编译成java文件。二、JSP页面组成静态内容HTML静态文本指令以“&lt;%@”开始,以"%&gt;"结束。比如:&lt;%@include file="Fil..._jsp用gbk servlet 用什么编码

arcgis渔网分割提取栅格图_[GIS]网格化分析图绘制-程序员宅基地

文章浏览阅读2.5w次,点赞46次,收藏228次。网格化的目的是让各个数据更加标准化的进行统计。因各个网格位置受控,也有利于大量数据的对比与叠加计算。本文将示意如何完成一张标准的网格化分析图。一、会用到的软件ARCGIS二、创建格网2.1 制作流程确认边界 --> 创建渔网 --> 裁剪渔网2.2 确认边界这里以义乌市举例,添加义乌市市区SHP边界数据。全工程坐标系皆为WGS84。2.3 创建渔网 fishnet运行创建渔网..._分割栅格arcgis 输出基本名称

新建数据库_新建数据库怎么操作-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏25次。注意看红色箭头,共有13个步骤,按顺序操作下去1、打开SQL Server2014的软件,然后点击连接服务器2、右键点击数据库3、数据库名称自定义4、最后点击确认注意:数据库名称不能为空5.刷新数据库6.然后就可以看到自己命名的的数据库了7.然后打开所需的数据表 8.注意一定要选择自己刚新建的表,不然会报错9.然后点击执行10.最后出现这些文字就代表执行成功注意刚把表引进来的时候会出现卡顿现象,只要随意点击一下就可以恢复了11.如果重..._新建数据库怎么操作

随便推点

java用while循环设计轮询线程的性能问题-程序员宅基地

文章浏览阅读644次。java用while循环设计轮询线程的性能问题 java用while循环设计轮询线程的性能问题 轮询线程在开发过程中的应用是比较广泛的,在这我模拟一个场景,有一个队列和轮询线程,主线程往队列中入队消息,轮询线程循环从队列中读取消息并打印消息内容。有点类似Android中Handler发送消息。首先定义一个Message类。public cla..._java 轮训查询 不影响主线程降低子线程

ROS: Cannot mix incompatible Qt library (version 0x50905) with this library (version 0x50c01)-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏3次。错误开始尝试使用rosrun turtlesim turtlesim_node运行ROS的入门样例时,出现这样的错误:Cannot mix incompatible Qt library (version 0x50905) with this library (version 0x50c01) Aborted (core dumped)根据提示可以判断是QT的版本不兼容导致的错误,百度知道查看当前QT版本:$ qmake -vQMake version 2.01aUsing Qt version _cannot mix incompatible qt library (version 0x50905) with this library (vers

Objective-C程序设计 第6版_objectc程序设计百度云-程序员宅基地

文章浏览阅读1.4k次。Objective-C程序设计 第6版,原版,完整版本,下载后大家给点帮助,谢谢! 百度网盘地址: http://pan.baidu.com/s/1numGurZ 密码: b47e_objectc程序设计百度云

ajax上传和下载文件,jq axios和原生ajax实现文件上传和下载,ajax下载二进制文件流_原生ajax文件下载-程序员宅基地

文章浏览阅读2.1k次。遇到了一个上传文件和下载文件的业务,利用ajax实现,上传单文件整体上传,不进行分片上传相对简单,这里也暂不讨论大文件分片上传的情况,后面可能会写这个。下载文件如果后端返回链接可以直接赋值给a的href点击或者window.location.href下载,但是后端如果返回的是文件流则需要进行处理再下载。这里都会用到FormData构造方法,先了解一下FormData:FormData接口..._原生ajax文件下载

微信公共号开发教程java版——请求消息,响应消息及事件消息类的封装(三)_封装微信公众号平台发送消息代码-程序员宅基地

文章浏览阅读721次。一:封装请求信息当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。 各消息类型的推送XML数据包结构如下: 查看官网详细介绍文本消息 xml> ToUserName>ToUserName> FromUserName>FromUserName> CreateTime>1348831860CreateTime> MsgType_封装微信公众号平台发送消息代码

Varnish的配置语言vcl及其内置变量介绍-程序员宅基地

文章浏览阅读153次。一、Varnish的配置语言VCLVarnish的所有配置都是通过VCL(varnish configure language)来配置的。它是一种基于“域”(domain specific)的简单编程语言,它支持有限的算术运算和逻辑运算操作、允许使用正则表达式进行字符串匹配、允许用户使用set自定义变量、支持if判断语句,也有内置的函数和变量等。使用VCL编写的缓存策略通常保...

推荐文章

热门文章

相关标签