1、学习软件工程的过程的学习【摘要】:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发系统系统平台,标准方面。在现代科学发展中软件应用的范围越来越广。一款软件的黄金寿命有线。而大家主要玩的是软件。苹果的手机卖得很贵的一个原因是因为它的软件。大家玩的就苹果的软件和知识产权。关键词:软件工程、学习、学习心得【正文】1)我们专业是软件服务外包。这学期的学习课程有数据结构、java 语言、软件服务外包与软件企业成长、CMM 体系还有软件工程。而这些学科是辅助软件工程开发项目的条件。2)软件是一种特殊的产品,认们通常看到的是它的载体,而真正具
2、有意义的是载体上的计算机或信息软件既不同于通常的精神产品,也不同于常见的物质产品。作家的作品是一种精神产品,它没有使用价值却可以供人阅读欣赏。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码一、明确目的1 我们要明确说明是软件工程。它的实质,还有他包含的内容。软工程包括的几个方面。3)可靠性:明确对系统进行修改而不增加原系统的复杂性4)有效性:系 统 能 最 有 效 地 利 用 计 算 机 的 时 间 资 源 和 空 间 资 源5)可 靠 性 : 能 防 止 因 概 念 、 设 计 和 结 构 等 方 面 的 不 完 善 造 成 的 软 件 系 统 失效 , 具 有
3、挽 回 因 操 作 不 当 造 成 软 件 系 统 失 效 的 能 力 。6)可理解性:可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。二、软件开发的过程1)软件工程的 7 条原理用 分 阶 段 的 生 命 周 期 计 划 严 格 管 理 、 坚 持 进 行 阶 段 评 审 、 实 行 严 格 的产 品 控 制 、 采 纳 现 代 程 序 设 计 技 术 、 结 果 应 能 清 楚 地 审 查 、 开 发 小 组 的 人员 应 少 而 精 、 承 认 不 断 改 进 软 件 工 程 实 践 的 必 要 性 【 1】用 分 阶 段 的 生 命 周 期 计 划 严 格 管 理 。
4、 应 该 把 软 件 生 命 周 期 分 成 若 干 阶段 , 并 相 应 制 定 出 切 实 可 行 的 计 划 , 然 后 严 格 按 照 计 划 对 软 件 的 开 发 和 维 护进 行 管 理 。 玻 姆 认 为 , 在 整 个 软 件 生 命 周 期 中 应 指 定 并 严 格 执 行 6 类 计 划 :项 目 概 要 计 划 、 计 划 、 项 目 控 制 计 划 、 产 品 控 制 计 划 、 验 证 计 划 、 运 行 维 护计 划 。实 施 严 格 的 产 品 控 制 。 当 需 求 变 动 时 , 其 它 各 个 阶 段 的 文 档 或 代 码 随 之 相应 变 动 , 以
5、 保 证 软 件 的 一 致 性 。 开 发 人 员 的 素 质 和 数 量 是 影 响 软 件 质 量 和 开发 效 率 的 重 要 因 素 , 应 该 少 而 精 。2)软件过程的目标、在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 【2】3 软件上的的生存周期1 可行性研究:根据用户提出的工程项目的性质、目标和规模,进一步了解用户的要求及现有的环境及条件,从技术、经济和社会等多方面研究并论证该项目的可行性。2 需
6、求分析: 任务是用户对软件的功能需要,指定系统必须提供的服务。通过需求分析,指定出相应的性能。还包括可靠性、可用性、出错处理需求、接口需求等。尽可能的明确当前系统的系统开发范畴。3 概要设计:概要设计建立的是目标系统的逻辑模型,与计算机无关。 概 要 设 计 有 多 种 方 法 。 在 早 期 有 模 块 化 方 法 、 功 能 分 解 方 法 ; 在 60 年 代 后期 提 出 了 面 向 数 据 流 和 面 向 数 据 结 构 的 设 计 方 法 ; 近 年 来 又 提 出 面 向 对 象的 设 计 方 法 等 。4 详细设计:详 细 设 计 的 工 具 包 括 图 形 工 具 、 表 格
7、 工 具 、 语 言 工 具 等 来辅 助 详 细 设 计 文 档 。 概 要 设 计 是 详 细 设 计 的 基 础 , 必 须 在 详 细 设5 实现:是对软件文档变成计算机表现形式。编码的主要任务是根据详细设计规格说明,用某种选定的程序设计语言把详细设计的结果转化为机器可运行的源程序模块,这是一个编程和调试程序的过程。6 组装测试:测试系统各模块间的连接是否正确,系统或子系统的正确处理能力、容错能力、输入/输出处理是否达到要求。7 验收测试:按照验收测试计划和准则对软件系统进行测试,看其是否达到了需求规格说明中定义的全部功能和性能等方面的需求。8 使用与维护:,软件在使用的过程中,应及时
8、收集被发现的软件错误,并定期撰写“软件问题报告三、学习要求1、老师要求掌握软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法, 能用软件工程的方法参与软件项目的分析、设计、实现和维护, 为更深入地学习和今后从事软件工程的实践打下良好的基础。按 5 个人一个小组。进行项目开发。做自己的软件,编写自己的文档。完成论文。2 个人对软件工程的看法20 世纪末开始流行的 Internet 给人们提供了一种全球范围的信息基础设施,形成了一个资源丰富的计算平台,未来如何在 Internet 平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软
9、件技术的研究热点。Internet 平台具有一些传统软件平台不具备的特征:分布性、节点的高度自治性、开放性、异构性、不可预测性、测试系统各模块间的连接是否正确,系统或子系统的正确处理能力、容错能力、输入/输出处理是否达到要求。连接环境的多样性等。这对软件工程的发展提出了新的问题。软件工程需要新的理论、方法和技术和平台来应对这个问题。目前投入很大精力研究的中间件技术就是这方面的典型代表。综上所述,Internet 及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有可能建立一套适合于 Internet 开放、动态和多变环境的新型软件理论、方法和技术体系。从微观的角度来看,Internet 的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破【1】 Xx 老师课件【2】 软件工程与实践