软件需求笔记
1. 基本的软件需求1.1 软件需求
要解决的问题是:
什么是软件需求?
为什么要实现软件需求?
哪些人应参与软件需求
需求分析模型:
软件需求活动
需求诱导 → 需求分析 → 需求传递 → 需求确认 → 需求演化
IEEE软件工程标准词汇表中定义软件需求为:(1)用户为解决某个问题或达到目标而需具备的条件或能力。(2)系统或系统部件为满足合同、标准、规范或其它正式文档而必须满足的条件或能力。(3)上述(1)或(2)中定义的条件或能力的文档表达。
需求分析:
分析软件用户的需求,细致的进行、调查,把用户“做什么”的要求,最终转换为一个完全的、精细的软件逻辑模型。
并写出软件的需求规格说明。
准确地表达用户的要求。
需求的层次
业务需求:表示组织或客户高层次的目标。描述了组织为什么要开发一个系统,即目标。可以用前景和范围文档表述。
用户需求:描述的是用户的目标,或用户要求系统必须能完成的任务,即用户能使用系统来做些什么。可以用用例、场景描述和时间-响应表表述。
功能需求:规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求,即开发人员需要实现什么。 ...
多媒体技术笔记
1. 引论媒体的分类
感觉媒体: 能直接作用于人的感官,使人直接产生感觉的一类媒体(作用于人)。如人类的语言、音乐、自然界的各种声音、图形、图像。
表示媒体: 计算机对信息的表示方法的描述。是为了加工、处理和传输感觉媒体而人为研究、构造出来的一种媒体**(作用于计算机)**。具体体现为:编码
表现媒体: 感觉媒体和用于通信的电信号之间转换用的一类媒体,分为输入表现媒体和输出表现媒体。如打印机、音箱、MIDI键盘,扫描仪、键盘、鼠标。除此之外,还有耳麦、轨迹球、绘图仪等(用于人与计算机交互)
存储媒体: 用于计算机存放表示媒体,以便计算机随时处理、加工和调用信息编码。常用的有光盘、硬盘、磁带、活动硬盘、优盘等
传输媒体: 用于传输表示媒体,将表示媒体从一处传送到另一处的物理载体。如双绞线、同轴电缆、光纤等
多媒体
多媒体是指信息表示媒体的多样化,包括文本、图形、图像、声音、音乐、动画、视频等,即多媒体主要研究表示媒体。
性质:
多媒体是多种信息载体的表现形式、存储和传输方式的有机集合
多媒体系统具有多样性、集成性、实时性和交互性
多媒体系统的体系结构
多媒体应用系统 / 多媒体应 ...
机器学习笔记
0. 机器学习概述机器学习基本任务:
回归:
能解决分类、预测问题。
eg. 年龄估计、表情分析
分类:
分类、识别、检测
聚类:
分割(图像、视频)、背景建模
数据挖掘、数据恢复
字典学习(视觉信息,文本)
表征:
特征提取(便于前三个任务解决)
数据重构
信息检索
方法分类(根据学习形式)
有监督学习
数据都有明确的标签,根据机器学习产生的模型可以将新数据分到一个明确的类或得到一个预测值。
eg. 支持向量机、贝叶斯分类器、决策树、线性判别分析…….
无监督学习
数据没有标签,机器学习出的模型是从数据中提取出来的模式(提取决定性特征或者聚类等)
eg. K均值、Meanshift、主成分分析、典型相关分析
半监督学习
部分数据有明确的标签,根据机器学习产生的模型可以将新数据分到一个明确的类或得到一个预测值。
eg. 图直推学习、超图直推学习……
数据划分
训练集:用来训练模型或确定模型参数。
测试集:测试已经训练好的模型的推广能力。
验证集(可选):用来做模型选择,即做模型的最终优化及确定的。
误差与精度
误差:学习器的实际预测输出与 样本的真实输出之间的差异。
错误率:被错 ...
计算机图形学笔记及练习
1. 计算机图形学概述1.1 研究内容
图形含有几何属性,或者说更强调场景的集合表示,是由场景的几何模型和警务的物理属性共同组成。(矢量/参数)
图像是指计算机内以位图形式存在的灰度信息。(位图)
计算机图形学:利用计算机研究一系列原理、方法与技术的学科。
图形的表示和生成:如何对数据建模,并将数据转换为图像?
图形的处理和显示:如何在专门的显示设备上显示图形?
一个完整的图形处理过程包括:
图形的输入
图形的处理
图形的输出
1.2 计算机图形学的发展历史
50年代,CTR的出现为计算机生成和显示图形提供了可能。
50年代末期,MIT的林肯实验室在“旋风”计算机上开发SAGE空中防御体系,通过光笔在屏幕上指点与系统交互,标志着交互式图形技术的诞生。
60年代
MIT林肯实验室的I. E. Sutherland发表了一片题为“Sketchpad:一个人机交互通信的图形系统”的博士论文,确定了交互图形学作为一个学科分支。
法国雷诺汽车公司的工程师Pierre Bezier提出 Bezier曲线、曲面的理论,而称为计算机辅助几何设计(CAGD)的先驱。
MIT的教书 Steven A. ...
UML
1. 面向对象技术概述1.1 软件危机及软件工程
软件危机,软件工程的提出
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
软件工程的目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统。
高质量不只是指错误率低,还包括好用、易用、可移植、易维护等。
1.2 对软件开发的基本认识
软件是一个逻辑部件,而不是一个物理部件,所以软件具有与硬件不同的特点:
表现形式不同
生产方式不同
产品要求不同
维护方式不同
1.3 软件的固有复杂性
著名的计算机专家、被称之为IBM 360系列计算机之父的F. Brooks认为软件的复杂性是固有的,软件可能是人类所能制造出来的最复杂的实体。
软件固有复杂性使得开发成员之间的通讯变得困难,开发费用超支、开发时间延期等;也导致产品有缺陷、不易理解、不可靠、难以使用、功能难以扩充等。
软件的复杂性是固有的,即不能采用某种方法彻底消除软件的复杂性,因此软件危机只能是通过控制复杂性的方法解 ...
密码学笔记
1. 概述1.1 计算机安全概念网络和Internet安全领域涉及阻止、防止、检测和纠正信息传输中出现的安全违规欣慰的措施。
1.2 OSI安全框架
OSI安全框架主要关注:
安全攻击:任何危机信息系统安全的行为。
安全机制:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程。
安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。
安全在信息系统的范围很广
信息安全
网络安全
计算机安全
数据库安全
软件安全
1.3 安全攻击四种类型
阻断:使系统被破坏或者无法使用。对可用性的攻击。
破环硬件
切断通信线路
禁用文件系统
DOS/DDOS (拒绝服务)
窃听:未经授权的一方访问信息。对保密性的攻击。
窃听以捕获网络中的数据
非法复制文件/程序
修改:未经授权的一方不仅可以访问还可以修改信息。对完整性的攻击。
更改文件中的数据
改变一个程序
修改消息的内容
伪装:未经授权的一方将假冒的对象插入到系统中。对真实性的攻击。
在网络中插入虚假信息
将记录添加到文件中
改变程序
两种类型
主动攻击:对数据流进行修改或者伪造数据流。难以绝对地预防但容易检测。
伪装 ...
Web开发笔记
1. Web开发技术概述1.1 Web技术基础知识Web
全称World Wide Web,缩写WWW,译为“万维网”,简称为Web
是一个可通过互联网来访问的、由许多互相链接的超文本组成的系统
Web不等于Internet,它只是Internet中的一个部分,而且和浏览器有关。Web是Internet中的一个子集或者说Web是互联网提供信息的一种手段。
Web服务器
又称WWW服务器、网站服务器、站点服务器或HTTP服务器
为用户提供信息浏览和信息处理服务。将信息用超文本(Hypertext)组织,为用户在Internet上搜索和浏览信息提供服务。
Web服务器实际上就是一个软件系统。但它必须安装在一台高性能和高可靠性的计算机上,所以人们通常将那台计算机就叫做Web服务器。
常用的Web服务器有: ▪ Microsoft IIS ▪ IBM WebSphere ▪ Oracle WebLogic ▪ Apache 开源 ▪ Tomcat 开源 ▪ Jboss 开源 ▪ 金蝶公司 Apusic
一台计算机可以安装多个Web服务器。
Web页面
W ...
Mac OS X下连接校园网VPN [L2TP方式]
以重庆大学校园网VPN为例,操作系统OS X 10.11.6。
首先查看重庆大学校园网VPN说明:
重庆大学VPN支持标准的PPTP和L2TP两种方式。用户在网络连接的设置中,新增虚拟专网VPN连接。VPN的地址请填写域名vpn.cqu.edu.cn,系统会自动解析相应地址。
打开系统偏好设置 - > 网络 - > 右下角+号新建VPN服务
接口:VPN
VPN类型:IPSec上的L2TP
服务名称:CQU VPN
新建VPN完成后,服务器地址填写为vpn.cqu.edu.cn,账户名称为学号。
现在点击链接,输入密码(默认为身份证后六位)会提示,IPSec 共享密钥丢失。需要在终端进行进一步设置:
在/etc/ppp/下创建options文件:sudo vim /etc/ppp/options
在options文件中输入(键入A - > INSERT)并保存(ESC - > wq)
12plugin L2TP.pppl2tpnoipsec
回到VPN设置,选择高级- > 选项 - > 通过VPN连接发送所有流量
再次点击连接 ...
操作系统笔记11 文件系统
文件系统接口(用户角度)文件概念
**文件**是逻辑外存单元的最小分配单元。
类型
数据:数字字符,二进制…
程序
文件结构
无: 一个字节序列
简单的记录结构:①行 ②固定长度 ③可变长度
复杂结构:①格式化文档 ②对象文件 ③可执行文件
谁决定文件结构?
操作系统:可执行文件和共享库文件的结构
程序
文件属性:所有文件的信息都保存在目录结构中。
名称:文件符号名称是唯一的、按照人们易读取的形式保存。
标识符:标示文件系统内文件的唯一标签,通常为人不可读。
类型:被支持不同类型的文件系统所使用。
位置:该信息指向设备和设备上文件位置的指针。
大小:文件当前大小,也可包括文件允许的最大容量值。
保护:决定谁能读、写、执行等的访问控制信息。
时间,日期和用户标识:文件创建、上次修改和赏赐访问的相关信息。这些数据用于保护、安全和使用跟踪。
文件操作
创建,打开,关闭,读,写,在文件内重定位(搜索目录相应条目),删除,截短(删除内容保留属性,长度设置为0并释放)。
打开文件:当一个文件被打开时,除了存储在设备上的信息之外,还会执行几条数据来管理打开的文件①文件指针:指向上次读取/写入 ...
操作系统笔记10 虚拟内存
背景
自从有了计算机以来,我们就希望能够方便、高效地使用(今天仍然)十分有限的内存:
用户总是可以认为自己计算机的内存大到足够运行任何程序。
程序员可以认为自己的程序将运行在巨大、连续的内存中。不需要用overlay或swap等技术来自己管理内存。
进程在运行过程中不能访问(包括读写)其他进程的数据,更不能访问属于操作系统的数据。而且某一个进程引起的问题不会波及到操作系统或其他进程。
由于内存有限,应该尽可能地共享一些公用的代码和数据。
前面介绍的各种技术解决了上述问题的某一些方面,但没有提出一个整体的解决方案。
虚拟内存技术基于已有的各种技术给出了一个完整的解决方案, 是20世纪计算机技术最重要的发明之一。
虚拟内存
**虚拟内存**:将用户逻辑内存与物理内存的分离。
为每个进程提供一个巨大的,连续的和私有的逻辑内存,可能比物理内存大得多。只有部分程序需要在内存中执行。
允许地址空间被多个进程共享,更有效的进程创建。
虚拟内存可通过以下方式实现:
按需调页
按需分段
按需调页
**按需调页:仅在需要时才调入相应的页,即懒惰交换**。
需要更少的 I/O 。
需要更 ...