1.加密技术
对称加密算法:
DES 3DES/TDEA RC-5(用于大量明文加密) IDEA AES
非对称加密算法:
RSA
2.软件过程
软件过程模型的基本概念:软件过程是制作软件产品的一组活动以及结果,这些活动主要由软件人员来完成,软件活动主要有 软件描述、软件开发、软件有效性验证和软件进化。
3.软件过程模型/软件开发模型
1.瀑布模型
特点:因果关系紧密相连,前一个阶段工作的结果是后一个阶段工作的输入。提供全程产品监控
因此每一个阶段工作完成后,都要进行审查和确认
2.增量模型(瀑布模型的一个变体)
特点:第一个增量往往是核心的产品,强调每一个增量发布一个可操作的产品,融合了瀑布模型的基本成分和原型实现的迭代特征
原型模型和螺旋模型属于演化模型
3.原型模型
特点:适合用户需求不清楚、需求经常变化(开发时 首先确定用户需求,开发初始原型)
4.螺旋模型(结合了瀑布模型合演化模型)
特点:强调风险分析,适合庞大、复杂并且具有高风险的系统
5.喷泉模型
特点:是一种以用户需求为动力,以对象作为驱动的模型
6.基于构件的开发模型
特点:采用预先打包的软件构件开发应用系统
7.形式化方法模型
特点:建立在严格数学基础上的一种软件开发方法
8.统一过程(up)模型
特点:统一过程模型是一种 用例和风险驱动,以架构为中心,迭代并且增量 的开发过程,由UML方法和工具支持。
统一过程4个技术阶段:
1.初始阶段:生命周期目标
2.精化阶段:生命周期架构
3.构建阶段:初始运作功能
4.移交阶段:产品发布
统一过程模型的典型代表是 RUP 。
9.敏捷方法
(1)xp极限编程:高效、低风险、测试先行(先写测试代码,再编写程序)
(2)Cockburn 水晶方法:不同项目,不同策略
(3)SCRUM并列争求法:迭代。30天为一个迭代周期,按照需求优先级实现
(4)FDD功用驱动方法:开发人员分类。分为指挥者(首席程序员)、类程序员
(5)开放式源码:虚拟团队,开放成员分班各地
(6)ASD自适应方法:预测-协作-学习
(7)敏捷统一过程(AUP):在大型上连续,在小型上迭代。采用经典的UP阶段性活动
4.系统测试
信息系统测试包括 软件测试、硬件测试和网络测试。
软件测试分为4步进行,即单元测试、集成测试、确认测试和系统测试。
系统测试:功能测试、性能测试、安全性测试、兼容性测试、用户界面测试和可安装性测试。
集成测试:
集成测试的依据是概要设计规格说明,因此在概要设计完成后即开始制定集成测试计划。
集成测试需要设计所需的驱动模块和桩模块
驱动模块用来模拟被测试模块的上一级模块
桩模块用来模拟被测试模块工作过程中所调用的模块
常用的集成测试方法包括自顶向下、自底向上、Big-Bang
5.数据库的设计过程
(1)需求分析:分析用户的需求,包括数据、功能和性能需求
(2)概念结构设计:主要采用E-R模型进行设计,包括画E-R图
(3)逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换
(4)数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径
(5)数据库的实施:包括编程、测试和试运行
(6)数据库运行与维护:系统的运行与数据库的日常维护
6.软件生存周期
1.可行性分析与项目开发
2.需求分析:需求分析阶段的输出:数据流图、实体联系图、数据字典和软件需求说明书
3.概要设计:划分模块、模块的层次、模块之间的调用关系以及各模块的功能,模块结构图
4.详细设计:各个功能模块具体怎么实现、采用何种数据结构和核心算法
5.编码
6.测试
7.维护