卫星导航定位算法与程序设计_第2课_软件工程方法概述

更新时间:2023-06-03 09:07:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

卫星导航定位算法与程序设计主讲:刘晖副教授武汉大学卫星导航定位技术研究中心

课程讲授次序中的位置 建立起软件设计的宏观概念(战略层次); 巩固软件设计方法的知识; 训练从设计到实现的工作流程;

软件设计相关

编程语言相关

掌握软件编程平台的使用(战术层次); 培养良好的编程习惯 编程技巧的训练

定位算法相关

巩固卫星定位导航算法知识; 软件设计和编程能力的实际应用; 进一步了解卫星定位导航的发展

第二讲软件工程方法概述

内容 软件工程方法概述

概述传统方法——瀑布模型传统方法——瀑布模型面向对象的方法——快速原型法面向对象的方法——快速原型法两种方法的比较及其在软件开发中的作用

传统方法软件设计概述 面向对象的设计方法概述 软件建模语言概述

软件工程方法概述 软件工程一般要经过需求分析、设计、编码、测试、运行维护等几个阶段 传统的软件工程方法采用的是瀑布模型,即顺序模型 现代软件工程一般采用面向对象的软件工程方法

瀑布模型 (线形顺序模型)线形顺序模型)定义阶段

可行性研究与计划需求分析开发阶段维护阶段

设计编码测试运行维护6

按照传统瀑布模型开发软件的特点

1.阶段间具有顺序性和依赖性。 1.阶段间具有顺序性和依赖性。

2.推迟实现的观点。 2.推迟实现的观点。3.每个阶段必须完成规定的文档; 3.每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,每个阶段结束前完成文档审查,及早改正错误。7

面向对象的软件工程方法 对传统软件工程的改进: 快速原型法(试用-反馈-修改,多次反复) 面向对象的软件工程:面向对象的方法(基本

概念:对象、类、消息、继承、多态性、封装)

优点:思维一致、稳定性好、可重用性好、可维护性好

原型模型(快速原型法)原型模型(快速原型法)

听取用户意见

建造/修改原型

用户测试运行原型原型范型9

采用原型模型的软件生存周期分析定义系统需求

生成原型

原型化系统设计

运行和维护

含原型化的软件生存期

测试

编码

程序设计10

方法比较 两种途径并不是相互排斥的,相反,它们是相互促进相互补充的。 工作要素:确定“做什么”、确定“怎样工作要素:确定“做什么”、确定“做”,“实现”,“测试”实现”测试” 传统的生命周期方法学强调:需求分析的重传统的生命周期方法学强调:需求分析的重要性、强调软件文档的重要性,适用于需求模

糊或者需求不稳定的系统。 面向对象方法学:工作重点在分析和设计阶面向对象方法学:工作重点在分析和设计阶段,阶段的划分是十分模糊的,通常在分析、设计和实现等阶段多次迭代。既适用于线性的瀑布开发模型,也适用于快速原型法。 11

多种方法在软件工程中的综合应用

分析结构化结构化面向对象

设计结构化面向对象结构化

编程面向对象面向对象第三代或第四代语言

面向对象面向对象面向对象

面向对象

第三代或第四代语言

面向对象传统编程与面向对象的混合面向对象面向对象12

内容 软件工程方法概述 传统方法软件设计概述

传统方法中软件开发步骤准备工作软件编码调试测试

面向对象的设计方法概述 软件建模语言概述

传统方法中软件开发步骤 问题定义 需求分析 实现计划 总体设计 详细设计 编码工作开发前期和中期开发中后期和维护准备工作软件编码

系统集成 单元测试 系统测试 校正性的维护 功能强化

调试测试

准备工作(1准备工作(1) 问题定义必须弄清楚你想要解决的问题是什么 本课程的问题定义:实现事后处理的GPS标准单点定本课程的问题定义:实现事后处理的GPS标准单点定位、测速的软件。

准备工作(2准备工作(2) 需求分析

需求详细描述了一个软件系统需要解决的问题 明确的需求可以保证是由用户而不是程序员决定系统的功能。 明确的需求也可以避免引起争议。 IBM、GTE、TRW的数据表明.修正在总体结构阶段发现的 IBM、GTE、需求错误,将比当时就发现并修正的成本要高出 5倍,如果是在编码阶段,要高出 10倍,在单元或系统测试阶段,高 20倍,在验收测试阶段,高 50倍,而在维护阶段,竟要比原来高出多达 100倍! 充分进行需求分析是一个项目成功的关键

本课程软件的需求分析 程序的输入、输出,定位精度,文件的格式,程序的运行环境等17

准备工作(3准备工作(3) 结构设计 程序的组织形式(模块设计) 主要的数据结构 关键算法 用户界面,输入输出,内存管理 错误处理 结果设计检查

准备工作(4准备工作(4) 选择编程语言 使用自己熟悉的编程语言 使用高级编程语言

软件编码—软件编码—回答问题 基本数据类型 自建数据类型 软件的控制问题 布局与风格 外部文档

软件编码—软件编码—工作内容 验证基础工作已经完成,可以进行创建工作设计和

编写子程序与模块创立数据类型并命名变量选择控制结构并组织语句块找出并修正错误评审其它小组的细节设计和代码,同时接受其它小组评审通过仔细地格式化和征集意见改进编码对分别完成的软件单元进行综合调整编码使其更小、更快

本文来源:https://www.bwwdw.com/article/2ps1.html

Top