软件工程 绪论.ppt_第1页
软件工程 绪论.ppt_第2页
软件工程 绪论.ppt_第3页
软件工程 绪论.ppt_第4页
软件工程 绪论.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程第一讲绪论朱建凯 前言 上课安排总课时数 56学时授课学时 36学时实验学时 20学时考核安排期末考试占60 不完全是教材上内容 实验成绩占20 平时出勤占10 作业情况占10 实验安排共有四个环节 需求 设计 编码 测试 教材介绍清华版 软件工程导论 第五版 北大版 软件工程 第三版 机械版 软件工程 IanSommerville 第八版 网页介绍http www sei cmu edu SoftwareEngineeringInstituteofCarnegieMellonUniversity 本次课我们要学习的内容 为什么需要软件工程 软件工程学科的历史 了解 什么是软件工程 重点 什么是软件开发的本质 重点 什么是模型 什么叫模型化 重点 什么是软件工程方法学 其三个重要的组成部分 重点 迄今为止 计算机系统已经经历了4个不同的发展阶段 60年代前 定制 至70年代 作坊 至80年代 微处理器 至现在 网络 但是 我们仍然没有彻底摆脱 软件危机 的困扰 软件已经成为限制计算机系统发展的瓶颈 为了更有效地开发与维护软件 软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径 从而逐渐形成了一门新兴的工程学科 计算机软件工程学 通常简称为软件工程 1 软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 概括地说 软件危机包含下述两方面的问题 如何开发软件 以满足对软件日益增长的需求 如何维护数量不断膨胀的已有软件 1 1软件工程概念的提出与发展 在软件开发和维护的过程中存在这么多严重问题 一方面与软件本身的特点有关 另一方面也和软件开发与维护的方法不正确有关 软件缺乏 可见性 软件在运行过程中不会因为使用时间过长而被 用坏 规模庞大 程序复杂 更重要的是必须有严格而科学的管理 对软件开发和维护还有不少糊涂观念 在实践过程中或多或少地采用了错误的方法和技术 这可能是使软件问题发展成软件危机的主要原因 软件就是编程序 需求的把握 生命周期 软件配置 轻视维护工作 这是一个观念问题 特别是在目前国内现在的环境 据统计 维护费用要占到总费用的55 70 数据来自清华版教材 图0 1引入同一变动付出的代价随时间变化的趋势 2 软件工程概念软件工程是应用计算机科学理论和技术以及工程管理原理和方法 按预算和进度实现满足用户要求的软件产品的工程 或以此为研究对象的学科 采用工程的原理 原则和方法来开发与维护软件 把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来 以经济地开发出高质量的软件并有效地维护它 这就是软件工程 思考 计算机科学与软件工程 计算机系统工程 软件工程的适用范围和研究意义 软件工程的发展大体划分为两个阶段 主要围绕软件项目 开展有关开发模型 开发方法和支持工具的研究 主要围绕软件工程过程的支持 针对有关软件生产技术 特别是软件复用技术和软件生产管理方面的研究 休息一下 计算机软件是指计算机系统中的程序 文档以及对应的相关数据 程序 计算机任务的处理对象和规则的描述 文档 是为了理解程序所需的阐述性资料 数据 是支持程序运行的基础数据及数据结构 1 2软件开发的本质 软件开发的本质是什么 软件开发的本质 问题域 客观事物系统 概念不同 解决问题的思维逻辑不同 距离 操作系统与语言处理系统 网络计算机 异构 VB VC 程序设计环境 中间件技术与产品 应用框架 领域软件生产线 映射 运行 计算 平台 本质 问题域到不同抽象层之间概念和计算逻辑的映射 例如1 问题空间的概念与解空间的模型化概念之间的映射对象 F 张山 模型化概念 问题空间的概念 这是一个抽象的过程 数据抽象 其中 对应的过程 需求分析使用的方法 面向对象方法基于的原理 数据抽象目标 形成计算的客体 例如2 问题空间的处理逻辑与解空间处理逻辑之间的映射加工1 及相关的数据流 F 计算学生成绩 加工1计算学生平均成绩 科目 年级 班 学生成绩文件 学生平均成绩 规约后的处理逻辑 这也是一个抽象的过程 过程抽象其中 对应的过程 需求分析 使用的方法 结构化方法 基于的原理 过程抽象目标 形成一种可构造的计算逻辑 例如3 交互图1 H 计算学生成绩 其中 对应的过程 需求分析设计使用的方法 面向对象方法基于的原理 行为结构抽象 简称行为抽象 目标 形成一种可构造的计算逻辑 教务员 教员 递交A科学生成绩表 A科学生成绩表 教学主任 求A科平均 A科平均 2实现映射的基本手段何谓建立问题的模型 运用所掌握的知识 通过抽象 给出该问题的一个结构 问题的结构化谱系例如1 y x 5 结构化问题 非结构化或半结构化问题 建模 是解决问题的一般途径 其中 采用数学作为建模工具 例如2 信用卡确认系统的功能模型 财务结算机构 负责信用卡帐户的结算服务 零售机构 顾客通过该机构刷卡 购买商品或服务 其中 采用UML作为建模工具 何谓模型具体地说 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述 通常包含对该系统边界的描述 给出系统内各模型元素以及它们之间的语义关系 问题空间 需求 一个抽象层 设计 一个抽象层 实现 一个抽象层 部署 一个抽象层 验证 确认 3软件系统或项的模型分类 概念模型 设计模型 实现模型 部署模型 软件模型 问题域 客观事物系统 分层的基本动机是控制开发的复杂性 一个抽象层是由一组确定的术语定义的 软件工程包括技术和管理两方面的内容 是技术与管理紧密结合所形成的工程学科 管理就是通过计划 组织和控制等一系列活动 合理地配置和使用各种资源 以达到既定目标的过程 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学 methodology 也称为范型 paradigm 在软件工程领域中 这两个术语的含义基本相同 1 3软件工程方法学 软件工程方法学包含3个要素 方法 工具和过程 方法是完成软件开发的各项任务的技术方法 回答 怎样做 的问题 工具是为运用方法而提供的自动的或半自动的软件工程支撑环境 过程是为了获得高质量的软件所需要完成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论