1.3 软件工程方法学

1.3.1 软件工程的基本概念

  • 软件工程是一门指导计算机软件进行开发和维护的工程学科,是一门综合性的学科,涉及计算机科学、工程科学、管理科学、数学等多学科,研究范围广泛,主要研究如何引用软件开发的科学理论和工程技术来知道大型软件系统的开发。
  • Fritz Bauer曾为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”
  • 1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法。”,其中,“软件”的定义为:计算机程序、方法、规则相关的文档资料以及在计算机上运行时所必须的数据。
  • 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义。目前比较认可的一种定义:
    • 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
    • 主要思想都是强调在软件开发过程中需要应用工程化原则的重要性。
  • 软件方法是指导研制软件的某种标准规程,它告诉人们“什么时候做什么以及怎样做”。
    • 由于软件研制过程相当复杂,设计的因素很多,所以各种软件方法又有不同程度的灵活性和试探性。
    • 一般来说,一个软件方法往往规定了明确的工作步骤、具体的描述方法以及确定的评价标准。

1. 明确的工作步骤

  • 研制一个软件系统要考虑并解决许多问题,如果同时处理这些问题,将会束手无策或造成混乱。
  • 正确的方式是将这样的问题拍好先后次序,每一步集中精力解决一个问题。
  • 像为加工机械产品规定一道道工序那样,软件方法也提出了处理问题的基本步骤,这包括每一步的目的、生产的工作结果、需具备的条件以及要注意的问题等。

2. 具体的描述方式

  • 工程化生产必须强调文档,即没人必须将每一步的工作结果以一定的书面形式记录下来,以保证开发人员之间有效地进行交流,也有利于维护工作的顺利进行。
  • 软件方法规定了描述软件产品的格式,这包括每一步应产生什么文档、文档中记录哪些内容、采用哪些图形和符号等。

3. 确定的评价标准

  • 对于同一个问题,其解决方案往往不是唯一的,选取哪一个方案比较好呢?
  • 有些软件方法提出了比较确定的评价标准,因而可以指导人们对各个具体方案进行评价,并从中选取一个较好的方案。

1.3.2 软件工程的要素

软件工程包含三个要素:方法、工具和过程

  • 软件工程的方法为软件开发提供了“如何做”的技术,是指导研制软件的某种标准规范
    • 它包括多方面的任务,如项目计划与估算,软件系统需求分析,数据结构
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文名: 软件工程 作者: 曾强聪 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 9787040157437发行时间: 2004年11月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本书是普通高等教育“十五”国家级规划教材。具有结构严谨、概念清晰、内容紧凑,深入浅出、突出实用、便于自学等特点。 全书内容紧凑,深入浅出。全书共10章正文,以软件生命周期为主线,主要内容包括:软件工程概论、软件工程过程模型、项目分析与规划、软件需求分析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、软件测试、软件维护。附录部分包括软件文档管理规范和软件文档格式。 本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用,还可供本科院校、计算机专业人员和爱好者参考使用,并可用作软件技术人员资格(水平)考试的培训教材。 目录: 第1章 软件工程概述 1.1 软件 1.1.1 软件特点 1.1.2软件分类 1.1.3软件发展历程 1.2软件危机 1.2.1软件危机现象 1.2.2产生软件危机的原因 1.3软件工程 1.3.1软件工程概念 1.3.2软件工程技术 1.3.3软件工程管理 1.3.4软件工程基本原则 1.3.5软件工程目标 1.3.6软件工程文化 小结 习题 第2章软件工程过程模型 2.1软件生命周期 2.1.1软件定义期 2.1.2软件开发期 2.1.3软件运行与维护期 2.2瀑布模型 2.2.1瀑布模型的特点 2.2.2瀑布模型的作用 2.2.3带有信息反馈环的瀑布模型 2.2.4瀑布模型的局限 2.3原型模型 2.3.1快速原型方法 2.3.2原型进化模型 2.4增量模型 2.4.1 增量 2.4.2增量模型的作用 2.5螺旋模型 2.6喷泉模型 2.7组件复用模型 小结 习题 第3章项目分析与规划 3.1计算机系统分析 3.1.1计算机系统 3.1.2系统分析方法 3.1.3建立系统模型 3.2项目可行性分析 3.2.1 可行性分析意义 3.2.2可行性分析内容 3.2.3可行性分析过程 3.3项目成本效益分析 3.3.1项目成本估算 3.3.2项目效益分析 3.4项目规划 3.4.1项目开发计划 3.4.2项目进度表 小结 习题 第4章软件需求分析 4.1需求分析的任务 4.1.1用户需求 4.1.2系统需求 4.2需求分析过程 4.3用户需求获取 4.3.1研究用户 413.2从调查中获取用户需求 4.3.3通过原型完善用户需求 4.3.4用户需求陈述 4.4结构化分析建模 4.4.1功能层次模型 4.4.2数据流模型(DFD图) 4.4.3数据关系模型(ER图) 4.4.4系统状态模型 4.5需求有效性验证 4.5.1需求验证内容 4.5.2需求验证方法 4.6需求规格定义 小结 习题 第5章软件概要设计 5.1概要设计过程与任务 5.1.1 设计过程 5.1.2设计任务 5.2系统构架设计 5.2.1集中式结构 5.2.2客户机/服务器结构 5.2.3 多层客户机/月艮务器结构 5.2.4组件对象分布式结构 5.3软件结构设计 5.3.1模块概念 5.3.2模块的独立性 5.3.3结构化设计建模 5.3.4软件结构优化 5.4面向数据流的结构设计 5.4.1变换流分析与设计 5.4.2事务流分析与设计 5.4.3混合流分析与设计 5.4.4 设计举例 5.5数据库结构设计 5.5.1逻辑结构设计 5.5.2物理结构设计 小结 习题 第6章面向对象分析与设计 6.1 面向对象方法学 6.1.1面向对象方法的基本概念 6.1.2面向对象方法具有的优越性 6.1.3 UML建模方法 6.2 面向对象分析建模 6.2.1 用例图 6.2.2 活动图 6.2.3 分析类图 6.2.4序列图 6.3面向对象设计建模 6.3.1 设计类图 6.3.2协作图 6.3.3状态图 6.3.4构件图 6.3.5部署图 小结 习题 第7章用户界面设计 7.1用户界面设计过程 7.2界面设计中需要考虑的因素 7.3界面类型 7.3.1单窗体界面(SDI) 7.3.2多窗体界面(MDI) 7.3.3辅助窗体 7.3.4 Web页面 7.4 界面功能特征 7.4.1 用户交互 7.4.2 信息表示 7.4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值