1 / 28

软件工程

软件工程. 任课教师:程丽 计算机与信息学院. 软件工程. 教师 程丽 学时 总学时 50 (上课 + 自学) 联系方式 phone: 13235900702 E-mail: chengli6607@sina.com. 教材及答疑. 使用教材 《 软件工程 》 第二版 邓良松 刘海岩 陆丽娜 编著,西安电子科技大学出版社 答疑 电话或者电子邮件答疑. 主要教学内容 ( 一 ). 第一章 绪论 第二章 软件要求定义 第三章 软件设计 第四章 软件编码 第五章 软件测试 第六章 软件维护 第七章 增量模型

Télécharger la présentation

软件工程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 软件工程 任课教师:程丽 计算机与信息学院

  2. 软件工程 • 教师 • 程丽 • 学时 • 总学时50 (上课+自学) • 联系方式 • phone: 13235900702 • E-mail: chengli6607@sina.com

  3. 教材及答疑 • 使用教材 • 《软件工程》第二版 邓良松 刘海岩 陆丽娜 编著,西安电子科技大学出版社 • 答疑 • 电话或者电子邮件答疑

  4. 主要教学内容(一) 第一章 绪论 第二章 软件要求定义 第三章 软件设计 第四章 软件编码 第五章 软件测试 第六章 软件维护 第七章 增量模型 第八章 结构化方法

  5. 主要教学内容(二) 第九章 面向对象基础 第十章 面向对象的Coad方法 第十一章 面向对象的OMT方法 第十二章 统一建模语言UML 第十三章 统一软件开发过程 第十四章 软件质量的评价和保证 第十五章 软件工程管理技术 第十六章 软件工程环境

  6. 作业和考试 • 作业 (10%) • 课程设计(10%) • 考试 (80%) 期末,闭卷考试

  7. 第一章 绪 论 • 主要内容 • 软件工程的产生 • 软件工程过程和软件生存周期 • 软件生存周期模型 • 软件开发方法 • 软件开发工具

  8. 第一章 绪 论 • 课程的任务、目的和基本要求 • 了解软件工程的产生 • 理解软件工程过程和软件生存周期 • 了解软件生存周期模型 • 了解软件开发方法 • 了解软件开发工具

  9. 1.1 软件工程的产生 一.软件工程产生的背景 • 什么是软件 • “软件”一词出现于20世纪60年代 • 是计算机程序及其说明程序的各种文档 • 软件的发展 程序设计 程序系统 软件工程时代 1946年 1956年 1968年 至今

  10. 3.软件发展各阶段的特点

  11. 4.软件危机的产生及其特征 硬件发展遵循摩尔定理,每18个月芯片的性能与速度均提高一倍,而软件开发技术远远落后于硬件的发展,两者的差别加剧了矛盾的产生,导致软件危机,具体表现在: • 软件开发缺少量化标准,造成预算突破,完成时间一再拖延 • 软件开发人员对用户领域知识以及工作环节的理解与实际情况之间产生的差别导致软件难以满足用户要求 • 软件开发没有统一规范,造成维护性差 • 软件开发没有质量体系和措施做保证,造成可靠性差

  12. 二. 软件工程 • 软件工程伴随着软件危机应运而生 • 它是用科学知识和技术原理来定义、开发、维护软件的一门学科,它的出现让软件生产科学化、规范化 • 由于软件生产涉及费用估算、项目管理、模型建立,因此它是一门涵盖计算机学、工程学、管理学、数学的综合性交叉学科

  13. 1.2 软件工程过程和软件生存周期 一.软件工程过程 软件工程借用工程化的思想,包含以下七个过程 • 管理过程: 项目范围定义、制定计划方案、评审、验收 • 开发过程: 定义和开发软件或服务的活动过程 • 供应过程: 开发商为用户提供产品的过程 • 获取过程: 用户从开发商取得产品的过程 • 操作过程: 用户对产品的使用过程 • 维护过程: 开发商、用户对产品的维护过程 • 支持过程: 来自于开发商、用户的支持

  14. 二. 软件生存周期 • 定义 • 一个软件从提出开发要求直到它报废为止的整个周期 • 内容 • 可行性研究和项目开发计划 • 根据开发要求确定项目性质、目标、规模,探索开发的必要性以及解决问题的办法,做出费用估算、实施计划 • 需求分析 • 系统分析人员深入现场, 与用户沟通、交流,熟悉业务流程,取得第一手资料,分析功能需求

  15. 概要设计 • 将功能需求转化为功能模块体系结构,确定总体数据结构和数据库结构 • 详细设计 • 对模块的功能进行详细描述,给出控制结构 • 编码 • 将模块的控制结构转换成计算机接受的程序代码 • 测试 • 利用测试用例检验软件效果 • 维护 • 软件功能完善、功能扩展

  16. 三. 软件生存周期模型 1.定义 描述软件开发过程中如何执行各种活动 2.分类 • 瀑布模型 • 增量模型 • 螺旋模型 • 喷泉模型 • 变换模型 • 基于知识的模型 • 统一过程

  17. 3.瀑布模型 模型

  18. 特点: ·以文档形式驱动 • ·以里程碑开发原则为基础 • ·是一种整体开发模型 • ·适合功能和性能明确、完整、无重大变化的软件开发 局限性: ·灵活性很差,使用后才能发现问题,进行修改和返工

  19. 4.增量模型 部分开发,部分展示 是一种非整体开发模型 主要功能部分整体开发,整体展示 特点::适合软件需求不明确,设计方案有一定风险的项目

  20. 5.螺旋模型 • 特点 ·是一种风险驱动模型 ·取增量模型增量的特点,将开发过程分为几个螺旋周期 ·每个周期取瀑布模型顺序开发的特点 • 螺旋周期 ·用户概念:用户概念级需求 ·软件需求:定义不确定因素 ·软件设计:确定性能和用户接口 ·软件实现:程序开发或接口控制 • 螺旋周期的步骤 ·确定目标、方案和限制条件 ·评估方案、标识风险和解决风险 ·开发确认产品 ·计划下一周期工作

  21. 6.喷泉模型 喷泉模型 以水为驱动 以对象为驱动 以形成喷泉为动力 以用户需求为动力 形成一支水柱 、一束喷泉 包括对象实现/系统实现 分起步、上升、实现 包括分析、系统设计、软件设计、实现 界线不清晰 各阶段相互重叠

  22. 7.基于知识的模型 组成:瀑布模型+专家系统 特点:需求说明更完整、准确、无二义性 有助于设计与开发 模型建立困难

  23. 8.变换模型 特点: • 适合形式化开发方法 • 需要严格的数学理论和形式化技术支持 • 处于手工处理方式 • 对软件开发人员要求较高 • 尚处于研究和实验阶段

  24. 9.统一过程 • 基于统一建模语言 • 以构架为中心,把用例、风险作为驱动,采用迭代和增量的软件开发过程 • 统一过程=循环周期1+循环周期2+…+循环周期n 循环周期=(初始+细化+构造+移交)阶段 每个阶段=迭代1+迭代2+…迭代n 每次迭代=(需求捕获+分析+设计+实现+测试)工作流

  25. 四.软件开发方法 使用定义好的技术集及符号表示组织软件生产过程的方法,包括 • 结构化方法:面向数据流的开发方法 • Jackson方法:面向数据结构的开发方法 • 维也纳开发方法:形式化开发方法 • 面向对象的开发方法

  26. 五.软件开发工具 支持软件人员开发和维护活动而使用的软件 • 发展过程: 孤立单一的工具 → 工具组装成工具箱 → 计算机辅助软件工程CASE • 工具箱的缺点: 界面不统一、工具之间无联系,使用不方便 • CASE特点 全方位收集生存周期各环节信息、支持各阶段工作、使用图形功能说明软件系统并建立文档

  27. 六.开发工作中技术配合原则

  28. 本章作业 教材第20页3、4、5题

More Related