信息系统开发基础
信息系统
1、信息与信息系统的概念
信息是一种客观存在的形式之一,不是物质和能量。
信息系统不是单一的内容,是由计算机硬件、网络和通讯设备、计算机软件、信息资源信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。
2、信息系统的类型
分为两大类:
数据环境分类:
数据文件、应用数据库、主题数据库、信息检索系统
应用层次分类:
战略级(企业最高管理层)、战术级(企业中层经理及其管理部门)、操作级(服务型企业的业务部门)、事务级(企业的管理业务人员)
3、信息系统生命周期(重点)
信息系统的生命周期是指产品的生命周期。
产品生命周期
立项阶段--开发阶段--运维阶段--消亡阶段
项目的生命周期(开发阶段)
总体规划--系统分析--系统设计--系统实施--系统验收
项目生命周期各阶段解释
总体规划阶段:信息系统的开发目标、总体结构、组织结构、管理流程、实施计划、技术规范。
系统分析阶段:主要是为了产生一个需求模型
系统设计阶段:设计出实施方案(实施方案是文档)
系统实施阶段:在设计结果实现在系统上运行
系统验收阶段:通过试运行,进入验收
4、信息系统规划方法(重点)
关键成功因素法(CSF)
战略目标集成转化法(SST)
企业系统规划法(BSP)(重点) 考试时考察前后关系
5、信息系统开发方法
结构化方法(瀑布开发模式)
适用范围:需求固定,开发过程不可随意更改
方法特点:
用户至上
严格区分工作阶段、每阶段都有任务和成果(里程碑)
强调系统开发过程的整体性和全局性
系统开发过程工程化、文档标准化(统一标准)
自顶向下,逐步分解(类似PMP的WBS需求分解)
原型法(迭代开发模式)
适用范围:需求不明确的开发
包括抛弃原型(和上一个系统无关)和进化原型(和上一个系统有关)
面向对象方法
更好的复用性
关键在于建立一个全面、合理、统一的模型
分析、设计、实现三个阶段,界限不明确
软件工程
1、软件开发模型(3个重点)
瀑布模型(重点)
瀑布模型实际上就是结构化方法
计划-需求分析-设计-编码-测试-运维
V模型(重点)
V模型实际是原型法
用户需求-需求分析-概要设计-详细设计-编码和实现
验收测试-系统测试-集成测试-单元测试
原型化模型
迭代模型
螺旋模型(重点,主要增加了风险控制)
螺旋模型实际是结构化方法+原型法
适合于风险多、结构复杂、大型的项目
螺旋模型的四大象限,制定计划-风险分析-实施工程-客户评估
构建组装模型
统一过程(RUP)
喷泉模型
敏捷方法
2、软件工程-需求工程
需求定义:
软件需求就是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
需求分类:
功能需求-性能需求-设计约束-业务需求(高层次需求)-用户需求-系统需求(多个子系统的顶级需求,如何划分子系统)
管理需求过程:
需求获取
需求分析
监测和解决需求之间的冲突
发现软件边界、以及软件与其环境如何交互
详细描述系统需求,以导出软件需求
需求定义(十分重要,验收标准参考需求规格说明说(SRS))
需求规格说明书(SRS)
需求验证
需求评审-需求测试
需求跟踪
用户原始需求-软件需求-下游工作产品
3、软件工程-软件体系结构
体系结构即构件的集合
三大构件:处理构件、数据构件和连接构件
4、软件工程-架构设计
Philippe Kruchten的4+1视图方法*
逻辑视图(用户角度)-开发视图(开发角度)-处理视图(设计约束)-物理视图(部署环境、网络等) ,最后利用场景视图来协调四大视图的冲突点。
5、软件工程-软件设计
架构设计(宏观)-概要设计-详细设计(微观)
6、软件工程-软件设计-典型架构
管道/过滤器
有利于快速定位错误
面向对象模式
有利于复用
事件驱动模式
对一个事件进行操作,获得反馈
分层模式
知识库模式
客户机/服务机模式
C/S和B/S架构
面向服务的架构
7、软件工程-软件设计-测试原则和类型
测试原则:
尽早、不断的进行测试
程序员避免测试自己设计的程序
要选择合理有效的,也要选择不合理无效的数据
修改后应进行回归测试
尚未发现的错误数量与该程序已发现的错误数量成正比
测试类型:
动态测试:
黑盒测试:等价类、边界值、错误判断、因果图
白盒测试:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
灰盒测试
静态测试:
桌前检查-代码走查-代码审查(审计)
8、软件工程-软件测试-测试阶段
V型测试
9、软件工程-软件测试-测试管理
测试团队管理-测试计划管理-缺陷跟踪管理-测试件管理
10、软件工程-系统运行与维护
改正性维护(25%)-适应性维护(20%)-完整性维护(50%)-预防性维护(5%)
11、软件工程-软件复用
为了缩减软件开发和维护的费用
代码的复用-设计的复用-分析的复用-测试信息的复用
12、软件工程-软件过程管理
启动和范围定义-软件项目计划-软件项目实施-评审和评价-关闭-软件工程度量