- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 软件工程和软件设计.ppt
为什么要学习这门课? 软件工程技术人才:实用型、复合型、软件工程技术人才和软件工程管理人才。 软件产业化生产的需要。 先修课程后继课程 先修课程 计数据结构 面向对象程序设计语言 数据库系统 软件工程 UML统一建模 后继课程 软件质量控制 软件项目管理 课时安排 理论:32学时 1-11周:每周、周一、5-6节 1-10周:双周、周三、1-2节 实验:16学时 3-10周:每周、周四、7-8节? 第1章 软件工程与软件设计 1.1 软件工程 1.2 软件生存周期 1.3 软件开发过程模型 1.4 软件设计 1.5 软件体系结构 1.6 小结 第1章 软件工程与软件设计 以计算机为核心的信息社会 软件是信息化的灵魂 以工程化方法和思想开发软件 软件设计是软件开发过程中的核心活动之一 1.1软件工程 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题 软件设计:计算机软件发展到一定阶段,为了应对软件危机 计算机软件=程序+数据+文档 计算机软件是逻辑和智力产品,不是物理产品 1.1软件工程 软件的应用领域和分类 系统软件 实时软件 嵌入式软件 科学和工程计算软件 事物务理软件 人工智能软件 个人计算机软件 1.1软件工程 软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 即包含两方面的问题: (1)如何开发软件 (2)如何维护软件 软件危机的原因 软件产品生产效率较低 软件供需失衡 用户需求不明确 整个软件开发过程缺乏正确的理论指导 软件产品的规模越来越大 软件产品开发的复杂度越来越高 1.1软件工程 软件工程 软件工程是指导计算机软件开发和维护的工程学科; 将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究; 是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法; 软件工程要素:方法、工具、过程 方法:为软件开发提供了“如何做”的技术,是完成软件工程项目的技术手段 工具:人类在开发软件的活动中智力和体力的扩展和延伸,为软件工程方法提供自动或半自动的软件支持环境 过程:将方法和工具综合起来以达到合理、及时地进行软件开发的目的 1.1软件工程 软件工程的目标和原则 在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可复用性、可适应性、可移植性、可跟踪性并满足用户需求的软件产品。 抽象、信息隐藏、模块化、局部化、一致性、完全性、可验证性 目标 可修改性 有效性 可靠性 可理解性 可维护性 可复用性 可适应性 可移植性 可追踪性 软件工程的原则 抽象 采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性 信息隐蔽 将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。这就是信息封装,使用与实现分离的原则 模块化 如 C 语言程序中的函数过程,C++ 语言程序中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。 软件工程的原则 局部化 要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。这有助于控制解的复杂性 确定性 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。 一致性 整个软件系统的各个模块应使用一致的概念、符号和术语。程序内部接口应保持一致。软件和硬件、操作系统的接口应保持一致。系统规格说明与系统行为应保持一致。用于形式化规格说明的公理系统应保持一致 软件工程的原则 完全性 软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。 可验证性 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。 软件工程的原则 1.2 软件生存周期 Software life cycle 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件定义-软件开发-软件使用和维护 软件定义(系统分析):可行性研究(软件计划)、需求分析 软件开发(系统设计):概要设计、详细设计、软件实现 (编码、单元测试)、软件测试(组装测试、确认测试) 软件使用、维护 退役 软件生存周期 可行性研究 确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究 估计可利用的资源 、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 需求分
您可能关注的文档
最近下载
- 海尔精密空调样册20230310.pdf
- 长沙理工大学大学物理练习册答案(全解)平台原因,预览不清楚,下载后保证可以清楚的阅读.pdf VIP
- 六味和正早餐糊手册内容定稿.pdf VIP
- 主变压器安装监理实施细则.doc VIP
- 海尔水冷磁悬浮样册20241109.pdf
- 安徽—夏凯月—课件—直线的倾斜角与斜率.pptx VIP
- 中级茶艺师操作技能考核评分记录表(20200810075301).pdf VIP
- 中级茶艺师操作技能考核评分学习记录标准表格格.docx VIP
- 中级茶艺师操作技能考核评分记录表.docx VIP
- 中考生物总复习 七上 第1单元 第5章 生物的分类和鉴别教材考点梳理课件 冀教版.pptx VIP
文档评论(0)