




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章信息系统的开发方法 本章要点 了解软件危机产生原因了解软件工程的基本概念了解生命周期法与快速原型法软件设计方法了解面对对象的程序开发思想 第一节软件开发概述 规模较大的软件 结构复杂 逻辑严密 设计工作量大 可靠性要求高 是很不容易开发的往往需要许多人的合作 而且开发费用高 周期长 风险大 为了解决软件开发过程中的预算超支 周期超时 质量低劣 合作开发困难等问题 产生了 软件工程 学 它解决了许多软件开发过程中遇到的困难 1 软件 软件定义 国标中对软件的定义是与计算机系统操作有关的计算机程序 规程 规则 以及可能有的文件 文档及数据 狭义理解 计算机软件是为了实现某一功能或者任务 将计算机指令按照特定的顺序组织起来的集合 软件的特点 1 无形的 没有物理形态 只能通过运行状况来了解功能 特性 和质量2 软件渗透了大量的脑力劳动 人的逻辑思维 智能活动和技术水平是软件产品的关键3 软件不会像硬件一样老化磨损 但存在缺陷维护和技术更新4 软件的开发和运行必须依赖于特定的计算机系统环境 对于硬件有依赖性 为了减少依赖 开发中提出了软件的可移植性5 软件具有可复用性 软件开发出来很容易被复制 从而形成多个副本 2 软件危机 20世纪60年代以前 计算机刚刚投入实际使用 软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制 软件的规模比较小 基本上是个人设计 个人使用 个人操作 自给自足的私人化的软件生产方式 60年代中期 大容量 高速度计算机的出现 使计算机的应用范围迅速扩大 软件开发急剧增长 大量数据处理催生数据库管理系统 软件系统的规模越来越大 复杂程度越来越高 软件可靠性问题也越来越突出 原来的个人设计 个人使用的方式不再能满足要求 迫切需要改变软件生产方式 提高软件生产率 软件危机开始爆发 软件危机产生原因 用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高 软件危机的体现 项目运行超出预算 项目运行超过时间 软件质量低落 软件不符合需求 项目无法管理 且代码难以维护 3 软件工程 软件工程是研究和应用如何以系统性的 规范化的 可定量的过程化方法去开发和维护软件 以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来 软件工程实施的目标 1 适用性 软件在不同的系统约束条件下 使用户需求得到满足的难易程度 2 有效性 软件系统能最有效的利用计算机的时间和空间资源 各种软件无不把系统的时 空开销作为衡量软件质量的一项重要技术指标 很多场合 在追求时间有效性和空间有效性时会发生矛盾 这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性 时 空折衷是经常采用的技巧 3 可修改性 允许对系统进行修改而不增加原系统的复杂性 它支持软件的调试和维护 是一个难以达到的目标 4 可靠性 能防止因概念 设计和结构等方面的不完善造成的软件系统失效 具有挽回因操作不当造成软件系统失效的能力 5 可理解性 系统具有清晰的结构 能直接反映问题的需求 可理解性有助于控制系统软件复杂性 并支持软件的维护 移植或重用 6 可维护性 软件交付使用后 能够对它进行修改 以改正潜伏的错误 改进性能和其它属性 使软件产品适应环境的变化等 软件维护费用在软件开发费用中占有很大的比重 可维护性是软件工程中一项十分重要的目标 7 可重用性 把概念或功能相对独立的一个或一组相关模块定义为一个软部件 可组装在系统的任何位置 降低工作量 8 可移植性 软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度 9 可追踪性 根据软件需求对软件设计 程序进行正向追踪 或根据软件设计 程序对软件需求的逆向追踪的能力 10 可互操作性 多个软件元素相互通信并协同完成任务的能力 软件工程的要点 面向用户 明确目标 划分工作阶段 制定规划 严格复审 检查错误 第二节生命周期法 生命周期法也称结构化系统开发方法 是目前国内外较流行的信息系统开发方法 在系统开发中得到了广泛的应用和推广 尤其在开发复杂的大系统时 显示了无比的优越性 它也是迄今为止开发方法中应用最普遍最成熟的一种 一 生命周期法 定义 根据软件的生命周期将开发过程分为几个阶段 进行软件的分析和设计的方法 基本思想 将软件工程学和系统工程的理论与方法引入计算机会计信息系统的研制开发中 采用结构化 模块化 自顶向下地对系统进行分析和设计 软件生命周期模型 可行性研究 需求分析 概要设计 详细设计 编码 测试 运行维护 计划 开发 运行 优点 阶段划分明确 各个阶段应完成的文档都有明确的规定 软件的开发易于控制 开发成功后的软件易于维护 缺点 1 开发周期长 2 对需求模糊的用户无法展开后续工作 二 结构化生命周期法 优点 及早发现问题并可以回溯缺点 延长开发时间沟通频繁 使系统开发复杂度增加 第三节快速原形法 原型法 Prototyping 是20世纪80年代随着计算机软件技术的发展 特别是在关系数据库系统 RelationalDataBaseSystem RDBS 和各种系统开发生成环境产生的基础上 提出的一种从设计思想 工具 手段都全新的系统开发方法 它摒弃了那种一步步周密细致地调查分析 然后逐步整理出文字档案 最后才能让用户看到结果的繁琐作法 通过快速构建程序的一种设计方法 1 概念 从一个初始信息需求的集合出发 在发展中初步完善信息系统的方法 2 基本思想 在获得用户基本需求的基础上 快速的构造系统工程模型 然后演示这个原型系统 在用户参与的情况下按用户合理而又可行的要求不断地修改这一原型系统 用户提出开发要求 开发原型 使用原型 分析评价 生成文档交付系统 不可行处理 不满意处理 原形法开发过程 22 各阶段任务示意图 物理模型 逻辑模型 物理模型 逻辑模型 源程序 日常运行 调查 分析 设计 程序设计 交付 优点 见效快缺点 整个软件系统没有一个完整地概念 各子系统之间地接口不明确 系统开发文档无法统一 易给以后地维护工作带来隐患 第四节面向对象的程序设计思想 面向对象是一种对现实世界理解和抽象的方法 是计算机编程技术发展到一定阶段后的产物 早期的计算机编程是基于面向过程的方法 例如实现算术运算1 1 2 4 通过设计一个算法就可以解决当时的问题 随着计算机技术的不断提高 计算机被用于解决越来越复杂的问题 一切事物皆对象 通过面向对象的方式 将现实世界的事物抽象成对象 现实世界中的关系抽象成类 继承 帮助人们实现对现实世界的抽象与数字建模 面向过程与面向对象 面向过程是先确定算法然后在确定数据结构 面对对象将算法和数据结构放在一起先构建对象模型 对对象模型进行整体设计 1 对象 对象是人们要进行研究的任何事物 从最简单的整数到复杂的飞机等均可看作对象 它不仅能表示具体的事物 还能表示抽象的规则 计划或事件 属性 状态 对对象的形态的描述方法 行为 对对象进行的操作 2 类 类是具有相同类型的对象的抽象 一个对象所包含的所有数据和代码可以通过类来构造 类是对象的模板对象是类的抽象 3 面对对象的三个特征 封装 封装是将数据与代码捆绑在一起避免外界干扰和不确定性 如电视机中有很多零件 但我们只要对遥控器进行简单操作便可以实现对电视机操作 继承 继承是让某些对象获得另外对象的特征 多态 多态表示不同事物具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院认同感建设与管理体系
- 医学学硕文献汇报
- 中医医院入职介绍
- 医院青年安全生产示范岗建设方案
- 医院感染防控管理体系构建
- 2025年数字电路的功能测试项目提案报告模板
- 医院计算机维护体系构建
- 药物性皮炎诊断与鉴别诊断
- 汽车与交通设备行业2025年汽车轻量化车身设计创新趋势研究报告
- 职业技能培训在2025年乡村振兴中的创新与实践案例研究
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 市卫生健康信息化项目建设方案
- 我的家乡日喀则(教学设计)-2024-2025学年湘艺版(2012)音乐四年级上册
- 点卡售卖合同协议
- 【百享|新华教育集团x百度】生成式AI助力新华教育突破效果桎梏
- 中餐厅新员工入职培训大纲
- 电厂氨站泄漏应急演练方案
- 2025年自来水净水工试题及答案
- 建筑劳务公司合同
- 68.中度盐碱地玉米膜下滴灌种植技术规程-编制说明
- 2019北师大版高中英语选择性必修一-四课文翻译(全册精校)
评论
0/150
提交评论