已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基 础 知 识11 什么是软件工程软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。1、概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。2、详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。1.2 什么是软件文档软件文档(document)也称文件,通常指的是一些记录的数据 和数据媒体,它具有固定不变的形式,可被人和计算机阅读。它和 计算机程序共同构成了能完成特定功能的计算机软件。我们知道,硬件产品和产品资料在整个生产过程中都是有形可见的,软件生产则有很大不同,文档本身就是软件产品。没有文档的软件,不成其为软件,更谈不到软件 产品。软件文档的编制(documentation)在软件开发工作中占有突 出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维 护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软 件产品的效益有着重要意义。文档包括:1、 用户文档:用户手册;操作手册;维护修改建议;软件需求(规格)说明书2、 开发文档:软件需求(规格)说明书;数据要求说明书;概要设计说明书;详细设计说明书;可行性研究报告;项目开发计划3、 管理文档:项目开发计划;测试计划;测试报告;开发进度月报;开发总结报告1.3软件项目管理软件产品的规模也越来越庞大,各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。“软件项目管理”栏目分五个块,分别为:1、 学术交流在其中发布一些关于软件工程理论、项目管理理论、软件国家标准等相关的基本资料,这些应该是“软件项目管理”的基本学术理论。2、 方法措施在其中介绍软件项目管理中,在项目开发的各个阶段,采用的不同类型的各种方法措施,提供给软件项目管理人员专业的技术上的方法指导。3、 专家视角主要从各种刊物、网上摘录一些软件项目管理专家的关于项目管理的新思维、新观点,展示软件项目管理领域的多方视角。4、 管理软件介绍更管理软件相关的文章,介绍多种软件的功能、目标、使用场合、使用方法、使用技巧等,为使用管理软件的管理人员提供一些天地,也为一些还没有使用软件来进行项目管理的管理者们提供入门知识。5、 百家争鸣放一些杂项内容,比如论坛中的比较好的问题和解答,某些非常规的软件项目管理的观点,还有来自各方的相关信息,等等。1.4软件测试概述不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用 (如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等) 中使用质量有问题的软件,还可能造成灾难性的后果。软件中的错误原因主要有如下几点:、交流不够、交流上有误解或者根本不进行交流在应用应该做什么或不应该做什么的细节(应用的需求)不清晰的情况下进行开发。、软件复杂性图形用户界面(GUI),客户/服务器结构,分布式应用,数据通信,超大型关系型数据库以及庞大的系统规模,使得软件及系统的复杂性呈指数增长,没有现代软件开发经验的人很难理解它。、程序设计错误象所有的人一样,程序员也会出错。、需求变化需求变化的影响是多方面的,客户可能不了解需求变化带来的影响,也可能知道但又不得不那么做。需求变化的后果可能是造成系统的重新设计,设计人员的日程的重新安排,已经完成的工作可能要重做或者完全抛弃,对其他项目产生影响,硬件需求可能要因此改变,等等。如果有许多小的改变或者一次大的变化,项目各部分之间已知或未知的依赖性可能会相互影响而导致更多问题的出现,需求改变带来的复杂性可能导致错误,还可能影响工程参与者的积极性。、时间压力软件项目的日程表很难做到准确,很多时候需要预计和猜测。当最终期限迫近和关键时刻到来之际,错误也就跟着来了。、自负人更喜欢说:没问题这事情很容易几个小时我就能拿出来太多不切实际的没问题,结果只能是引入错误。、代码文档贫乏贫乏或者差劲的文档使得代码维护和修改变的异常艰辛,其结果是带来许多错误。事实上,在许多机构并不鼓励其程序员为代码编写文档,也不鼓励程序员将代码写得清晰和容易理解,相反他们认为少写文档可以更快的进行编码,无法理解的代码更易于工作的保密(“写得艰难必定读的痛苦”)。、软件开发工具可视化工具,类库,编译器,脚本工具,等等,它们常常会将自身的错误带到应用软件中。就象我们所知道的,没有良好的工程化作为基础,使用面向对象的技术只会使项目变得更复杂。1.5 软件质量评价标准我们把影响软件质量的因素分成三组,分别反映用户在使用软件产品时的三种不同倾向或观点。这三种倾向是:产品运行、产品修改和产品转移。可以采取以下步骤实施全面质量控制: 1实行工程化开发 “信息系统开发方法”一词的广义理解是“探索复杂系统开发过程的秩序”;狭义理解是“一组为信息系统开发起工具作用的规程”,按这些规程工作,可以较合理地达到目标。规程由一系列活动组成,形成方法体系。信息系统是一项系统工程,必须建立严格的工程控制方法,要求开发组的每一个人都要遵守工程规范。 2实行阶段性冻结与改动控制 信息系统具有生命周期,这就为我们划分项目阶段提供了参考。一个大项目可分成若干阶段,每个阶段有自已的任务和成果。这样一方面便于管理和控制工程进度,另一方面可以增强开发人员和用户的信心。 在每个阶段末要“冻结”部分成果,作为下一阶段开发的基础。冻结之后不是不能修改,而是其修改要经过一定的审批程序,并且涉及到项目计划的调整。 3实行里程碑式的审查与版本控制 里程碑式审查就是在信息系统生命周期每个阶段结束之前,都正式使用结束标准对该阶段的冻结成果进行严格的技术审查,如果发现问题,就可以及时在阶段内解决。 版本控制是保证项目小组顺利工作的重要技术。版本控制的含义是通过给文档和程序文件编上版本号,记录每次的修改信息,使项目组的所有成员都了解文档和程序的修改过程。广义的版本控制技术称为软件配制管理,并已有功能完善的软件工具支持,如PVCS和Microsoft Visual SourceSafe。 4实行面向用户参与的原型演化 在每个阶段的后期,快速建立反映该阶段成果的原型系统,通过原型系统与用户交互,及时得到反馈信息,验证该阶段的成果并及时纠正错误,这一技术被称为“原型演化”。原型演化技术需要先进的CASE工具的支持。 5 尽量采用面向对象和基于构件的方法 面向对象的方法强调类、封装和继承,能提高软件的可重用性,将错误和缺憾局部化,同时还有利于用户的参与,这些对提高信息系统的质量都大有好处。 基于构件的开发又被称为“即插即用编程”方法,是从计算机硬件设计中吸收过来的优秀方法。这种编程方法是将编制好的“构件”插入已做好的框架中,从而形成一个大型软件。构件是可重用的软件部分,构件既可以自己开发,也可以使用其他项目的开发成果,或者直接向软件供应商购买。当我们发现某个构件不符合要求时,可对其进行修改而不会影响其他构件,也不会影响系统功能的实现和测试,就好像整修一座大楼中的某个房间,不会影响其他房间的使用。 6全面测试 要采用适当的手段,对系统调查、系统分析、系统设计、实现和文档进行全面测试。 7引入外部监理与审计 要重视信息系统的项目管理,特别是项目人力资源的管理,因为项目成员的素质和能力以及积极性是项目成败的关键。同时还要重视第三方的监理和审计的引入,通过第三方的审查和监督来确保项目质量。1.6 软件开发包括的主要步骤1 开发前的准备工作 一般软件项目在开发前都有系统任务书,主要规定软件的开发目标、主要任务、功能、性能指标及研制人员和经费、进度等安排,作为系统设计开发和检验的基本依据。根据系统任务书,与软件用户深入进行交流,编写需求分析报告2 软件开发过程 有了系统任务书和需求分析报告,软件设计人员就要对软件项目的实现进行系统分析,系统分析包括系统的总体方案,系统的设计说明,作为软件设计的依据。具体说明如下。 2.1 系统总体方案 在系统开发单位和用户充分交互、理解的基础上,提出系统的技术构架,对系统功能、性能等主要指标作描述,对实现方法和要求作规定,是系统进行详细设计的依据。2.2 系统设计说明 根据系统总体方案提出的系统构架、功能、性能及数据要求,确定系统的物理结构,说明系统主要技术方面的设计和采用的技术方法以及系统的标准化约束等,是系统实施的基本依据。2.3 软件开发 对于开发语言的选择因人而易,开发数据库系统可以选择DELPHI,因为它对于数据库开发的支持是很完善的。 在软件实现方面,上面已经说明了一种C/S结构,但是这种结构本身也包含了一些问题,例如C/S结构经常把应用系统的企业逻辑编写在客户端的应用程序中,因此当应用系统需要改变时,所有在客户端的应用系统都必须改变,这对于MIS系统的维护来说成本太高了;为了解决这些重复开发应用系统的成本以及为了增加应用系统的重复使用性发挥面向对象分析/面向对象设计的功能,就必须导入所谓的应用程序服务器,软件开发人员以一种特定的组件形式,例如Microsoft的COM/DCOM,CORBA对象,或是Enterprise Java Bean等,组装企业的逻辑程序代码。这种经过组装,能够执行特定企业功能的对象便称为企业对象,然后把这些企业对象分发到此应用程序服务器。程序设计中要注意合理的程序设计结构,可以将所有的公用组件放在一起。例如Delphi语言中可以新建一个单元,将所有编写的函数放在这个单元里,其他单元均可以调用,还可以新建一个数据模块(Datamodule),将所有的公共数据库控件放在这里,可以减少系统资源浪费,优化数据库程序设计。3 软件开发后的工作 软件项目在开发完成后还要进行系统测试,以测试开发出的软件的功能和性能是否达到预定要求。 3.1 软件测试大纲 这是软件设计人员用来自测系统的。3.2 用户应用测试 由用户在实际使用过程中进行测试,并给出应用证明。1.7三层结构近年来,现代企业纷纷开始建立新的管理信息系统(简称MIS)或修订原有的管理信息系统。在此过程中,关于MIS系统平台模式的选择是系统设计人员遇到的主要问题。 MIS系统平台模式大体上分为4种:主机终端模式、文件服务器模式、客户机/服务器模式(Client/Server,简称C/S)和Web浏览器/服务器模式(Browser/Server,简称B/S)。主机终端模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业MIS系统平台模式应主要考虑C/S模式和B/S模式。 B/S模式的优势:首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件,不但可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 1539-2025医用洁净工作台
- 重庆西南大学附中2025-2026学年化学高一第一学期期中达标检测模拟试题含解析
- 互联网金融行业互联网金融服务
- 经济学毕业论文选题
- 存在的主要问题与对策建议
- 交大安泰MBA毕业论文汇报模板学术版29
- 人工智能下大学生就业现状及对策
- 浅析以人民为中心的重要性
- 2025-2025第二学期文学与传媒学院教学督导工作总结
- 研究生毕业论文导师评语
- 深圳市龙华区招聘社区网格员考试真题2024
- 产康合作协议书合同
- 编制园区规划合同范本
- 职业规划评估与调整内容
- 二十届四中全会测试题及答案单选题(20题)
- YS/T 3045-2022埋管滴淋堆浸提金技术规范
- 企业内部集资合同
- 职员员工个人月度考勤表
- 护理交接班操作流程图
- 有机化学ppt课件(完整版)
- JJF(电子)0036-2019 示波器电流探头校准规范-(高清现行)
评论
0/150
提交评论