版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程主讲:段智敏目标 本章要求了解软件工程提出的历史背景,了解软件开发的本质,以及软件、软件工程、模型等根本概念。识记软件与软件工程概念模型概念领会软件工程概念的提出背景与开展历程求解问题的根本途径软件开发中的模型分类迄今为止,计算机系统已经经历了4个不同的开展阶段(60年代前“定制〞,至70年代“作坊〞,至80年代“微处理器〞,至现在“网络〞),但是,我们仍然没有彻底摆脱“软件危机〞的困扰,软件已经成为限制计算机系统开展的瓶颈。为了更有效地开发与维护软件,软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科——计算机软件工程学(通常简称为软件工程)。软件危机IT工程的状态 美国斯坦迪申咨询公司对美国365位信息技术高层经理人员管理的8380个工程进行调查研究,得到如下结论:信息技术工程正处于一个混沌的状态平均成功率为16%50%的工程需要补救34%的工程彻底失败平均超出时间为222%实际本钱是原始估计本钱的189%软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的原因如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机的表现价格高规模越来越大,开发不易控制软件开发工作量估计困难软件质量低软件工程失败率高错误率高无法判断系统能否正常工作维护任务重软件本钱占计算机系统的比例〔兴旺国家〕50年代:20%60年代:50%80年代:60%90年代:70%新世纪:80%MSWINDOWS2000直接参与人员5150人,其中:工程经理250人开发人员1700人测试人员3200人
软件工程的概念码农软件白领从猴子说起工程管理是非常重要的,而工程管理的人才又是极为缺乏的。在我们身边的台湾、印度、日本,都不乏因实施软件工程而成功的软件团体,更不用说身为软件大国的美国,已经从较低级的软件实现摆脱出来,进入了设计和营销的境界。软件工程的概念软件工程是应用计算机科学理论和技术以及工程管理原理和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。软件工程是采用工程的原理、原那么和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。软件工程的开展分为两个阶段:主要围绕软件工程,开展有关开发模型、开发方法和支持工具的研究。主要围绕软件工程过程的支持,开展有关软件生产技术,特别是软件复用技术和软件生产管理方面的研究。软件工程的概念软件工程目的 通过采用软件工程的方法生产与维护软件,以到达提高软件质量,降低软件生产与维护本钱的目的。软件工程的内容软件开发技术包括开发方法学、软件工具、软件工程环境。软件工程管理包括软件度量、工程估算、进度控制、人员组织、配置管理、工程方案等。软件工程的作用 按照工程化的原那么和方法组织软件的开发工作,是摆脱软件危机的一个主要方法。研究的4个关键因素方法:提供如何构造软件的技术。语言:支持软件的分析、设计与实现。工具:为方法和语言提供自动和半自动的支持。过程:贯穿于软件开发的各个环节。软件开发的本质计算机软件是指计算机系统中的程序、文档以及对应的相关数据。程序:按设计的功能和性能要求执行的指令序列。文档:是为了理解程序所需的阐述性资料;与程序开发、维护和使用有关的图文材料。数据:是支持程序运行的根底数据及数据结构。软件开发本质软件生存周期过程导出软件生存周期模型软件工程生存周期过程支持过程方向(活动与定序)的建立形成软件开发方法学结构化方法面向对象方法面向数据结构方法维也纳开发方法〔VDM〕……给出实现开发过程的途径支持/管理技术与方法作用于软件工程根本知识结构软件开发的本质软件开发的本质
问题域
--客观事物系统概念不同,解决问题的思维逻辑不同-“距离〞操作系统与语言处理系统网络计算机--异构VB、VC--程序设计环境中间件技术与产品应用框架领域软件生产线映射运行〔计算〕平台本质:问题域到不同抽象层之间概念和计算逻辑的映射。例如1:问题空间的概念与解空间的模型化概念之间的映射对象=F〔张三〕〔模型化概念〕〔问题空间的概念〕这是一个抽象的过程-数据抽象.其中,对应的过程:需求分析使用的方法:面向对象方法基于的原理:数据抽象目标:形成计算的客体。例如2:问题空间的处理逻辑与解空间处理逻辑之间的映射加工1〔及相关的数据流〕=F〔计算学生成绩〕
加工1计算学生平均成绩科目+年级/班学生成绩文件学生平均成绩规约后的处理逻辑这是一个抽象的过程-过程抽象
其中:对应的过程:需求分析
使用的方法:结构化方法基于的原理:过程抽象目标:形成一种可构造的计算逻辑。例如3:交互图1=H〔计算学生成绩〕这是一个抽象的过程-行为抽象 其中:对应的过程:需求分析设计 使用的方法:面向对象方法 基于的原理:行为结构抽象 目标:形成一种可构造的计算逻辑.:教务员:教员递交A科学生成绩表A科学生成绩表:教学主任求A科平均A科平均实现映射的根本手段
何谓建立问题的模型:运用所掌握的知识,通过抽象,给出该问题的一个结构。
问题的结构化谱系例如1:y=x²
+5结构化问题非结构化或半结构化问题
建模:是解决问题的一般途径!其中:采用数学作为建模工具
例如:信用卡确认系统的功能模型
建模例如
何谓模型
anyabstractionthatincludesallessentialcapabilities,properties,oraspectsofwhatisbeingmodeledwithoutanyextraneousdetails.Firesmith,Henderson-Sellers
具体地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。问题空间需求-一个抽象层设计-一个抽象层实现-一个抽象层部署-一个抽象层验证/确认-概念模型-设计模型-实现模型-部署模型软件模型问题域
--客观事物系统分层的根本动机是控制开发的复杂性,一个抽象层是由一组确定的术语定义的。软件系统或项的模型分类习题——解释术语软件:软件是指计算机系统中的程序及其文档。P16软件工程:软件工程是应用计算机科学理论和技术以及工程管理原那么和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。P15软件危机:软件生产率、软件质量远远满足不了社会开展的需求,成为社会,经济开展的制约因素,人们通常把这一现象称为“软件危机〞。P15习题——简答题简述软件开发的本质。答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19简述实施软件开发的根本途径。答:实施软件开发的根本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19简述何谓模型以及软件开发中所涉及的模型。答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。P19习题——简答题简述软件开发的本质。答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19简述实施软件开发的根本途径。答:实施软件开发的根本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的系统模型。P19简述何谓模型以及软件开发中所涉及的模型。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于数字化技术的临床实验质量提升研究
- 零售业IT部经理面试问题与解答指南
- 护理层级领导力培养
- DB35-T 2299-2026 美丽园区建设导则
- 儿科学专业就业方向
- 未来职业规划展示方案
- 基于云计算的财务管理系统设计与实施研究
- 激光设备行业供应链分析报告
- 零售业连锁店长职责与任职要求详解
- 联想集团人力资源主管的面试经验
- 2026年北邮全校教职工人工智能素养培训分类分层发展体系
- 失败市场营销案例分析
- 医院保安工作考核制度
- 男科疾病超声治疗应用指南
- 肿瘤终末期患者生活质量评估与提升方案
- 扶贫致富电商培训课件
- 化州介绍教学课件
- 2026年全国中学生天文知识竞赛(中学组)经典试题及答案
- 药店课件教学课件
- 2025年高效能项目管理系统开发项目可行性研究报告
- 建筑项目施工安全检查表含整改措施
评论
0/150
提交评论