77范文网 - 专业文章范例文档资料分享平台

软件工程重点

来源:网络收集 时间:2020-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

软件工程

1软件的定义:程序+数据+文档

2软件危机:计算机软件在它的开发和维护过程中所遇到的一系列严重问题。 软件危机产生的具体原因: a对用户的需求不明确 b缺乏正确的理论指导 C软件开发规模越来越大 d软件开发复杂度越来越高。 软件危机的现象:

a对软件开发的成本和估计常常很不准确

b用户对“已完成的”软件系统不满意的现象经常发生 c软件产品的质量往往靠不住 d软件常常是不可维护的

f软件通常没有适当的文档资料

g软件成本在计算机系统总成本所占比例逐年上升

h软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势

消除软件危机的方法:

a对计算机软件有一个正确的认识

b必须充分认识到软件开发不是某个个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 3软件工程三要素:方法+工具+过程

方法:为软件提供“如何做“的技术。包括:项目计划于估算、软件系统的需求分析、数据结构,系统总体结构的设计、算法过程的设计、编码测试及维护。 工具:软件工具为软件工程方法提供了自动或半自动的软件支撑环境。将软件工具集成起来,建立起称之为计算机辅助软件工程(ComputerAidedSoftware Eengineering)的软件开发支撑系统。CASE将各种软件工具、开发机器和存放开发过程信息的工程数据组合起来,形成软件工程环境。 过程:将软件工程的方法和工具综合起来以达到合理、及时的进行计算机软件开发的目的。任何工程方法必须以有组织的质量保证为基础。 4软件工程的基本原理

a用分阶段的生存周期计划进行严格的管理 b 坚持进行阶段评审 c实行严格的产品控制 d采用现代程序设计技术

f软件工程的结果应能清楚的审查 g开发小组的人员应该少而精

h承认不断改进软件工程实践的必要性 5 软件工程的框架:目标、过程和原则

目标:生产具有正确性、可用性、开销事宜、进度保证并且项目成功的软件产品

过程:生产最终能满足需求且达到工程目标的软件产品所需要的步骤,主要包括开发过程、 运作过程、维护过程。

原则:是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。 a采取适宜的开发模型,用以控制易变的需求

b采用合适的设计方法,支持软件的模块化抽象化与信息隐藏、局部化、一致性及适应性等设计要求

c提供高质量的工程支持,特别强调软件工具和环境对软件过程的支持

d重视开发过程的管理,要有效利用可用的资源,生产满足目标的软件产品,提高软件组织的生产能力

6软件工程的本质特征:

a软件工程关注大型程序的构造

b软件工程的中心课题是控制复杂度 c软件经常发生变化(控制和管理)

d开发软件的效率非常重要(工具与环境) e和谐的合作是软件开发8的关键(团队精神) f软件必须有效地支持它的用户

g在软件工程领域是由一种文化背景的人为另一种文化背景的人创造产品 7软件工程的内容:软件开发技术+软件项目管理

软件开发技术:为了完成软件生命周期各阶段的任务,所必须具备的技术手段。包括软件开发方法学、软件工具和软件工程环境等。

软件项目管理:软件项目管理包括软件度量,项目估算,进度控制,人员组织,配置管理,项目计划等。统计数据表明,大多数软件开发项目的失败,并不是软件开发技术方面的原因,而是不适当的管理造成的。

8软件工程的传统解决途径就是强调使用生存周期方法学和各种结构分析及结构设计方法 9软件生命周期定义:软件的产生到报废的全部过程。 软件生命周期的七个阶段:a问题的定义及规划b需求分析 c程序编码 d软件测试 f系统转换 g运行维护

软件生命周期的模型:瀑布模型,迭代式模型,快速原型模型,增量模型,螺旋模型。 瀑布模型:以文档为驱动,只有在一个阶段的文档已经编制好并获得软件质量保证小组的认可,才可进入下个阶段。简单,分阶段,阶段间存在因果关系,各个阶段完成后都有评审,允许反馈,不支持用户参与,要求预先确定需求。适用于需求易于完善且不易变更的软件系统。

模型:需求分析(需求说明书)->系统设计(系统设计书)->程序设计(程序设计书)->编码(程序清单)->测试(测试报告)->运行和维护(维护报告,改进的系统) 迭代式模型:将整个项目的开发目标划分成一些更易于完成和达到的阶段性小目标,这些小目标都有定义明确的阶段性评估标准。整个迭代过程包含需求、设计、实施、部署、测试等各种类型的开发活动,迭代完成之后要对迭代完成的结果进行评估,并以此为依据进行下一次迭代的目标。 快速原型模型:利用原型辅助软件开发的一种思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反复评价和改进原型减少误解,弥补漏洞,适应变化,最终提高软件质量。不要求需求预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化,适用于需求复杂、难以确认、动态变化的软件系统。 增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第一个增量往往是核心的产品,第一个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每个增量发布后不断的重复,直到最终完善产品。增量模型强调每一个增量均发布一个可操作的产品。增量模型中软件产品是被增量式一块块的开

发的,运行开发活动并行和重叠。适用于技术风险较大用户需求较为稳定的软件系统。 螺旋模型:采用一种周期性的方法来进行系统的开发。强调了其他模型所忽视的风险分析,在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。适用于软件开发风险较大的软件系统。

10主流的软件开发技术主要有:C/S与B/S结构、软件构件、中间件、软件重用等。

11C/S结构:将计算机应用任务分解成多个子任务,由多台计算机分工完成,克服终端/主机结构中主机负担过重、用户界面不友好等缺点,因而得到了广泛应用。 C/S系统由3个基本部分组成:客户机、服务器和中间件

C/S环境下,通常客户机上驻留界面显示逻辑和应用逻辑,服务器上驻留事物逻辑和DBMS功能,中间件保证各部件(软件和硬件)之间透明地连接。 C/S环境下组成应用程序的四个部分:

a用户界面显示逻辑(这是与用户交互的应用代码),负责完成屏幕格式化、屏幕信息读写、窗口管理、键盘及鼠标管理等任务。最流行的形式是各种图形用户界面(GUI) b应用逻辑(这是根据输入数据来完成业务处理和规则的应用代码),这些代码通常用3GL或4GL编写

c事物逻辑(这是应用程序中用DML语句编写代码),在关系DBMS中一般采用SQL编写 d数据管理(这是应用程序中由DBMS完成访问实际数据库的程序)。

客户端主要开发工具和常用技术:VB,Delphi, Visual FoxPro,PowerBuilder,Java,ODBC技术和JDBC技术,ADO技术

B/S结构:在TCP/IP协议簇的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。客户端的浏览器通过URL访问Web服务器,Web服务器请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器。 B/S由4部分组成:浏览器、Web服务器、应用服务器和数据库服务器组成。 客户端技术:HTML语言,Javaapplet(Java小应用程序),脚本程序,CSS,DHTML,插件技术,VRML技术。 服务器端技术:服务器技术(Web服务器构建的基本技术),CUI技术(公共网关接口技术),PHP技术,ASP技术(活动服务器页面技术),ASP.NET技术,Servlet JSP技术,JavaBeans技术,Ajax技术

Web应用的三层架构模式:表现层、业务逻辑层和书记访问层,目前用的最多的是MVC应用架构模式。

13软件构件技术:让软件开发像机械制造一样,可以用各种标准和非标准的零件来进行组装,是一种软件实现的技术和方法,是对面向对象方法在二进制代码级的完善和补充。 构件:一种新的、不依赖于某种特定语言的、在二进制代码级可重用的软件“对象”,构件由接口构成,把接口和接口的实现分离开。

软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供,用不同语言开发,在不同硬件平台上实现,方便、动态地集成。

现有的软件市场上,有三种代表性的构件技术流派:COM(二进制标准)、JavaBean(解决平台依赖性和语言依赖性的软件构件技术标准)、CORBA(以IDL为桥梁、基于ORB中间件的构件技术).

构件的使用都需要先注册,要考虑的因素有: a应用编程接口(API) b构件所需的开发和集成

c运行需求:资源的使用,时间或速度,网络协议

d服务需求:操作系统的接口,需要其他构件的支持 f安全特征:访问控制,身份验证协议

g嵌入式设计假定:特定的数值/非数值算法的使用。 h异常处理 构件设计:

a 以接口为核心,使用开发标准 b构件语义的描述要形式化

c提炼,封装构件的过程要严格记录 d设计模式也可以重用 f利用开发工具

14软件重用技术定义:将已有的软件成分用于构造新的软件系统。 软件重用分类: 依据重用的对象:

a 产品重用(重用已有的构件) b过程重用(重用已有的开发过程) 依据可重用信息进行重用的方式: a白盒重用(指已有的构件并不能完全符合用户要求,需要根据用户需求进行适应性的修改) b黑盒重用(指对已有的构件不做任何的修改,通过构件组装的方式直接进行重用) 15软件开发过程中的项目管理对象:软件工程项目 内容:

a 软件项目需求管理

b软件项目估算与与进度管理(确定项目的范围和目标,工作量的估算,活动计划的编制,资源分配管理,风险管理,监督和控制)

16软件开发过程中的配置管理:指一套管理软件开发和软件维护以及其中各种中间软件产品的方法和规则。

任务:定义配置项,标识配置项,定义基线,定义软件配置库,控制配置,配置审计,配置状态报告,变更管理,

实施流程:规划、调整网络开发环境,设计配置管理库,定义配置管理系统的角色,制定配置管理流程,相关人员的培训,纠正企业在软件配置管理中存在的问题。 “

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程重点在线全文阅读。

软件工程重点.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1091315.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: