一、信息系统知识
1、大型信息系统特点
- 规模庞大:多个独立子系统;
- 跨地域性:部署不集中;
- 网络结构复杂:多级网络结构,跨多个安全域;
- 业务种类多:业务逻辑复杂;
- 数据量大:业务信息量大,数据复杂多样;
- 用户多:使用者多,角色多,对系统的访问和操作多;
2、信息系统生命周期
-
系统规划:可行性研究报告、系统设计任务书(系统建设方案、实施计划)——立项阶段
- 开发请求
- 初步调查
- 可行研究
-
系统分析:新系统逻辑模型、系统需求规格说明书、确认测试计划(需求)、系统测试计划 ——开发阶段
- 详细调查
- 逻辑设计
-
系统设计:新系统物理模型、系统设计说明书 ——开发阶段
- 总体设计
- 详细设计
-
系统实施:源码、测试报告 ——开发阶段
- 编程调试
- 系统转换
-
系统运行和维护:维护与评价日志 ——运维阶段、消亡阶段
- 系统维护
- 系统评价
二、软件开发知识
1、软件开发方法
-
结构化法
-
面向对象方法
- 与现实世界对应,符合人们的思维习惯
- 更好的复用性
- 关键在于建立一个全面,合理,统一的模型
- 分析,设计,实现三个阶段,界限不明确
注:结构化与面向对象关系:相互依存,不可替代
-
面向服务的方法
- OO(面向对象)-> 构件化 -> 标准化 -> SO(面向服务)
- 提高系统可复用性,信息资源共享和系统之间的互操作性
-
原型法
- 适用范围:需求不明确的开发;分析层面难度大,技术层面难度不大的系统
- 特点:降低成本与风险,加快速度
- 缺点:开发环境要求高;管理水平要求高
- 开发过程:确定用户基本需求 -> 设计原型 -> 试用与评价原型 -> 修改完善原型 -> 整理原型提供文档
2、需求分析
软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。
需求分类:
- 业务需求:系统高层次目标,反映了企业或客户对系统层次的目标需求;
- 用户需求:用户视角;
- 系统需求:系统的角度看问题;
- 功能需求
- 性能需求(非功能需求)
- 设计约束
质量功能部署(QFD):
- 基本需求:用户要求的,必须做;
- 期望需求:用户认为要做的,不做不满意;
- 兴奋需求:用户不认为要做,一般不做;
需求分析的步骤:
- 需求获取:用户访谈,问卷调查,采样等;
- 需求分析:检测和解决需求之间的冲突;发现软件的边界,以及软件与其环境如何交互;
- 需求定义:需求规格说明书(SRS);
- 需求验证:需求评审,需求测试;
3、UML(统一建模语言)
UML特征:
- 可视化的建模语言;
- 面向对象分析与设计的一种标准表示;
- 允许任何一种过程和方法使用;
- 简单并且可扩展;
- 强调重用(架构,框架,模式和组件);
UML静态图(结构图):
- 类图
- 依赖关系:一个事物发生变化影响另一个事物;
- 泛化关系:特殊/一般关系;
- 关联关系:描述了一组链,链是对象之间的连接;
- 聚合关系:整体与部分生命周期不同(空心菱形);
- 组合关系:整体与部分生命周期相同(实心菱形);
- 实现关系:接口与类之间的关系
- 对象图
- 构件图
- 部署图:软硬件之间映射
- 制品图:系统的物理结构
- 包图
- 组合结构图
UML动态图(行为图)
- 用例图:系统与外部参与者的交互
- 包含关系(include):提取公共用例;
- 扩展关系(extend):根据情况可能发生多种分支;
- 泛化关系:父子用例;
- 状态图:状态转移变迁
- 活动图:类似程序流程图,并行行为
- 顺序图:强调按时间顺序 —— 交互图
- 通信图(协作图):强调消息收发对象的结构组织 —— 交互图
- 定时图:强调实际时间 —— 交互图
- 交互概览图 —— 交互图