信息系统
1.1、信息与信息系统的概念
信息:信息既不是物质也不是能量,是区别于物质和能量的第三种东西,是对事物的运动状态或放在方式的不确定性描述
信息系统:是由硬件、软件、信息、网络、通信设备、信息用户和规章制度组成的,以处理信息流为目的的人机一体化系统
信息系统建设主要内容:设备采购,系统集成,软件开发,运维服务等
1.2、信息系统的生命周期
立项、开发、运维、消亡
开发阶段:整体规划、系统分析、系统设计、系统实施、系统验收
1.3、信息系统开发方法
结构化方法、原型化方法、面向对象方法
1.3.1、结构化方法
要求:
1、用户至上、
2、严格区分工作阶段,每个阶段都有相应的结果
3、系统开发强调过程的完整性和全局性
4、系统开发注重工程化和文档资料的标准化
5、自顶向下、逐步分解、逐步求精
适用:成熟、稳定需求明确的项目 (实施过程中不能修改需求)
1.3.2、原型化方法
分类:1、抛弃型原型、2、进化型原型
适用:需求不明确的开发
1.3.3、面向对象方法
特点:有更好的复用性、分析、设计、实现三个阶段界限不明确
关键:建立全面、合理、统一的原型
2、软件工程
2.1、软件开发模型
关键知识点
1、 软件需求:待解决问题的特性描述,所定义的需求必须可以被验证
2、 通过需求分析可以检测和解决需求之间的冲突;发现系统边界;并详细描述出系统需求
3、 软件测试为了评价和改进产品质量、识别产品的缺陷和问题纪念性的活动,
瀑布模型(结构化开发的方法)、V模型(测试贯穿开发全过程)、原型化模型、迭代模型、螺旋模型(结构化+方法适合风险大、复杂的项目)、构件组装模型(面向对象方法下的模型、防瀑布模型)、统一过程(面向对象方法下的模型,防螺旋模型)、喷泉模型(面向对象下的模型,防迭代模型)、敏捷方法、逆向工程。
c/s模式 维护难、局域网、安全性差、实时在线效果好
b/s模式 维护容易、可扩展性强、安全性强、实时在线效果差
2.2、软件测试
2.2.1、原则
- 尽早、不断的测试
- 程序员避免测试自己的程序
- 既要选择合理、有效的数据,也要选择不合理、无效的数据
- 修改后应进行回归测试
- 尚未发现的错误数量与已发现的错误数量成正比
2.2.2、类型
分为动态测试和静态测试
动态测试又分为:黑盒测试(不了解)、白盒测试(了解)、灰盒测试
静态测试又分为:桌前测试(程序员自检或测试员检查)、代码走查(测试人员用人脑模拟电脑对程序进行测试)、代码审查(专业、固定的测试员测试)
2.2.3、测试分类
(1)单元测试 – 详细设计阶段
主要测试内容:模块结构、局部数据结构、边界条件、独立的路径、错误处理(回归测试)
(2)集成测试 – 概要设计阶段
主要测试内容:模块间接口和模块的通信
(3)系统测试(软硬件联调测试)-- 需求分析阶段
主要测试内容:恢复测试、安全性测试、强度测试、性能测试、可靠性测试(回归测试、负载测试、压力测试)、安装测试
(4)验收测试 – 用户需求阶段
主要测试内容:有效性测试、软件配置审查、验收测试
2.3、软件运行与维护
(1) 改正性维护(更正性维护、修正性维护) – 25%
(2) 适用性维护(20%) – 开发环境与部署环境相适应
(3) 完整性维护(50%) – 新功能维护
(4) 预防性维护(5%) – 预防系统发生错误