软件工程原理方法与应用(第三版) (史济 软件工程原理与应用 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

软件工程原理方法与应用(第三版) (史济 软件工程原理与应用

时间:2020-08-24 10:27:25
急求 软件工程 原理方法与应用 课后答案 面向对象与结构化方法的比较研究 xxx (xxxxxxxxxx) 摘要:随着计算机的硬件及通讯技术的发展,计算环境发生了深刻的变化。计算环境的变迁和不断增长的
作者:

软件工程原理方法与应用(第三版) (史济

急求 软件工程 原理方法与应用 课后答案

面向对象与结构化方法的比较研究 xxx (xxxxxxxxxx) 摘要:随着计算机的硬件及通讯技术的发展,计算环境发生了深刻的变化。

计算环境的变迁和不断增长的软件需求对程序设计方法学提出了一个又一个的挑战,程序设计方 法学也在挑战中前进。

首先回顾软件工程程序设计方法的发展历史,指出结构化和面向对象是软件工程程序设计方法中的2个核心思想,分析、探讨了结构化程序设 计方法与面向对象的方法的区别,并就如何在实践中正确应用给出了一些建议。

关键字:程序设计方法; 面向对象; 结构化1引言:随着计算机硬件及通讯技术的发展,计算机环境发生了深刻的变化,计算机环境的变迁和不断增长的软件需求对程序设计方法提出了一个有一个挑战,程序设计方法也在挑战中前进。

计算机发展经历了3个主要阶段:大型主机,客户/服务器以及网络计算。

与此相对应,软件工程的设计方法的发展可分为4代。

1.1第一代面向过程的程序设计方法 面向软件系统的信息流程图,采用面向过程的程序设计语言或面向进程的程序设计语言,实现软件设计流程图所描述的信息处理过程的功能,称为面向过程的程序设计方法或面向进程的程序设计方法。

这种方法适用于设计小规模专业软件包,软件的通用性、重用性和扩展性差。

1.2 第二代面向模块的程序设计方法 结构上将软件系统划分为若干功能模块或实体,分别采用模块化程序设计语言,如:pascal 编程实现,再由各模块联结,组合成相应结构的软件系统,称为面向模块的程序设计方法或模块化程序设计方法,也称为面向实体的程序设计方法。

这种方法适用于设计模块化、结构化程序,可提高软件系统的模块化和结构化水平,设计和组装较大规模的软件系统,有助于提高软件的通用性、重用性和扩展性。

1.3 第三代面向对象的程序设计方法 所谓对象是指具有一定结构、属性和功能的实体,采用对象和对象类,以及对象之间的相互通信的消息,描述客观世界中的各种事物及其相互关系,建立面向对象和消息的具有层次结构的世界模型。

面向对象的程序设计方法基于上述面向对象世界模型。

采用面向对象的程序设计语言,如c++、smalltalk 等编程实现。

这种方法具有通用性,适用于广泛应用领域的大规模软件系统设计。

有助于提高软件的重用性、扩展性和移植性,提高编程效率和程序自动化水平。

1.4 第四代面向智体的程序设计方法 面向智体的程序设计方法是面向对象的程序设计方法的发展。

在程序设计方法的发展演变历程中,结构化和面向对象思想是最核心的思想方法。

结构思想体现了人们抽象思维和复杂问题分解的基本原则与要求,而面向对象则反映了客观世界由对象组成这一本质特点。

2 软件工程程序设计方法的出发点 从程序结构来看,每个子问题形成整个程序结构的一个构件,这个构件称为一个模块。

程序的算法结构,就是一个由模块连接成的层次结构。

在软件工程中,把这种设计方法归结为软件工程设计方法学。

该方法学的基本表述为:自顶向下,逐步求精,模块化层次结构设计。

程序设计方法的本质是问题的抽象与分解,各种程序设计方法的区别在于其分解的因子不一样,处理数据对象及相关操作的方法不一样,也就是出发点不一样。

3 结构化程序设计方法 结构化程序设计方法包含以下内容。

3.1 结构化技术 结构化技术包括结构化分析(S A )、结构化设计(SD )、结构化程序设计(SP )3 方面内容,对应于软件开发时期的分析、设计和编码阶段。

3.2 结构化分析 结构化分析是70 年代中期由DeMarco 和Yourdon等倡导的一种基于功能分解的分析方法,即使用数据流程图、决策表、决策树等工具,来建立一种符合用户需求的结构化说明书。

3.3 结构化设计 结构化设计是一种面向数据流的设计方法,也就是采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术,目的在于提出满足系统需求的最佳软件的结构,完成软件层次图或软件结构图。

4 面向对象的方法 面向对象技术:面向对象技术包括面向对象分析(O O A )、面向对象设计(O O D )及面向对象程序设计(O O P )3 部分内容。

O O P 是在结构化程序设计的基础上,于8 0 年代初涌现的一种程序设计方法,但其真正显示力量和被产业界所重视还是最近几年的事。

封装是整个O O P 方法的基础,主要用于在数据段外围构造保护层,以限制外界变化的影响,所有的数据访问都由保护层内的过程间接处理。

应用程序员不必再按照将程序设计语言逐句拼装的方式来构造整个软件,只需组合、重用由系统程序员开发、可供他人用来装配的软件集成块即可。

例如,Visual Basic(VB)是一种面向对象的程序设计语言,与传统DOS 下的Basic 或Quick Basic 最大的差别在于它运用了面向对象的概念。

V B 建立了一个事件驱动的环境,供用户直接调用。

程序设计人员只要专心数据的运算处理,其余诸如W i n d o w s 应用程序下所见的滚动条、按钮、下拉式菜单和对话框等,都已经有对象供用户进行调用,而且每个对象又都有许多事件、属性和方法,供用户填入适当值或程序码,从而形成一个应用程序。

5 结构化程序设计方法与面向对象的程序...

软件的发展历史简介

计算机导论程序设计基础数据库原理离散数学算法与数据结构操作系统计算机组成原理与系统结构计算机网络(双语)大学物理数字逻辑电路面向对象方法及程序设计信息保障与安全(双语)信息系统工程与实践WEB系统与技术网络工程与实践人机交互技术(双语)编译原理统一建模语言系统建模与仿真J2EE架构与程序设计可视化开发工具汇编语言程序设计大型数据库应用嵌入式系统计算机接口技术计算机图形学多媒体技术最优化MATLAB编程人工智能原理计算机专业英语计算方法面向对象方法及程序设计课程设计嵌入式系统课程设计信息系统工程与实践课程设计...

在软件工程学中,制作软件的各个过程要用到的工具都有什么,比如说...

主要课程有信息管理学概论、管理学原理、企业管理、电子商务、市场营销学、经济学、会计学、信息经济学、知识产权、企业情报工作、人力资源管理、经济信息学、竞争情报研究、信息检索语言、程序设计、数据结构、数据库系统、操作系统、信息检索、计算机网络、管理信息系统、信息组织、编译原理、计算机辅助设计、运筹学、决策支持系统、信息分析、企业资源计划管理、生产与运作管理等。

另外还开设有多门选修课程。

学生还可选修学院其他专业的相关课程。

必修课课程简介 计算机导论 先修课程: 无 本课程是学习计算机的入门课程,从介绍计算机基础知识入手,使学生掌握Windows操作系统的基本操作,掌握Windows界面下的文字处理系统的应用,电子表格的使用和演示文稿的制作,另外介绍网络基础知识和网络应用的基本操作。

本课程无先修课程,第一学期开课。

后续课程为专业基础课。

C语言程序设计 先修课程:计算机导论 C语言是目前被广泛使用的一门高级程序设计语言,使用c语言不仅可以开发系统软件,也可以开发应用软件。

《C语言程序设计》课程主要介绍了面向过程的程序设计的基本思想和方法,包括算法、程序的基本控制结构、数组、函数、指针、文件以及结构化程序设计的基本方法等。

通过本课的学习学生可以掌握C语言编程的一般方法和步骤,并具有一定的编程实践能力和利用计算机解决一些实际问题的能力。

本课程的后续课是《数据结构》、《Visual Basic程序设计》。

Visual Basic程序设计 先修课程:C程序设计 本课程通过Visual Basic程序设计语言及其程序设计方法的讲述,一方面介绍了面向对象程序设计的基本知识、基本语法和编程方法;另一方面详细介绍了可视化界面的设计方法,控件的使用、图形操作和数据库的应用等知识,使学生学习后能运用所学的知识开发图形界面(Windows)下的应用软件。

本课程是后序课程是《网络数据库》、《网络编程》等。

数据结构 先修课程:C程序设计 《数据结构》是“信息管理与信息系统”本科专业的专业课。

本课程主要培养学生分析数据、组织数据的能力,介绍数据的逻辑结构、存储结构及有关算法。

使学生能够根据数据处理问题的需要,为待处理的数据选择合适的逻辑结构和存储结构,编写出效率较高、质量较好的程序。

后续课程为《网络数据库》。

信息系统安全工程学 先修课程: 无 本课程是信息安全工程专业本科生的专业课程。

通过学习本课程,使学生了解系统工程的基本原理和方法,了解系统安全工程概念,理解系统安全工程能力成熟度模型,掌握系统安全工程能力的评估模型和方法,重点掌握信息系统安全工程的过程规划、实施、管理和控制。

无先修课程, 后续课程为《信息系统分析与设计》、《信息系统开发》。

汇编语言与微机原理教程课程简介 先修课程:电工电子学及至少一门高级语言,计算机文化基础等 本课程的主讲述微型计算机基础、8086/8088汇编语言程序设计、微机机器语言指令、常用指令、8086CPU、半导体存储器、输入输出及中断系统、总线、可编程接口芯片等,以8086/8088为基础,启发学生对80486/80586及Pentium工作原理的理解,为实际使用计算机打下理论基础。

计算机网络 先修课程:计算机组成原理、操作系统 本课程全面介绍计算机网络的发展和体系结构,物理层,数据链路层,局域网,广域网,网络互连,运输层,计算机网络的安全,ATM技术和当前计算机网络的若干热门话题等内容。

既重视基本原理和基本概念的阐述,又反映出计算机网络的一些最新发展。

本课程适合于本科生的学习和研究。

此课程无后续课程。

计算机操作系统原理 先修课程:计算机文化基础、C语言程序设计、数据结构、计算机组成原理 本课程主要介绍操作系统的定义、发展和形成过程,操作系统的基本原理和功能,如进程管理、存储管理、设备管理和文件管理等内容,操作系统的用户界面和实现技术。

通过对典型操作系统(UNIX操作系统)的示例介绍,使操作系统的原理和实际应用结合起来。

信息系统分析与设计 先修课程: 具有程序设计基础、学过软件工程等课程 计算机信息系统开发是计算机应用的一个重要领域。

作为信息系统开发的主要工作,信息系统分析与设计在实践中逐渐确立、丰富和完善了自己的理论、方法和技术,并成为现代信息社会重要的研究内容和应用领域。

信息系统分析与设计涉及多方面的内容,它以众多的理论、方法和技术为基础,是一个综合性很强的研究和应用领域。

由于信息系统分析与设计工作在当代社会中具有重要的地位,因而它是高等学校信息类专业及相关专业教学计划中的一门核心课程。

该课的后续课是信息系统开发、人工智能等。

数据库原理 先修课程:计算机应用基础(含Windows基本操作)、一种高级程序设计语言、数据 结构、计算机操作系统 通过学习使学生掌握有关关系数据库的基本概念和基础理论和基本技术,掌握关系数据库系统的模型,关系代数,关系数据理论;通过学习数据库的设计方法设计简单的数据库应用系统;通过学习数据库的系统管理方法,掌握数据库的基本的系统管理内容。

并通过...

软件工程的细分

就我个人而言会觉得软件服务工程比较适合当今社会发展的需求,毕竟技术就是饭碗嘛!再说就是以后竞争压力大工作不好找的话自己可以先开个小店慢慢发展自己的事业,既自由收入也很不错。

但是这只是我个人的意见。

下面的资料进攻你参考,希望你想好专业,不过也要考虑自己的兴趣以及自己对生活的要求,总之专业的选择是非常重要的,祝你好运:软件服务工程的一些介绍和就业方向:一、 专业培养目标 培养具有良好的综合素质、系统地掌握计算机科学与技术的基本理论、基本知识和基本技能与方法、扎实的软件理论和软件工程专业基础知识,具有规范的软件设计与开发能力、一定的项目管理能力、良好的交流与组织协调能力、较强的竞争能力和创新能力的计算机软件工程高级复合型专业人才。

能够从事软件工程的研究、开发与项目管理工作。

二、 软件工程专业主修课程 主要的课程体系包括:1、公共基础课程: 主要包括高等数学、英语、体育、政治理论、计算机基础等课程。

2、软件工程专业基础课程: 程序设计基础,普通物理,离散数学,电路基础,数据结构,计算方法,操作系统原理 3、软件工程专业主干课程: 汇编语言程序设计,计算机网络,算法设计与分析,软件工程,数据库系统概论,多媒体技术原理,计算机组成原理,软件体系结构,编译原理 4、软件工程专业限选课: 统一建模语言,多媒体应用技术,实用操作系统,XML技术基础,计算机日语,网页制作,Oracle数据库管理,Web应用开发(Java),C# 应用开发,Asp.net 应用开发,基于J2ME移动应用开发,软件测试和质量控制,软件过程管理 5、实践类课程:重点应包括课程实践,年度教学实践及毕业设计。

三、 毕业生就业分析 PS:除考取国内外名牌大学研究生外,如果楼主不考研的话主要毕业去向有1、 计算机软件专业公司JAVA软件开发2、 计算机软件专业公司.NET软件开发3、 计算机软件专业公司软件测试4、 信息咨询公司系统需求分析5、 金融等其它独资、合资企业软件系统分析维护 四、 主要特色 强调在计算机软件工程中的实践和管理能力的培养,理论与实践并重,系统与应用并重。

在课程设置与具体实施上强调加强工程训练,加强实践环节,注意学科融合,产、学、研相结合。

毕业生在工作前应获得以下几方面的知识和能力以确保找个好的工作单位:1.掌握计算机科学与技术的基本理论、基本知识和基本技能,特别是数据库、网络和多媒体技术;2.有实际项目的工作经验;在校期间应该实践,比如暑假寒假去公司锻炼下。

3.掌握软件需求分析、建模和实现的能力、软件评审与测试的能力、软件过程改进与项目管理的能力、使用软件开发工具的能力等;4.有较强的动手能力,能够具有一定的系统分析的能力,熟练使用两种以上主流的操作系统,做到理论与实践相结合; 5.具备语言、交流、写作等基本的软件从业能力,认同现行的法律、道德和伦理。

金融学服务专业: 一、培养目标和特色 本专业培养掌握宽厚扎实的经济金融理论基础和从事具体金融实务工作的专业技能,熟悉金融相关专业的原理性知识,熟练驾驭外语和计算机工具,具有较强的市场经济意识和社会适应能力,富有创新精神和国际视野,德智体全面发展,能够胜任经济、金融部门和其他相关专业领域工作的应用型人才。

本专业教学科研力量雄厚,教学手段现代化。

培养适应社会主义市场经济需要,具有创新精神,经济学理论扎实,数学基础好,熟练掌握计算机应用技术,外语水平较高,实践能力较强,在某一领域内有专长和实际技能的专门人才。

毕业生适宜从事财政、金融、外贸、科研等工作。

二、课程设置 学科基础课: 政治经济学、微观经济学、宏观经济学、高等数学、概率论与数理统计、线性代数、统计学、经济学说史、货币银行学、财政学、国际经济学、发展经济学、计量经济学、会计学、管理学、计算机基础与应用、计算机程序设计、国际贸易、国际金融理论与实务、证券投资学 专业基础课: 金融经济学导论、金融市场学、金融营销学、中央银行学、投资银行学、商业银行经营与管理、金融工程概论、现代企业资本运营、保险学原理、国际保险、金融风险管理、公司财务、投资学、投资基金概论、西方金融理论、房地产经济学、保险精算学、信息经济学、博弈论基础、国际金融组织、跨国公司管理、中国金融体制改革、国际商务交流与谈判、金融信托与租赁、行为金融学、国际结算。

三、工作适应范围 毕业生在银行业和证券业胜任实际业务、管理、调研和宣传策划工作例如在金融业监督管理机构、商业银行、政策性银行、证券公司、、基金管理公司、资产管理公司、金融租赁、担保公司、以及上市股份公司的证券部、财务部等部门从事相关工作国家各级银行、非银行金融机构、保险公司、信托投资公司和在涉外经济部门,特别是国际金融、国际贸易等领域工作,如银行的国际业务部、涉外公司、外资企业、国家外汇管理部门、政府对外经济贸易部门、国家和省级外贸、招商部门从事实际业务工作。

此外该专业毕业生还适宜在党政机关,企事业单位、科研单位、及人民团体从事经济、...

计算机网络.计算机及应用.计算机信息管理.三个专业有什么区别啊?

计算机应用专业分为计算机网络、计算机信息管理等方向(子专业)业务培养要求:1.计算机控制方向:(1) 毕业后能够从事计算机硬件系统应用与维护和小型控制系统的应用、开发与维护工作。

(2)掌握本方向所必需的计算机电路、微机接口技术、单片机技术、计算机外部设备、计算机控制技术及其实现等基础知识;并且掌握程序设计的基本方法和控制系统的调试技能。

2.计算机应用软件开发方向:(1) 毕业后能够从事一般应用软件与CAD、CAI软件的开发、应用与维护工作。

(2) 掌握本方向所必需的多媒体技术、多媒体程序设计、软件工程、应用软件开发技术等基础知识;并且熟悉开发平台,掌握常用开发工具,了解软件开发的基本方法。

3.计算机信息管理方向:(1)毕业后能够从事信息管理系统的应用、开发与维护工作。

(2)掌握本方向所必需的离散数学、管理学、软件工程、数据库原理及相关的管理学科的基础知识;并且掌握计算机网络环境下的计算机信息管理系统开发的基本方法和维护技能。

4.计算机网络方向:(1) 毕业后能够参加计算机网络建设、从事管理以及应用开发工作。

(2) 掌握本方向所必需的数据通信和计算机网络、组网和网络管理、网络操作系统、INTERNET和INTRANET应用以及JAVA语言程序设计等基础知识;并且掌握计算机组网的基本方法和技能;具备一定的网络信息建设和网络管理的能力。

软件工程(+道路与铁道工程)是学什么的,以后就业方向是哪?

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

在现代社会中,软件应用于多个方面。

典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。

同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。

这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

基本内容 软件工程原理、软件工程过程、软件工程方法、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用、软件工程开发使用。

著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理: (1)用分阶段的生存周期计划进行严格的管理。

(2)坚持进行阶段评审。

(3)实行严格的产品控制。

(4)采用现代程序设计技术。

(5)软件工程结果应能清楚地审查。

(6)开发小组的人员应该少而精。

(7)承认不断改进软件工程实践的必要性。

[2] 研究领域 软件架构 软件设计方法 软件领域建模 软件工程决策支持 软件工程教育 软件测试技术 自动化的软件设计和合成 基于组件的软件工程 计算机支持的协同工作 编程语言和软件工程 计算机网络 信息与通信安全 计算机图形学与人机交互 多媒体技术应用 人工智能与识别 嵌入式软件与应用 自动控制 分布式计算与网格计算 云计算技术 存储技术 数据库技术研究 计算机辅助设计与应用技术 大数据分析与处理 就业岗位 Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 、J2EE系统工程师等。

.Net方向: .Net程序员网站开发工程师 .Net工程师等。

其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师。

[1] 道路与铁道工程 交通运输工程一级学科中的重要分支学科,涵盖公路、城市道路、机场、铁道等工程的规划、勘察、设计、施工、养护与管理等。

我国交通建设正处在大发展时期,交通基础设施建设任务繁重,需要大量从事本学科领域科学研究和工程建设的高级人才。

主要研究方向 本学科一直注重开展公路与铁路建设的重大课题和关键技术研究,已形成了具有优势和特色的“特殊地区路基路面结构与性能”、“路面材料结构理论与改性技术”、“山区高速公路现代测设技术”、“公路灾害防治技术”、“高速公路建设与养护管理”等五个研究方向。

1)特殊地区路基路面结构与性能研究方向 2)路面材料结构理论与改性技术研究方向 3)山区高速公路现代测设技术研究方向 4)公路灾害防治工程研究方向 5)高速公路建设与养护管理研究方向 主要课程名称 数值分析 数理统计与随机过程 应用泛函分析与变分原理 破坏力学理论* 粘弹性断裂力学 工程结构分析方法 高等路面结构设计原理* 路面设计原理 路基设计原理 泥沙运动力学 道路养护技术 沥青与沥青混合料 公路防排水与水毁防治技术 路面动力学 岩土本构关系* 高等岩土力学 非饱和土力学 材料学* 交通地理信息系统* 路线设计CAD 道路工程技术经济学 从业领域 本专业学位获得者可从事土木工程领域尤其是铁路、公路、机场等部门的技术开发、勘测设计、工程施工和运营管理等工作。

也可在高等院校或科研院所从事教学或科研工作。

软件工程中的数据定义怎么做

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

IEEE:软件工程是开发、运行、维护和修复软件的系统方法。

Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。

(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。

正确性指软件产品达到预期功能的程度。

可用性指软件基本结构、实现及文档为用户可用的程度。

开销合宜是指软件开发、运行的整个开销满足用户要求的程度。

这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。

软件工程过程主要包括开发过程、运作过程、维护过程。

它们覆盖了需求、设计、实现、确认以及维护等活动。

需求活动包括问题分析和需求分析。

问题分析获取需求定义,又称软件需求规约。

需求分析生成功能规约。

设计活动一般包括概要设计和详细设计。

概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。

详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。

实现活动把设计结果转换为可执行的程序代码。

确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。

维护活动包括使用过程中的扩充、修改与完善。

伴随以上过程,还有管理过程、支持过程、培训过程等。

(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

软件工程必须遵循什么原则 围绕工程设计、工程支持以及工程管理已提出了以下四条基本原则: (1)选取适宜的开发模型 该原则与系统设计有关。

在系统设计中,软件需求、硬件需求以及其它因素间是相互制约和影响的,经常需要权衡。

因此,必需认识需求定义的易变性,采用适当的开发模型,保证软件产品满足用户的要求。

(2)采用合适的设计方法 在软件设计中,通常需要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。

合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

(3)提供高质量的工程支撑 工欲善其事,必先利其器。

在软件工程中,软件工具与环境对软件过程的支持颇为重要。

软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。

(4)重视软件工程的管理 软件工程的管理直接影响可用资源的有效利用,生产满足目标的软件产品以及提高软件组织的生产能力等问题。

因此,仅当软件过程予以有效管理时,才能实现有效的软件工程。

软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够 得到的最好的技术方法结合起来,这就是软件工程。

软件工程强调使用生存周期方法学和各种结构分析及结构设计技术。

它们是 在七十年代为了对付应用软件日益增长的复杂程度、漫长的开发周期以及用户对 软件产品经常不满意的状况而发展起来的。

人类解决复杂问题时普遍采用的一个策 略就是“各个击破”,也就是对问题进行分解然后再分别解决各个子问题的策略 。

软件工程采用的生存周期方法学就是从时间角度对软件开发和维护的复杂问题 进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立 的任务,然后逐步完成每个阶段的任务。

采用软件工程方法论开发软件的时候, 从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。

前一个阶段任务 的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是 使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。

每一个阶段的开 始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就 是后一阶段的开始标准。

在每一个阶段结束之前都必须进行正式严格的技术审查 和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,通过之后这 个阶段才算结束;如果检查通不过,则必须进行必要的返工,并且返工后还要再 经过审查。

审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所 开发的软件完全一致的)高质量的文档资料,从而保证在软件开发工程结束时有 一个完整准确的软件配置交付使用。

文档是通信的工具,它们清楚准确地说明了 到这个时候为止,关于该项工程已经知道了什么,同时确立了下一步工作的基础 。

此外,文档也起备忘录的作用,如果文档不完整,那么一定是某些工作忘记做 了,在进入生存周期的下一阶段之前,必须补足这些遗漏的细节。

在完成生存周 期每个阶段的任务时,应该采用适合该阶段任务特点的系统化的技术方法——结 构分析或结构设计技术。

把软件生存周期划分成若干个...

大家还关注
    
阅读排行
推荐阅读