信息系统生命周期<br>
管理角度
立项规划阶段(企业全局、行程概念、需求分析)
开发阶段
运维阶段(通过验收、移交之后)
消亡阶段(更新改造、功能扩展、报废重建)
开发角度
<span style="font-size: inherit;">系统规划--系统设计任务书(系统建设方案、实施计划)</span><br>
系统分析<br>
1.系统需求规格说明书<br>2.软件需求规格说明书<br>3.确认测试计划<br>4.系统测试计划<br>5.初步的用户手册
系统设计<br>
1.架构设计文档<br>2.概要设计说明书<br>3.详细设计说明书<br>4.程序规格说明书<br>5.概要测试计划<br>6.详细测试计划<br>7.各类设计图
系统实施<br>
1.编码<br>2.单元测试<br>3.集成测试报告<br>4.操作手册
系统验收<br>
1.确认测试报告<br>2.项目验收报告
软件开发方法
统一过程<br>用例驱动,以架构为中心,迭代和增量<br>
初始
1.确定项目的范围和边界<br>2.识别系统的关键用例<br>3.展示系统的候选架构<br>4.估计项目费用和时间<br>5.评估项目风险
细化
1.分析系统问题领域<br>2.建立软件架构基础<br>3.淘汰最高风险元素
交付
1.进行测试<br>2.制作发布版本<br>3.用户文档定稿<br>4.确认新系统<br>5.培训、调整产品
敏捷方法<br><b>特点:</b><br>1.短平快的会议2.小型版本发布3.较少的文档4.合作为重<br>5.客户直接参与6.自动化测试7.适应性计划调整8.结对编程<br>9.测试驱动开发10.持续集成11.重构<br><b>系列:</b><br>1.自适应开发2.水晶方法3.特征驱动开发4.极限编程<br>
4大价值--沟通、简单、反馈、勇气
5大原则<br>1.快速反馈2.简单性假设3.逐步修改4.提倡更改5.优质工作<br>
12大实践<br>1.结对编程2.小型发布3.集体代码所有制4.重构<br>5.每周工作40小时6.测试先行7.持续集成8.计划游戏<br>9.隐喻10.现场客户11.简单设计12.编码标准<br>
开发方法<br>1.极限编程:成本控制<br>2.水晶编程<br>3.开发源码式<br>4.SCRUM<br>5.Coad:用例驱动<br>6.FDD:短时间迭代,一般两周<br>7.ASD:非线性、重叠开发阶段:猜测、合作、学习<br>
逆向工程
现实级--包括程序的抽象语法树、符号表、过程的设计表示
结构级--包括反应程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构
功能级--包括反应程序段功能及程序段之间关系信息,例如数据和控制流模型
领域级--包括反应程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
净室软件工程是一种应用数学与统计学理论以经济的方式生产高质量软件的工程技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。