关于软件工程学的理解认识

关于软件工程学的理解认识

摘要: 随着计算机应用的日益广泛,计算机软件的开发、维护工作越来越重要。如何使学生更好的掌握软件开发技术,开发和维护软件,提高软件开发过程的效率和质量,成为高校教师不断摸索和探求重点问题。

abstract: with the increasingly wide application of

computer, development and maintenance work for computer software become more and more important. how to make students better grasp the software development technology, develop and maintenance the software, and improve the efficiency and quality of the software development process becomes a key issue that need college teacher constantly fumble and explore. 关键词: 软件工程;可行性;开发;研究

key words: software engineering;feasibility;development;research

中图分类号:tp31 文献标识码:a 文章编号:1006-4311(2013)05-0191-02

1 软件工程学介绍

1.1 传统方法学 软件工程传统方法学也成结构化方法,采用结构化技术培养,包括结构化分析、结构化设计和结构化程序设计,来完成软件任务的开发完成。软件工程传统方法学把软件开发工作划分成若干个阶段,顺序完成各阶段的任务,每个阶段的开始和和结

束都有严格的标准,每个阶段结束时要进行严格的技术审查和管理复审。传统方法学先确定软件功能,在对功能进行分解,确定怎样开发软件,然后再实现软件功能。

1.2 面向对象方法学 面向对象方法学把对象作为数据和数据上的操作相结合的软件构件。用对象分解取代了传统方法学的功能分解。把所有对象都划分成类,把若干相关的类组织成具有层次结构的系统,下层的类继承上层的类所定义的属性和服务。对象之间通过发送消息相互联系。使用面向对象方法开发软件时,可以重复使用对象和类等软件构件,从而降低了软件开发成本。

2 软件工程的基本原理

2.1 用分阶段的生命周期计划进行严格的管理 一个软件产品的生命周期可划分为若干个互相区别而又有联系的阶段。把整个软件生命周期划分为若干个阶段,赋予每个阶段相对应独立的任务,逐步完成每个阶段的任务。这样既能简化每个阶段的工作,便于确立系统开发计划,还可明确软件工程各类开发人员的职责范围,以便分工协作,共同保证质量。

2.2 坚持进行阶段评审 每个阶段都要进行严格的复审,进行不断的停工或返工,实现软件生产工程化。软件过程必须科学、合理才能获得高质量的软件产品。每个阶段的工作均以前一阶段的结果为依据,并作为下一阶段的前提。从技术审查和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,应防止到开发结束

时,才发现先期工作中存在的问题,造成不可挽回的损失和浪费。

2.3 实行严格的产品控制 软件的不可见性是软件产品的固有特点之一。与硬件产品不同,软件是计算机系统中的逻辑部件。软件开发过程中,在程序代码运行之前,开发工作的质量和进度均难以度量。最终软件产品的使用价值是在软件运行过程中体现出来的。软件产品故障隐蔽性强,可靠性难以度量,对原有故障的修改又可能导致新的错误。为了保证软件能够充分满足用户的要求,从而进行有计划、有组织的活动。

2.4 采用现代程序设计技术 根据软件生产工程化的需要,开发软件所用语言也多种多样。软件质量是软件的生命,它直接影响软件的使用与维护。软件的质量因素很多,如正确性、可靠性、可使用性、效率、完整性、可维护性、可测试性、灵活性、可移植性、可复用性、互联性等。这就要求软件开发人员多重运用现代程序设计技术,与时俱进。

2.5 软件工程结果应能清楚地审查 各阶段的任务彼此间应尽可能相对独立,这样便于逐步完成每个阶段的任务,能够简化每个阶段的工作,容易确立系统开发计划。与此同时,同一阶段的工作任务性质尽可能相同。这样有利于软件工程的开发和组织管理,明确系统各方面开发人员的分工与职责范围,以便协同工作,保证质量。

2.6 开发小组的人员应该少而精 为了使开发项目能在规定的时间内、不超过预算的情况下完成,成本预算和严格的管理控制就不可能被忽视,而开发小组人员成为项目成本预算中主要参数。开发小组成员主要包括:主程序员、辅助程序员、程序管理员等。软件

开发和测试的过程中每一步都需要不同的人员进行,但考虑到大批量的人员投入又增加了各环节中的通用规则造成很多不必要的了解和浪费,并且在软件开发过程中有一定的时效性,开发过程需要循序渐进不能同时进行。从软件精准度角度和成本节约角度分析,开发小组人员适合精准定位工作职能又达到重复利用以降低成本等。比如软件开发第一阶段的小组人员可以同时兼顾第二阶段测试人员,第二阶段软件开发人员成为第一阶段测试和后期安全测试人员等。

3 软件开发过程介绍

3.1 可行性研究与软件开发计划 可行性研究主要从技术、经济、社会因素、软件开发风险等方面进行,并写出软件工程项目的可行性研究报告。对软件进行技术可行性、经济可行性方面具体分析。在支出、收益、收益/投资比、投资回收周期、敏感度分析等方面和社会因素方面包括法律方面的可行性和用户方面的可行性方面进行研究。

软件开发计划主要包括软件工程项目计划和软件工程实施计划。

3.2 需求分析 需求分析是发现、逐步求精、建模、规格说明和复审的过程。发现,是尽可能准确地了解用户当前的情况和需要解决的问题。逐步求精是对用户突出的要求反复多次的细化,得出对系统完整、准确、具体的要求。结构化分析实质上是一种创建模型的活动。建立模型是描述用户需求,定义需求,用以验收产品。可建立数据模型、功能模型和行为模型。

3.3 概要设计 概要设计的基本任务是以可行性研究报告和需求分析规格说明书作为设计的基础,确定模块结构、数据文件结构、系统接口设计和测试方案策略,编写概要设计说明书、用户手册和测试计划。软件设计的基本原理是抽象、逐步求精、模块化、信息隐蔽。

3.4 详细设计 过程设计应在数据设计、概要设计、接口设计完成之后进行,它是详细设计阶段应完成的主要任务。过程设计不是具体地编写程序,二十逻辑上设计正确实现每个模块功能的处理过程。过程设计应尽可能简明易懂。用户界面设计的质量直接影响用户对软件产品的评价,应对用户界面设计给予足够的重视。

3.5 软件实现 进入软件实现阶段必不可少的就是软件测试。软件测试方案的基本目标是,选用尽可能少的高效测试数据,做到尽可能完善的测试,从而尽可能多的发现软件中的错误。软件调试是查找、分析和纠正程序中错误的过程。调试不仅是将测试发现的软件错误及时改正。调试首先要确定错误的位置,改错应尽量避免引进新的错误。在软件开发过程结束时,还要对所有开发的软件进行评价,以确定它是否和软件需求相一致的过程。

3.6 软件维护 软件维护就是软件产品交付之后对其进行修改,以纠正错误,或改进性能和其他属性,或使产品适应新的环境。软件可维护性就是维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。在软件开发时,明确目标、考虑软件的维护问题是必须的、重要的。

4 总结

软件产品的固有特点之二是软件的规模与逻辑复杂性。现代的软件产品往往规模庞大,功能多种多样、逻辑结构十分复杂。从软件开发管理角度看,软件生产率常随软件规模和复杂性的增加而下降。软件开发人员主要是掌握正确的软件开发方法,对软件的开发与维护进行科学的原理开发,使其在工程领域中能得到较好的运用。

参考文献:

[1]邓良松,刘海岩,陆丽娜.软件工程.西安:西安电子科技大学出版社,2004.

[2]陆惠恩.实用软件工程(第二版).北京:清华大学出版社,2009.

关于软件工程学的理解认识

摘要: 随着计算机应用的日益广泛,计算机软件的开发、维护工作越来越重要。如何使学生更好的掌握软件开发技术,开发和维护软件,提高软件开发过程的效率和质量,成为高校教师不断摸索和探求重点问题。

abstract: with the increasingly wide application of

computer, development and maintenance work for computer software become more and more important. how to make students better grasp the software development technology, develop and maintenance the software, and improve the efficiency and quality of the software development process becomes a key issue that need college teacher constantly fumble and explore. 关键词: 软件工程;可行性;开发;研究

key words: software engineering;feasibility;development;research

中图分类号:tp31 文献标识码:a 文章编号:1006-4311(2013)05-0191-02

1 软件工程学介绍

1.1 传统方法学 软件工程传统方法学也成结构化方法,采用结构化技术培养,包括结构化分析、结构化设计和结构化程序设计,来完成软件任务的开发完成。软件工程传统方法学把软件开发工作划分成若干个阶段,顺序完成各阶段的任务,每个阶段的开始和和结

束都有严格的标准,每个阶段结束时要进行严格的技术审查和管理复审。传统方法学先确定软件功能,在对功能进行分解,确定怎样开发软件,然后再实现软件功能。

1.2 面向对象方法学 面向对象方法学把对象作为数据和数据上的操作相结合的软件构件。用对象分解取代了传统方法学的功能分解。把所有对象都划分成类,把若干相关的类组织成具有层次结构的系统,下层的类继承上层的类所定义的属性和服务。对象之间通过发送消息相互联系。使用面向对象方法开发软件时,可以重复使用对象和类等软件构件,从而降低了软件开发成本。

2 软件工程的基本原理

2.1 用分阶段的生命周期计划进行严格的管理 一个软件产品的生命周期可划分为若干个互相区别而又有联系的阶段。把整个软件生命周期划分为若干个阶段,赋予每个阶段相对应独立的任务,逐步完成每个阶段的任务。这样既能简化每个阶段的工作,便于确立系统开发计划,还可明确软件工程各类开发人员的职责范围,以便分工协作,共同保证质量。

2.2 坚持进行阶段评审 每个阶段都要进行严格的复审,进行不断的停工或返工,实现软件生产工程化。软件过程必须科学、合理才能获得高质量的软件产品。每个阶段的工作均以前一阶段的结果为依据,并作为下一阶段的前提。从技术审查和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,应防止到开发结束

时,才发现先期工作中存在的问题,造成不可挽回的损失和浪费。

2.3 实行严格的产品控制 软件的不可见性是软件产品的固有特点之一。与硬件产品不同,软件是计算机系统中的逻辑部件。软件开发过程中,在程序代码运行之前,开发工作的质量和进度均难以度量。最终软件产品的使用价值是在软件运行过程中体现出来的。软件产品故障隐蔽性强,可靠性难以度量,对原有故障的修改又可能导致新的错误。为了保证软件能够充分满足用户的要求,从而进行有计划、有组织的活动。

2.4 采用现代程序设计技术 根据软件生产工程化的需要,开发软件所用语言也多种多样。软件质量是软件的生命,它直接影响软件的使用与维护。软件的质量因素很多,如正确性、可靠性、可使用性、效率、完整性、可维护性、可测试性、灵活性、可移植性、可复用性、互联性等。这就要求软件开发人员多重运用现代程序设计技术,与时俱进。

2.5 软件工程结果应能清楚地审查 各阶段的任务彼此间应尽可能相对独立,这样便于逐步完成每个阶段的任务,能够简化每个阶段的工作,容易确立系统开发计划。与此同时,同一阶段的工作任务性质尽可能相同。这样有利于软件工程的开发和组织管理,明确系统各方面开发人员的分工与职责范围,以便协同工作,保证质量。

2.6 开发小组的人员应该少而精 为了使开发项目能在规定的时间内、不超过预算的情况下完成,成本预算和严格的管理控制就不可能被忽视,而开发小组人员成为项目成本预算中主要参数。开发小组成员主要包括:主程序员、辅助程序员、程序管理员等。软件

开发和测试的过程中每一步都需要不同的人员进行,但考虑到大批量的人员投入又增加了各环节中的通用规则造成很多不必要的了解和浪费,并且在软件开发过程中有一定的时效性,开发过程需要循序渐进不能同时进行。从软件精准度角度和成本节约角度分析,开发小组人员适合精准定位工作职能又达到重复利用以降低成本等。比如软件开发第一阶段的小组人员可以同时兼顾第二阶段测试人员,第二阶段软件开发人员成为第一阶段测试和后期安全测试人员等。

3 软件开发过程介绍

3.1 可行性研究与软件开发计划 可行性研究主要从技术、经济、社会因素、软件开发风险等方面进行,并写出软件工程项目的可行性研究报告。对软件进行技术可行性、经济可行性方面具体分析。在支出、收益、收益/投资比、投资回收周期、敏感度分析等方面和社会因素方面包括法律方面的可行性和用户方面的可行性方面进行研究。

软件开发计划主要包括软件工程项目计划和软件工程实施计划。

3.2 需求分析 需求分析是发现、逐步求精、建模、规格说明和复审的过程。发现,是尽可能准确地了解用户当前的情况和需要解决的问题。逐步求精是对用户突出的要求反复多次的细化,得出对系统完整、准确、具体的要求。结构化分析实质上是一种创建模型的活动。建立模型是描述用户需求,定义需求,用以验收产品。可建立数据模型、功能模型和行为模型。

3.3 概要设计 概要设计的基本任务是以可行性研究报告和需求分析规格说明书作为设计的基础,确定模块结构、数据文件结构、系统接口设计和测试方案策略,编写概要设计说明书、用户手册和测试计划。软件设计的基本原理是抽象、逐步求精、模块化、信息隐蔽。

3.4 详细设计 过程设计应在数据设计、概要设计、接口设计完成之后进行,它是详细设计阶段应完成的主要任务。过程设计不是具体地编写程序,二十逻辑上设计正确实现每个模块功能的处理过程。过程设计应尽可能简明易懂。用户界面设计的质量直接影响用户对软件产品的评价,应对用户界面设计给予足够的重视。

3.5 软件实现 进入软件实现阶段必不可少的就是软件测试。软件测试方案的基本目标是,选用尽可能少的高效测试数据,做到尽可能完善的测试,从而尽可能多的发现软件中的错误。软件调试是查找、分析和纠正程序中错误的过程。调试不仅是将测试发现的软件错误及时改正。调试首先要确定错误的位置,改错应尽量避免引进新的错误。在软件开发过程结束时,还要对所有开发的软件进行评价,以确定它是否和软件需求相一致的过程。

3.6 软件维护 软件维护就是软件产品交付之后对其进行修改,以纠正错误,或改进性能和其他属性,或使产品适应新的环境。软件可维护性就是维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。在软件开发时,明确目标、考虑软件的维护问题是必须的、重要的。

4 总结

软件产品的固有特点之二是软件的规模与逻辑复杂性。现代的软件产品往往规模庞大,功能多种多样、逻辑结构十分复杂。从软件开发管理角度看,软件生产率常随软件规模和复杂性的增加而下降。软件开发人员主要是掌握正确的软件开发方法,对软件的开发与维护进行科学的原理开发,使其在工程领域中能得到较好的运用。

参考文献:

[1]邓良松,刘海岩,陆丽娜.软件工程.西安:西安电子科技大学出版社,2004.

[2]陆惠恩.实用软件工程(第二版).北京:清华大学出版社,2009.


相关内容

  • 中小学教师培训试题
  • 第一次作业 模块二前测 前测说明: 前测共包含9道关于教育技术基础知识的题目,测试时间为15分钟.请先完成前测再进入本模块的学习.请把正确答案的序号填入下表中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (一).教育技术的概念 1.现代教育技术在研究.设计学习过程时,着重 ...

  • 软件工程方向.前景
  • 谈谈我对攻读计算机研究生的看法 分类: 精美文章2005-02-18 17:56 1517人阅读 评论(0) 收藏 举报 发信人: chinabingo (ice), 信区: Computer 标 题: 谈谈我对攻读计算机研究生的看法[转自TIANYA/CSDN] 发信站: 虎踞龙蟠 (Thu De ...

  • 如何看英语电影提高英语水平
  • 如何看英语电影提高英语水平? 如何看英语电影提高英语水平? 要知道,人的遗忘和记忆是同时发生的,虽然一些比较难记的单词一般记忆7遍都能记住,但是如果你长时间不用这些单词,肯定会遗忘的.因为我们记忆单词并不仅仅是为了记住,而是要为我们的Bilingual 生活服务的.所以你需要有一个环境来保持和加深印 ...

  • 多媒体图像处理
  • 第四章 信息的加工 第三节 多媒体信息处理(图像处理) 平阳县鳌江中学 雷 鸣 本节的课程标准内容: (二)信息加工中:(1)选择恰当的工具软件处理多媒体信息,呈现主题,表达创意. 本节课程标准分析: 1.进一步熟悉文字.图片.声音.视频等媒体信息,加深对1.2.4节中像素.分辨率.以及图像.声音和 ...

  • 如何理解交互式电子白板的交互?
  • (前两天,不知是哪一所学校的梁老师通过顺德教育OA和我讨论交互式电子白板的问题:"刘老师你好,我想请问你几个问题:1.英语教学中怎样应用交互式白板?2.因为本人有个公开课,但真的不知道怎样备课才能体现出与白板的交互!你能不能举些例子?如有打搅,请多包涵,谢谢你的帮助"我对梁老师的 ...

  • 浅析信息化教育在农村中小学的应用
  • 浅析信息化教育在农村中小学的应用 [摘 要]现代教育应用信息化教学,对学生的学习成才帮助很大,特别是发展农村教育教学有不可估量的作用.教学中渗透信息化教学方法,能够拓宽学生的视野,激活学生的思维及创新能力,更能直观引导学生学习课文,利于师生.家校互相交流沟通.然而农村中小学教育信息化基础教育设施滞后 ...

  • [软件工程实训]实习报告模板
  • 计算机与信息管理专业 课程设计 题目:图书信息管理 专业:计算机与信息管理 班级: 学号: 姓名: 年 月 日 一.实习目的与要求 由xxx为一个小组,从开始的系统需求分析到最后的软件测试,都有详细的计划,通过实习达到以下几个目的:一.使同学们学习与掌握软件设计的相关理论知识,特别是软件工程的应用. ...

  • 微课程在初中物理教学中的应用
  • 微课程在初中物理教学中的应用 俞庆珍 (义乌市第三中学,浙江义乌322000) 摘要:对比这两种教学方式.可以发现,传统课堂传授 知识快,集中,知识连贯性好.但对于个体的学生,接受能力 有差异,势必会出现部分学生无法理解3堂'-课的知识.而微 课程在传统课堂不能满足的情况下,正好可以弥补.学生在 课 ...

  • 2015-2016学年度三年级信息上册教案(新贵州版
  • 开阳县城关镇中心小学 2015--2016学年度第一学期 三 年 级 信 息 技 术 教 案 执教人:李秋毅 第一单元:小熊历险记 --初识信息与信息技术 活动1:分析漫画,认识身边的信息 教学目标: 1.指导学生观察漫画,分析漫画. 2.通过活动,帮助学生理解什么是信息,以及信息的形式. 3.让学 ...