第12章应用软件开发过程及一个综合实例
- 格式:ppt
- 大小:797.00 KB
- 文档页数:19
第1篇一、技术面试题目1. 请简述软件开发的瀑布模型及其优缺点。
答案:瀑布模型是一种线性顺序的软件开发过程,将软件开发过程划分为需求分析、系统设计、编码、测试、部署和维护等阶段。
其优点包括:结构清晰、易于管理、文档完整、便于审查。
缺点包括:缺乏灵活性、难以适应需求变更、可能导致进度延误。
2. 请解释面向对象编程(OOP)的基本概念,并举例说明。
答案:面向对象编程是一种编程范式,它将数据和操作数据的方法封装在一起,形成对象。
OOP的基本概念包括:- 类:具有相同属性和行为的对象的集合。
- 对象:类的实例,具有类的属性和行为。
- 继承:子类继承父类的属性和方法。
- 封装:将对象的属性和行为封装在一起,外部无法直接访问对象的属性。
- 多态:同一个操作作用于不同的对象时,可以有不同的解释和执行结果。
举例:一个“动物”类,具有“叫声”属性和“发出叫声”方法。
具体对象如“狗”和“猫”都继承自“动物”类,但它们的“叫声”属性和“发出叫声”方法可能不同。
3. 请简述软件测试的几种类型,并说明各自的目的。
答案:软件测试的几种类型包括:- 单元测试:对程序中的最小可测试单元进行测试,确保其按预期工作。
- 集成测试:将各个模块组合在一起进行测试,确保模块间接口的正确性。
- 系统测试:对整个系统进行测试,确保系统满足需求。
- 性能测试:测试系统的性能,如响应时间、吞吐量等。
- 安全测试:测试系统的安全性,确保系统不会被恶意攻击。
目的:发现软件中的缺陷,提高软件质量,确保软件满足用户需求。
4. 请解释什么是敏捷开发,并说明其优势。
答案:敏捷开发是一种软件开发方法,强调快速迭代、灵活响应变化和持续交付价值。
其优势包括:- 灵活性:可以快速适应需求变更,提高项目成功率。
- 质量保证:通过持续集成和测试,确保软件质量。
- 透明度:项目进展和问题都可以实时了解,提高团队协作效率。
- 客户参与:客户可以随时参与项目,确保项目符合客户需求。
综合实例《初级计算机应用》教学演示Authorware是一种综合性的多媒体应用开发软件。
其除了可将文本和图像整合为教学演示程序外,还可以再教学演示中插入各种动画以及视频。
根据这一功能,可以制作出包含视频和动画的精美演示程序。
本例将以动画和视频相结合,制作一个初级计算机应用的教学演示程序。
1.1 策划分析计算机技术是一种新兴的技术。
其涵盖的范围非常广泛,包括计算机应用、计算机程序开发、计算机维护等多种分支学科。
刚开始接触计算机的用户面对种种复杂的理论和大量实际操作的技术,往往无从下手。
由于计算机十分容易因误操作而损坏,因此,在教学时更注重实践操作与理论知识的结合。
通过视频向用户展示计算机的操作技巧是一种被普遍应用的方式。
因此,在计算机应用的教学演示中,视频具有重要的地位。
1.设计教学演示的界面计算机技术是一种现代科学技术,因此在设计计算机应用的演示程序时,应注重界面的现代感。
可多应用一些特效和动态元素,使界面更加吸引用户的注意力。
以本练习为例,在设计界面时,使用了具有后现代风格的泼墨效果,颇具艺术效果。
同时,还应保持多个界面的风格趋于一致,如图1-91所示。
图1-91 教学演示的界面除了界面设计以外,在演示的片头还可以安排一些具有动感的画面,例如发光波纹特效、移动的文本特效以及激光展示特效等。
发光波纹特效发光波纹特效是Authorware自带的一种特效,其往往应用于影片中切换界面或显示整幅图像时。
例如在本练习中,就使用了发光波纹特效作为影片的显示特效,如图1-92所示。
图1-92 发光波纹特效●移动文本特效移动文本特效就是根据之前章节介绍的【移动】图标的用法,,对【显示】图标中的文本进行移动操作。
在移动【显示】图标时,可将同一行中的文本分开移动,使动画更加独特,如图1-93所示。
图1-93 移动文本特效●激光特效激光特效也是Authorware自带的一种特效,其模拟的是用激光在金属或其他介质上蚀刻的效果,通常用于单色的图形或简单的图像显示效果。
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。