软件工程
系统规划
软件工程
信息系统生命周期
立项阶段:企业全局、形成概念、需求分析(做与不做)
开发阶段:
系统规划
初步调查、分析系统目标、可行性研究、制定系统建设方案
系统设计任务书(系统建设方案、实施计划)
系统分析
业务流程、数据、软件需求、网络需求分析
产出物:系统需求规格说明书、软件需求规格说
明书、确认测试计划、系统测试计划、初步的用户手册
系统设计
软件架构设计、软件概要设计、详细设计、网络设计
产出物:架构设计文档、概要设计说明书、详细设计说明书
程序规格说明书、概要测试设计、详细测试设计、各类设计图
系统实施
软件编码、软件单位集成系统测试、综合布线
产出物:源码、单元测试、集成测试报告、操作手册
系统收验
确认测试、试运行
产出物:确认测试报告、项目验收报告
运维阶段:通收难收、移交之后(最长的阶段)
消亡阶段:更新改造、功能扩展、报废重新
软件开发模型
瀑布模型 需求明确(结构化方法)
原型 需求不明确、需求分析、了解需求、简易系统可以只有界面
快速原型
增量模型
螺旋模型:制定计划、风险分析、实施工程、客户评估
原型+瀑布模型
V模型 偏向于测试的模型、测试贯穿于始终
喷泉模型 迭代、无间隙
构件组装模型
需求分析和定义
软件架构设计
构件库的建立
构件标准
构件库
构件获取
构件管理
应用软件构件
测试和发布
UP 统一过程 大型系统开发特点:
用例驱动、以架构为中心、迭代和增量
1-初始:确定项目范围和边界、识别系统关键用例
展示系统的候选架构、估计项目费用和时间、评估项目风险
2-细化:建立软件架构基出(完成软件架构设计)
3-构建:开发剩余的构件、构件组装与测试 详细设计+实现
4-交付:进行测试、制作发布版本
敏捷方法共性:小步快跑、分很多轮小迭代
减轻了一些文档负荷
4大价值观:
沟通(面对面)、简单、反馈、勇气
常见方法:XP 对费用控制严格的公司中使用
水晶系列:最少的纪律约束
开放式源码: 地域广
SCRUM:明确定义了的可重复的方法过程
FDD: 首席程序员和类程序员
逆向工程:从最终成果,反推设计,需求
实现级:包括程序的抽象语法树、符号表、过程的设计表示低层
结构级:
功能级:
领域级:UML图
净室软件工程
需求工程
系统设计
系统测试与维护
系统规划
初步调查
确定系统目标
分析子系统的组成
拟定系统的实施
进行可行性研究
制订系统建设方案 (系统设计任务书)
可行性分析
经济可行性
成本
固定成本:不随产量变化
管理人员的工资、办公费、员工培训费、
广告费、技术开发经费等
变动成本:随产量变化
开发资金、外包费用、产品包装费、直接材料费
混合成本
直接成本:投入在项目上
间接成本:分摊到项目上
销售额=固定成本+可变成本+利润
现值P=F/(1+i)n
净现值NPV 大于0
净现值率=NPV/Ip(投入)
投资回收期=3+(差钱/收益)
投资回收率=1/投资回收期*100%
总投资收益率=投资收益/投资总额*100%
技术可行性
社会(法律)可行性分析
用户使用可行性
管理可行性 系统与现有管理机制的一致性,改革
运行可行性