全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012-2013 学年 软件工程 课程作业 1软件工程论文河北科技大学机械工程学院 机械 107 班 梁爱利 学号: Z1005017151. 概述一个可用的计算机系统离不开软件,20世纪40年代,随着世界上第一台计算机的诞生,产生了软件的概念。计算机硬件的高速发展和计算机的应用领域的不断拓展,促进了软件技术的不断发展,出现了与软件相关的专业和领域。随着信息社会的到来,软件在人类社会中越来越重要。 什么是软件?早期,人们认为软件就是源程序,开发软件就是编写程序,那些被人们认为是优秀的程序,通常充满了编程技巧,常常很难看懂。随着人们对软件及其特性的更深层的研究,现在人们普遍的认为优秀的程序除了工能正确、性能优良之外,还应该容易看懂、容易使用、容易修改和扩充,并且软件不仅包括程序,还包括其他相关的内容。1983年IEEE为软件下的定义是:计算机程序、方法、规则和相关的文档资料以及在计算机上运行时所必需的数据。目前,对软件通俗的解释为:软件=程序+数据+文档资【1】其中,程序是完成特定功能和满足性能要求的指令序列;数据在程序运行的基础和操作的对象;文档是与程序开发维护和使用有关的图文资料。软件工程主要是培养从事软件工程开发和研究的专门人才,能从事软件开发、软件技术管理和软件项目管理。软件工程的特色在于跟踪国际软件先进技术,以适应软件技术快速发展的需要;同时注重培养实用技能,以适应社会对软件工程开发人员的需要。软件工程是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养。要求学生掌握计算机系统的软硬件的基础知识以及计算机系统的设计、研究、开发及综合应用的知识和技能,接受从事软件研究和开发的基本训练,了解计算机系统设计技术,掌握计算机网络技术并具备应用能力,具备系统软件和应用软件的分析、设计、测试和维护能力。2. 软件工程过程2.1 软件过程的基本概念软件工程过程是开发或维护软件及其相关产品的一系列活动。软件工程过程通常包括四种基本的过程活动:(1) 软件规格说明:规定软件的功能、性能及其运行限制。(2) 软件开发:产生满足规格说明的软件,包括设计与编码等工作。(3) 软件确认:确认软件能够满足客户提出的要求,对应于软件测试。(4) 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进,以求尽量延长软件的生命周期。 此外,在一个良好的软件过程中,还应当包括一些“保护性”的活动。在具体的工程过程中,可以根据实际需要,采用不同的过程模型来实现上述的基本活动和保护活动。一个良好的软件工程过程应当具备如下特点:(1) 易理解性。(2) 可见性:每个过程活动都以得到明确的结果而告终,保证过程的进展对外可见。(3) 可支持性 :容易得到CASE工具的支持。(4) 可接受性:比较容易被软件工程师接受和使用。(5) 可靠性:不会出现过程错误,或者出现的过程错误能够在产品出错之前被发现。(6) 健壮性:不受意外发生问题的干扰。(7) 可维护性:过程可以根据开发组织的需求的改变而改进。(8) 高效率:从给出软件规格说明起,就能够较快地完成开发而交付使用。软件开发过程中的主要开发环节(1) 软件设计:主要是把对软件的需求翻译为一系列的表达式(如图形、表格、伪码等)来描述数据结构、体系结构、算法过程,以及界面特征等。一般又分为总体设计和详细设计。其中总体设计主要进行软件体系结构的分析;详细设计主要进行算法过程的实现。(2) 编码:主要依据设计表达式写出正确的容易理解、容易维护的程序模块。程序员应该根据目标系统的性质和实际环境,选取一种适当的程序设计语言,把详细的设计结果翻译成用选定的语言书写的程序,并且自习测试编写出的每一个模块。(3) 软件测试:主要是通过各种类型测试及相应的调试,以发现功能、逻辑和实现上的缺陷,使软件达到预定的要求。2.2 软件工程过程模型在一个具体的实际工程活动中,软件工程师必须设计、提炼出一个工程开发策略,用以覆盖软件过程中的基本阶段,确定所涉及的过程、方法、工具。这种策略常被称为“软件工程过程模型”。在软件工程实践中,过程模型比较流行的有:瀑布模型、原型模型、快速应用开发模型、增量模型、螺旋模型、形式化方法模型、RUP( Rational Unified Process )模型、敏捷过程模型、构件组装模型、并发开发模型等等。过程模型的共性:一般都包含“定义(或计划)”、“开发”和“维护”3类活动。定义活动主要弄清软件“做什么”;开发活动集中解决让软件“怎么做”;维护活动则聚集于软件的“修改”,即“What-How-Change”瀑布模型(也称线性顺序模型或软件生存周期模型),是W.Royce在1970年提出的。瀑布模型遵循软件生存期的划分,明确规定各个阶段的任务,各个阶段的工作自上而下、顺序展开,如同瀑布流水,逐级下落。瀑布模型把软件生存周期划分为计划时期(或定义时期)、开发时期和运行时期。这三个时期又分别细分为若干个阶段。参看图2.5。 图2.5 软件生存周期的瀑布模型瀑布模型软件开发具有以下几个特征:(1) 阶段间的顺序性和依赖性 顺序性是指:只有等前一阶段的工作完成以后,后一阶段的工作才能开始;前一阶段的输出文档,就是后一阶段的输入文档。依赖性又同时表明了,只有前一阶段有正确的输出时,后一阶段才可能有正确的结果。(2) 推迟实现的观点过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带来灾难性的后果。瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。把逻辑设计与物理设计清楚地划分开来,尽可能推迟程序的物理实现,这是瀑布型软件开发的一条重要的指导思想。(3) 质量保证的观点为了保证质量,瀑布型软件开发在各个阶段坚持了两个重要的做法: 每一阶段都要完成规定的文档。没有完成文档,就认为没有完成该阶段的任务。 每一阶段都要对完成的文档进行复审,以便尽早发现问题,消除隐患。瀑布模型所带来的问题:(1) 不适应需求经常发生变更的环境:在项目的开发过程中,变更可能会引起混乱。所以,有人形象地把采用线性模型进行商业软件工程称之为“在沙滩上盖楼房”。(2) 瀑布模型也经常不能接受项目开始阶段自然存在的不确定性:在采用线性顺序模型的时候,用户只有到项目的开发晚期才能够得到程序的可运行版本。大的错误如果到这时才被发现,那么造成的后果往往是灾难性的。(3) 线性顺序模型每一步的工作都必须以前一阶段的输出为输入,这种特征会导致工作中发生“阻塞”状态。虽然存在着上述的种种问题,但是线性顺序模型仍然有其值得肯定之处。它提供了一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序地展开,避免了软件开发、维护过程中的随意状态;对于需求确定、变更相对较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模型。采用这种模型,曾经成功地进行过许多大型软件工程的开发。2.2 软件过程的思维2.2.1 什么是过程思维过程思维就像是一种宗教信仰,无论你相信与否,它都会对你传统的思维方式形成挑战,并试图加以改变。过程思维会使大家保持行为的一致,从而实现整体能力的提升,并获得更佳的效果。过程思维,从某种意义上讲,反映了人类的大脑对知识与经验的保存及其使用方式。是一种自然的思维方式。2.2.2 什么是过程从字面上,过程又很多种不同的定义。如活动与操作的集合;用于产生及软件进化的一系列的活动、方法和实践;对于一个特定的目标所完成的一系列的操作步骤(例如软件开发过程);通过一种或多种输入产生对用户有价值的输出的一系列活动的集合等等。以上的定义之所以会各不相同,是因为它们各自的关注点不同。这些定义无一例外地强调了过程的某一方面而忽略了其他方面。过程事实上有以下3个方面的特征。(1) 过程应被定义,通常是将过程所包含的活动及程序文档化;(2) 应将关于过程的知识传授给需要执行过程的每一个人;(3) 让过程的知识深入的每个执行者的头脑中去,并以此驱动他们的行为与活动,就像产品的形成是经过一系列的工序处理后的结果一样,通过执行过程中的活动才能获得最终的过程结果。为了实现特定目标,所做的行为、活动及任务也可以反映出为实现目标所采用的目标的特点。一个规范化的过程可以按顺序被加以细分,并且有统一活动模式,这一点无论是针对个体还是团队都是有效的。针对特定的状态或者为实现特定的任务,过程定义了活动或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宏桥集团招聘试题及答案
- 风险投资行业分析与报告
- 公务员面试旁白面试题及答案
- 公务员面试面试课面试题及答案
- 互联网架构师招聘试题及答案
- 公务员面试理由面试题及答案
- 海尔集团秋招真题及答案
- 公务员面试监控面试题及答案
- 广药集团招聘面试题及答案
- 工艺整合招聘题目及答案
- 餐饮营运部管理制度
- DB32-T 4001-2025 公共机构能耗定额及计算方法
- 2025-2030年中国胶粘剂行业市场深度分析及前景趋势与投资研究报告
- 校长股权激励协议书
- 大学计算机-计算思维与信息素养 课件 第6章 现代计算机-复杂环境下程序执行
- 财务监管协议书范本
- 辽宁机场集团招聘笔试真题2024
- 人教版高中物理精讲精练-必修1专题强化一:受力分析和整体法与隔离法专题 (原卷版)
- 《认知行为疗法》课件
- 15个小测试-测测您家孩子注意力是否达标
- 《阴极保护原理》课件
评论
0/150
提交评论