软件工程 课件06
- 格式:ppt
- 大小:908.00 KB
- 文档页数:127


精品教学课件设计 | Excellent teaching plan
软件工程讲义
(师大讲课提纲__Yang XS)
1.软件工程基础
(1)为什么要有软件工程
(2)软件工程概念
(3)软件生命周期
(4)软件计划、需求分析
(5)软件设计(概要设计、详细设计)
(6)程序编码
(7)软件测试
(8)软件维护
(9)软件开发管理技术
2.面向对象的软件工程新技术——UML
(1)UML简介
(2)用例图与需求分析
(3)组织结构图(概要设计)
(4)类图与顺序图(详细设计)
(5)关系型数据库表的设计
3.VC++2005/2008程序调试
(1)从C、C++到VC++
语句精简、递归、结构钵、指针;类、对象;可视化、基础类库
(2)C++两个标准:IS0/ANSI标准C++、C++/CLI(Microsoft专为而.net开发)
(3)VC++中的类
(4)VC++文档类型
(5)VC++项目/工程的创建与打开
(6)Win32控制台程序的创建与调试
(7)MFC程序的创建与调试
(8)使用VS2005/2008编辑图像和程序
精品教学课件设计 | Excellent teaching plan
1.软件工程基础
程序是为完成一定功能和性能而设计的计算机可执行的指令序列;
数据是程序能操作的数字信息;
文档是程序开发、维护和使用有关的图文资料。
软件是计算机系统中程序、数据和相关文档的完整集合。软件分为系统软件、支撑软件和应用软件。
计算机程序的功能越来越强,综合性越来越强,就成了软件。
程序设计阶段、程序系统阶段、软件工程阶段。
(1)为什么要有软件工程
开发一个中、大型软件不是一人能做到,需要很多人参与。如何组织好多人软件开发,需要有一套科学的管理流程,有一套软件开发各阶段工程技术人员都能看懂并且遵守的描述与约束规则。
为使软件达到预期目的,需要软件工程。
为使软件维护性好、可升级,需要软件工程。
1 2008-2009学年第二学期计科06级软件工程试题B卷参考答案
一、简答题 (每小题5分,共50分)
1、从工程管理角度讲,软件设计分成哪两个阶段?分别完成什么任务?
从工程管理角度来看,软件设计分两步完成:概要设计和详细设计(1分)。概要设计完成:将软件需求转化为软件体系结构;确定系统级接口;全局数据结构或数据库模式(2分)。详细设计确立每个模块的实现算法和局部数据结构,并用适当方法表示算法和数据结构的细节(2分)。
2、什么是模块的作用范围和控制范围?对作用范围和控制范围的优化准则是什么?
作用范围:一个模块的作用范围是指条件依赖于这个模块的全部模块。(2分)
控制范围:一个模块的控制范围是指模块本身和它的全部子模块。(2分)
优化设计原则:对于任何判定,作用范围应该是这个判定所在模块的控制范围的一个子集。(1分)
3、结构化分析模型的核心是什么?结构化分析模型用到的三种图形工具分别是什么?功能分别是什么?
结构化分析模型的核心是数据字典。(2分)
结构化分析模型用到的三种图形工具是数据流图、E-R图、状态迁移图。ERD用于数据建模,DFD用于功能建模,STD用于行为建模。(3分)
4、列举五条对数据流图进行检查和修改的原则。
① 数据流图上所有图形符号只限于前述四种基本图形元素。
② 顶层数据流图必须包括前述四种基本元素,缺一不可。
③ 顶层数据流图上的数据流必须封闭在外部实体之间。
④ 每个加工至少有一个输入数据流和一个输出数据流。
⑤ 在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。
⑥ 规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
⑦ 可以在数据流图中加入物质流,帮助用户理解数据流图。
⑧ 图上每个元素都必须有名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。加工的名字应当是“名词+宾语”,表明做什么事情。
湖北省软件行业协会 表格编号:RQ-06
V1.0
(企业名称) 软件工程质量管理体系说明
我公司已按照软件工程要求建立了质量管理体系,严格控制产品的设计和开发的策划和过程,确保新产品满足市场要求。
一、职责分工
1、研发总监职责
2、研发部职责
二、开发要求
1、确立设计开发项目
2、设计开发的策划
3、设计开发输入
4、设计开发输出
5、设计和开发的评审
6、设计开发的验收
7、设计开发的确认
8、设计更改
(企业名称、公章)
年 月 日
有效运行的过程文档记录
附:一个主要产品的需求规格说明书和用户手册
《软件工程介绍》PPT课件CONTENTS•软件工程概述•软件开发过程模型•需求分析与管理•系统设计与实现•测试与质量保证•项目管理与团队协作•案例分析与实践经验分享
软件工程概述01定义软件工程是指导计算机软件开发和维护的工程学科,采用工程化的概念、原理、技术和方法来开发与维护软件。发展历史从20世纪60年代的软件危机开始,软件工程逐渐受到重视并发展成为一个独立学科。主要里程碑包括瀑布模型、螺旋模型、敏捷开发等方法和理念的出现,以及CMMI等评估标准的制定。软件工程定义与发展目标在给定成本、进度的前提下,开发出具有有效性、可用性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。原则模块化、抽象化、信息隐藏、局部化、一致性、完整性、可验证性等。关注点
关注软件开发过程中的需求分析、设计、编码、测试和维护等各个阶段。软件工程目标与原则通过规范化的开发流程和管理方法,减少软件缺陷,提高软件质量。通过复用已有的软件组件和开发经验,减少开发时间和成本。通过模块化设计和良好的文档支持,方便软件的后期维护和升级。通过灵活的开发方法和工具支持,快速响应和适应需求变化。提高软件质量降低开发成本增强软件可维护性适应需求变化软件工程重要性
软件开发过程模型02线性顺序瀑布模型按照线性顺序进行软件开发,包括需求分析、设计、编码、测试和部署等阶段。严格阶段划分每个阶段都有明确的输入和输出,以及相应的评审和验证活动,确保阶段间的正确过渡。易于管理瀑布模型提供了清晰的开发计划和进度安排,便于项目管理和资源分配。瀑布模型030201螺旋模型采用迭代方式进行软件开发,每个迭代周期包括需求分析、设计、编码和测试等活动。螺旋模型强调风险管理,通过不断评估和调整项目计划来降低风险。螺旋模型允许在开发过程中根据实际情况调整项目需求和目标,提高了项目的适应性。迭代开发风险驱动灵活性强螺旋模型03快速响应变化敏捷开发能够迅速响应需求变化,及时调整项目计划和开发策略。01以人为本敏捷开发模型强调团队成员之间的紧密协作和沟通,注重人的因素对项目成功的影响。02持续迭代敏捷开发采用短周期、持续迭代的开发方式,每个迭代周期都会生成可运行的软件产品。敏捷开发模型原型模型原型模型在需求不明确或技术风险较高的情况下,通过快速构建原型来验证想法和收集反馈。增量模型增量模型将软件产品划分为一系列增量,每个增量都是一个完整的软件产品子集,逐步构建和完善整个系统。演化模型演化模型适用于需求不断变化的项目,通过不断演化现有系统来满足新的需求。其他过程模型