第7章软件实现-编码
- 格式:ppt
- 大小:575.00 KB
- 文档页数:51
六、填空题1、(可行性研究)的目的就是用最小代价在尽可能短的时间内确定该软件项目是否能够开发、是否值得开发。
2、可行性研究的目的不是是开发一个软件项目,而是研究这个项目是否(是否做值得)。
3、可行性研究需要从(经济)可行性、(技术)可行性、(操作)可行性和(社会)可行性四个方面分析研究每种解决方案的可行性。
4、技术可行性是对开发项目的(功能、性能、限制条件)进行分析,确定现有4、可行性研究要进行的需求分析和设计应是(C)。
A.详细的B.全面的C.简化的D.彻底的七、填空题1、需求分析的基本任务是要准确地定义(扇新系统的目标),为了满足用户需求,回答系统必须(做什么)的问题。
2、在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括:(功能)需求、(性能)需求、(环境)需求、(用户界面)需求。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。
3、需求分析的困难主要体现在4个方面:问题的复杂性、(交流障碍)、(不完备性和不一致性)、需求易变性。
4、在需求分析阶段进行以下几个方面的工作:识别系统综合要求、(分析系统的数据要求)、导出软件逻辑模型、(编写文档)。
八、选择题1、需求分析(D)。
A.要回答“软件必须做什么?”B.可概括为:“理解、分解、表达”6个字C.要求编写需求规格说明书D.以上都对的(物理)模型,即着手实现软件需求,并将设计的结果反映在(设计)文档中。
9、总体设计评价是对设计部分是否完整地实现了需求中规定的(功能)、(性能)等要求,设计方案的(可行性),关键的处理及内外部接口定义(正确性)有效性,各部分之间的(一致性)等都一一进行评审。
10、在一个模块中,(功能)、(状态)和(接口)反映模块外部特征,(逻辑)反映它的内部特性。
11、(信息隐藏)是指在设计和确定模块时,使得一个模块的内包含的信息对于不需要遮羞信息的其它模块来说是不能(访问)的。
12、设计软件结构,具体为:(1)采用某种方法将一个复杂系统按功能划分为(模块)(2)确定每个模块的(功能)(3)确定模块之间的(调用关系)(4)确定模块之间的(接口),即模块之间传递的信息。
第七章数字信号处理中的有限字长效应无论是专用硬件,还是在计算机上用软件来实现数字信号处理,输入信号的每个取样值、算法中要用到的参数,以及任何中间计算结果和最终计算结果,都是用有限位的二进制数来表示的。
因此,在实际工程中所得到的数字信号处理结果,相对于理论计算所得到的结果必然存在着误差。
在某些情况下,这种误差严重到使信号处理系统的性能变坏,以致达到令人不能容忍的程度。
通常把这种由于二进制数的位数有限而造成的计算结果的误差或处理性能的变坏,称为有限字长效应。
显然,有限字长效应,在数字信号处理软件实现或硬件实现中,在进行设计和对处理结果进行误差分析时,是必须进行考虑的重要问题。
本章内容安排如下:内容提要1.举例说明在数字信号处理中,有限字长效应引起的误差的几种来源,以及这些误差的表现形式。
2.复习二进制数的表示方法和它们的算术运算方法,以及在运算中考虑字长的限制而对运算结果采取的处理方法。
3.对数字滤波器的系数的量化误差及其对滤波器的稳定性、零点和极点的位臵的影响进行分析,并对滤波器的频率特性的误差进行讨论。
4.有限字长定点运算IIR 数字滤波器的极限环振荡现象和死带效应。
5.浮点运算有限字长效应。
7.1 有限字长效应及量化误差现在用一个浅显的例子来分析有限字长效应产生误差的原因。
设有一个一阶低通滤波器,其差分方程为0.150.15()(1)2(1)()y n e y n e x n --=-+-该滤波器输入端作用有一个离散时间信号x(n),它的前18个取样值列于表7-1中的第2列,其中用省略号表示这些取样值是无限精确的。
理论上,为求出滤波器的输出信号y(n),只要将输入序列x(n)的值代入0.150.15()(1)2(1)()y n e y n e x n --=-+-中进行运算(首先要假设初始值y(0),例如取y(0)=0),即可得到y(n)的精确值,表7-1中的第3列是计算结果。
应注意,y(n)的精确程度取决于x(n)和常数0.15e -的精确程度,也取决于中间计算结果0.15(1)e y n --和0.152(1)()e x n --的精确程度。
软件开发行业作业指导书第1章软件开发基础 (4)1.1 软件开发概述 (4)1.1.1 软件定义 (4)1.1.2 软件开发目的 (4)1.1.3 软件开发层次 (4)1.2 软件开发生命周期 (4)1.2.1 需求分析 (4)1.2.2 设计 (4)1.2.3 编码 (4)1.2.4 测试 (4)1.2.5 维护 (5)1.3 常用软件开发模型 (5)1.3.1 瀑布模型 (5)1.3.2 快速原型模型 (5)1.3.3 迭代模型 (5)1.3.4 敏捷开发模型 (5)1.3.5 喷泉模型 (5)1.3.6 智能化开发模型 (5)第2章需求分析 (5)2.1 需求获取 (5)2.1.1 用户访谈 (5)2.1.2 调查问卷 (6)2.1.3 竞品分析 (6)2.1.4 需求工作坊 (6)2.2 需求分析 (6)2.2.1 功能需求分析 (6)2.2.2 功能需求分析 (6)2.2.3 可用性需求分析 (6)2.2.4 安全性需求分析 (6)2.2.5 兼容性需求分析 (6)2.3 需求规格说明书 (6)2.3.1 引言 (6)2.3.2 总体描述 (7)2.3.3 功能需求 (7)2.3.4 功能需求 (7)2.3.5 可用性需求 (7)2.3.6 安全性需求 (7)2.3.7 兼容性需求 (7)2.3.8 界面需求 (7)2.3.9 系统约束 (7)2.3.10 附录 (7)第3章系统设计 (7)3.1 架构设计 (7)3.1.1 系统结构 (7)3.1.2 层次划分 (7)3.1.3 模块划分 (8)3.1.4 关键技术与选型 (8)3.2 模块设计 (8)3.2.1 用户模块 (8)3.2.2 业务模块 (8)3.2.3 系统管理模块 (8)3.3 数据库设计 (9)3.3.1 表结构设计 (9)3.3.2 索引设计 (9)3.3.3 存储过程设计 (9)第4章编码实现 (9)4.1 编程规范 (9)4.1.1 通用规范 (9)4.1.2 命名规范 (9)4.1.3 代码结构规范 (9)4.2 代码审查 (10)4.2.1 审查流程 (10)4.2.2 审查内容 (10)4.3 版本控制 (10)4.3.1 版本控制工具 (10)4.3.2 提交规范 (10)4.3.3 分支管理 (10)第5章软件测试 (10)5.1 测试策略 (11)5.1.1 目的与原则 (11)5.1.2 测试范围与对象 (11)5.1.3 测试方法与工具 (11)5.2 单元测试 (11)5.2.1 目的与原则 (11)5.2.2 测试内容 (11)5.2.3 测试方法与工具 (12)5.3 集成测试与系统测试 (12)5.3.1 集成测试 (12)5.3.2 系统测试 (12)第6章软件部署与维护 (12)6.1 软件部署 (12)6.1.1 部署前准备 (12)6.1.2 部署流程 (12)6.1.3 部署策略 (13)6.2 软件维护 (13)6.2.2 维护内容 (13)6.2.3 维护流程 (13)6.3 软件升级与更新 (13)6.3.1 升级策略 (13)6.3.2 更新流程 (13)第7章软件项目管理 (14)7.1 项目规划 (14)7.1.1 项目目标 (14)7.1.2 项目团队组织 (14)7.1.3 项目计划 (14)7.1.4 资源规划 (14)7.1.5 项目预算 (14)7.2 项目进度控制 (14)7.2.1 项目进度监控 (14)7.2.2 项目调整 (14)7.2.3 项目报告 (14)7.2.4 项目评审 (14)7.3 项目风险管理 (14)7.3.1 风险识别 (15)7.3.2 风险评估 (15)7.3.3 风险应对策略 (15)7.3.4 风险监控 (15)7.3.5 风险管理文档 (15)第8章软件开发团队协作 (15)8.1 团队组织与管理 (15)8.1.1 团队结构 (15)8.1.2 团队成员选择与配置 (15)8.1.3 团队管理 (15)8.2 沟通与协作 (15)8.2.1 沟通渠道 (15)8.2.2 协作规范 (16)8.3 知识分享与技能提升 (16)8.3.1 知识分享 (16)8.3.2 技能提升 (16)第9章软件开发工具与环境 (16)9.1 集成开发环境 (16)9.1.1 概述 (16)9.1.2 常用集成开发环境 (17)9.1.3 集成开发环境的选择 (17)9.2 代码管理工具 (17)9.2.1 概述 (17)9.2.2 常用代码管理工具 (17)9.2.3 代码管理工具的选择 (17)9.3.1 概述 (18)9.3.2 常用项目管理工具 (18)9.3.3 项目管理工具的选择 (18)第10章软件开发行业发展趋势 (18)10.1 新兴技术概述 (18)10.2 开源与闭源之争 (19)10.3 软件开发行业的未来挑战与机遇 (19)第1章软件开发基础1.1 软件开发概述1.1.1 软件定义软件是指在计算机硬件及系统环境下,为实现一定功能或多个功能,按照特定要求设计、开发、测试、维护的相关文档和程序代码的集合。