软件开发基础理论
1、基础理论
软件定义:程序、数据及相关文档的完整集合
软件的分类:按功能分为系统软件(如操作系统、数据库管理系统、设备驱动程序等)、支撑软件(协助用户开发软件的工具性软件,如微软可视化开发平台工具)、应用软件(为特定目的服务的软件,如财务管理软件);按工作方式分为实时处理软件、分时软件、交互式软件和并行处理软件
软件的特征:抽象性、复杂性、维护长期性、高成本性
软件工程的基本原理:一共7条,主要的4条:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、结果应能清楚的审查
软件生命周期:问题定义(需求分析)、可行性分析、系统设计、编码、测试、验收与运行、维护升级、废弃等多个阶段。基线是软件生存期各开发阶段末尾的特定点,也称为里程碑,包括3种基线:功能基线、分配基线、产品基线
软件过程:瀑布模型
软件过程:V模型
软件过程:迭代模型
2、软件开发阶段
1)需求分析
需求:客户问题(why) + 解决方案(what)
需求层次:业务需求(business requirements)、用户需求(user requirements)、功能需求(functional requirements)、非功能需求(none-functional requirements)
需求描述方式:DFD数据流图、IPO、Use Case, 软件需求说明书(SRS)是需求分析阶段的成果
2) 软件设计
概要设计:将完整的软件划分为模块,并确定模块间接口。常用的方法有层次图、结构图等。
详细设计:定义函数/方法,并描述函数/方法的实现逻辑。常用的方法有流程图、伪代码等。
基本原则:高内聚、低耦合、高扇入、低扇出
3)软件编码
4)软件测试
3、软件开发语言