软件工程概要_第1页
软件工程概要_第2页
软件工程概要_第3页
软件工程概要_第4页
软件工程概要_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程概要数据库原理课程补充知识背景软件危机机软件开发发周期大大大超过过规定日日期软件开发发成本严严重超标标软件质量量难于保证软件的发发展大体体上经历历了三个个阶段::程序设计计阶段、软件阶段、软件工程程阶段。程序设计时代名称程序生产方式个人质量取决于个人水平设计对象以硬件为中心开发工具无维护无设计方法无以技巧为主软件时代软件项目组取决于小集团水平硬件/软件为中心无系统工具,工具为个人所有由开发者进行维护,在设计中不重视维护设计问题自顶向下有质量保证问题和持续性问题软件工程时代软件产品软件组织软件生产管理以软件为中心软件生成器设计与制作过程中均考虑维护问题,维护成本占很大比重结构化设计、原型设计从程序设设计到软软件工程程时代软件工程程的定义义IEEE【IEE93】】定义:““将系统统化的、、规范的的、可度度量的方方法应用用于软件的开开发、运运行和维维护的过程,,即将工工程化应应用于软软件中。”软件工程程是应用用计算机机科学、、数学及及管理科科学等原原理开发发软件的的工程。。它借鉴鉴传统工工程的原原则、方方法,以提高质质量,降降低成本本为目的。。两种软件件工程方方法传统软件件工程软件分析析→总总体设设计→→详细细设计→→面面向过程程的编码码→测测试面向对象象软件工工程软件分析析与对象象抽取→→对对象详细细设计→→面面向对象象的编码码→测测试结构化分分析模型型的组成成结构数据流图(DFD)E-R图状态变迁图(STD图)加工说明控制说明数据对象说明数据字典(DD)面向对象象分析模型的的组成结结构对象-关系模型类/对象模型对象-行为模型使用实例(UseCase)操作、属性、协作者对象模型型动态模型型功能模型型传统软件件工程中中的瀑布布模型可行性研研究与计计划需求分析析总体|详详细设计计编码运行维护护测试定义阶段开发阶段维护阶段段1.问问题定义义关键问题题:“要解决决的问题题是什么么?”主要结果果:提出出关于问问题的性性质、工工程目标标和规模模的书面面报告。。内容及步步骤(一)系系统任务务的提出出(二)初初步调查查(三)系系统目标标的确定定2可行行性研究究可行性、、可行性性研究的的含义可行性的的含义包包括可能能性、必必要性。。可行性分分析的对对象是系统目标标。评价总总体方案案(系统统目标))的可能能性、必必要性。。可行性研研究目的的:用最小的的代价在在尽可能能短的时时间内确确定问题是否否能够解解决,是是否有必必要去解解决。可行性研研究的内内容1.技术术上的可可行性2.经济济上的可可行性3.操作作可行性性4.时间间可行性性5.组织织与管理理上可行行性6.社会会、政策策允许的的可行性性3.需需求分析析的任务务准确地定义未来系统统的目标标,确定定为了满满足用户户的需求求系统必必须做什什么。用<需需求规格格说明书书>规规范的形形式准确确地表达达用户的的需求。基本任务务:准确确地回答答“系统必须须做什么么?”需求分析析的具体体任务1.确定定对系统统的综合合需求:(1)系系统功能能要求((2)系系统性能能要求((3)运运行要求求(4))将来可可能提出出的要求求2.分析析系统的的数据要要求:采用建立立“概念念模型””的方法法,并辅辅助图形形工具,,如:层层次方框框图、Warnier图等。。3.导出出系统的的逻辑模模型:数据流程程图、数数据字典典、主要要算法4.修正正系统开开发计划划5.开发发原型系系统4.总总体设计计的过程程设想供选选择的方方案选取合理理的方案案推荐最佳佳方案功能分解解设计软件件结构数据库设设计制定测试试计划书写文档档审查和复复审5.详详细设计计的基本本任务回答的关关键问题题:“怎样具具体地实实现这个个系统””主要任务务是设计计出程序序的“蓝蓝图”,,供程序序员日后后根据这这个蓝图图编写出出实际的的程序代代码。注意:设设计程序序的蓝图图,不是是具体地地编写程程序。设计程序序主要采采用结构构化的程程序设计计方法。。详细设计计主要任务务:编写详细细设计说说明书为此,设设计人员员应:(1)确确定每个个模块的的算法,,用工具具表达算算法的过过程,写写出模块块的详细细过程性性描述。。(2)确确定每一一模块的的数据结结构。(3)确确定模块块接口细细节。详细设计计是编码码的先导导。详细设计计具体任任务确定模块块如何实实现编写详细细设计说说明书制定单元元测试计计划详细设计计评审6.编编码程序写作作风格程序设计计方法论论自顶向下下的程序序设计方方法自底向上上的程序序设计方方法程序设计计自动化化程序设计计工具7.测测试软件测试试是为了发现现错误而而执行程程序的过程。。软件测试试是根据据软件开开发阶段段的规格格说明和和程序的的内部结结构而精精心设计计一批测测试用例例(即输输入的数数据及其其预期的的输出结结果),,并利用用这些用用例去运运行程序序,以发发现程序序错误的的过程。。软件测试试的目的的测试是程程序的执执行过程程,目的的在于发发现错误误;一个好的的测试用用例在于于能发现至至今未发发现的错错误;一个成功功的测试试是发现了至至今未发发现的错错误的测试。。测试设计计中需要要考虑的的22种测试类类型黑盒测试白盒测试试单元测试试累计综合合测试集成测试试功能测试试系统测试试端到端测测试健全测试试衰竭测试试接受测试试负载测试试强迫测试试性能测试试可用性测测试安装/卸卸载测试试恢复测试试兼容测试试安全测试试比较测试试Alpha测试Beta测试8.运运行维护护本质上是是修改和和压缩了了的软件件定义和和开发过过程分析设计编码测试验收配置复审可靠性可移植性可用性可理解性可修改性可测试性可理解性可修改性可移植性效率可靠性效率完整性一致性可理解性几种典型的开发方法:模块化方方法(modularmethod)结构化方方法面向数据据结构方方法面向对象象方法软件开发发方法结构程序序设计结构程序序设计是是一种设设计程序序的技术术,它采采用自顶向下下逐步求求精的设计方方法和单入口单单出口的控制结结构。逐步求精精的含义义总体设计计阶段逐逐步求精精的含义义把一个复复杂问题题的解法法分解和和细化成成一个由由许多模模块组成成的层次次结构的的软件系系统。详细设计计阶段逐逐步求精精的含义义把一个模模块的功功能逐步步分解细细化为一一系列具具体的处处理步骤骤或某种种高级语语言的语语句。结构程序序设计优优越性自顶向下下逐步求求精的方方法符合合人类解解决复杂杂问题的的普遍规规律,因因此可以以显著提提高软件件开发工工程的成成功率和和生产率率。用先全局局后局部部、先整整体后细细节、先先抽象后后具体的的逐步求求精过程程开发出出的程序序有清晰晰的层次次结构,,因此容容易阅读读和理解解。不使用GOTO语句句,仅使使用单入入口单出出口的控控制结构构,使得得程序的的静态结结构和它它的动态态执行情情况比较较一致,,易于阅阅读和理理解。……传统方法法学的缺缺点瀑布模型型的缺点点:僵化化瀑布模型型要求::生命周周期各阶阶段间遵遵守严格格的顺序序。实际情况况是:软软件开发发往往在在反复实实践中完完成。瀑布模型型要求::预先定定义并““冻结””软件需需求。实际情况况是:某某些系统统的需求求的一个个逐渐明明确的过过程,且且预先定定义的需需求到软软件完成成时可能能已经过过时。结构化技技术的缺缺点(SA-SD-SP)本质上是是功能分分解,以以实现功功能的过过程为中中心。而用户的的需求变变化主要要是针对对功能的的。这就就使基于于过程的的设计不不易被理理解;且且功能变变化往往往引起结结构变化化较大,,稳定性性不好。。系统有明明确的边边界定义义,且系统统结构依依赖于系系统边界界的定义义,这样样的系统统不易扩扩充和修修改。数据与操操作分开开处理,可能造造成软构构件对具具体应用用环境的的依赖,,可重用用性(reusability)较较差.软件工程程的新途途径之一一:快速速原型法法适用于用用户驱动动的系统统(即需需求模糊糊或随时时间变化化的系统统)建造/修改原型用户测试运行原型

听取用户意见传统方法法和面向向对象方方法的比比较传统方法系统是过程的集合过程与数据实体交互过程接受输入并产生输出面向对象方法系统是交互对象的集合对象与人或其它对象交互对象发送与响应消息传统方法法数据与与过程是是分离的的过程1输入输出过程2过程3数据实体体属于该对对象的数据对象处理数据据的方法法消息消息对象把数数据和处处理数据据的方法法封状成成一个单单元为什么对对面向对对象方法法感兴趣趣?面向对象象方法的的主要优优点:自然性::追求软件件系统对对现实系系统的直直接模拟拟,尽量量实现将将现实世世界中的的事物直直接映射射到软件件系统的的解空间间中。软件复用用:可复用性性(可重用性)可扩展性可管理性面向对象象分析面向对象象分析的的关键::识别出问问题域内内的对象象,并分分析它们们相互间间的关系系,最终终建立起起问题域域的简洁洁、精确确、可理理解的正正确模型型。面向对象象方法最最基本的的原则::按照人们们习惯的的思维方方式,用用面向对象观点点建立问问题域的的模型,,开发出出尽可能能自然地地表现求求解方法法的软件件。面向对象象建模用面向对对象方法法开发软软件,通通常需要要建立三三种形式式的模型型:对象模型型:描述系系统数据据结构动态模型型:描述系系统控制制结构功能模型型:描述系系统功能能一些具体体工具介介绍ARoomhierarchybasedonaninteriordesigner’sperspectiveRoomRoomwithlightsRoomwithwindowsGarageBasementKitchenBathroomRoomwithFurnitureLivingRoomFamilyRoomBedRoomDiningRoom层次方框框图数据流程程图DFD是结构化化系统分分析的主主要工具具,它表表示了系系统内部部信息的的流向,,并表示示了系统统的逻辑辑处理的的功能数据流程程图的特特性(1)抽象性:具体的的组织机机构、工工作场所所、物质质流等等等都去掉掉,仅剩剩下信息息和数据据存储、、流动、、使用以以及加工工的情况况。(2)概括性:它把系系统对各各种业务务的处理理过程联联系起来来考虑,,形成一一个总体体,具有有概括性性。(3)数数据流程程图描述述的主体是抽象出出来的数数据。(4)数数据流程程图具有有层次性,一个系系统将有有许多层层次的流流程图。。数据流程程图的用用途系统分析析员用这这种工具具可以自自顶向下下分析系系统信息息流程可在图上上画出需需要计算算机处理理的部分分根据数据据存贮,,进一步步作数据据分析,,向数据据库设计计过渡根据数据据流向,,定出存存取方式式对应一个个处理过过程,用用相应的语语言、判定表等工具表表达处理理方法程序流程程图、伪伪码、盒盒图、问问题分析析图开始PGQandP停止FFdefkx2de123

While

x3cx21cDo-Whilex323dek:PROCEDUREspell_checkISBEGINSplitdocumentintosinglewordsLookupwordsindictionaryDisplaywordswhicharenotindictionaryCreateanewdictionaryENDspell_check几种表示示工具比比较流程图伪码PDL盒图N-S问题分析图PAD结构化差中优优逻辑表达中良良良易转换代码良优良优直观性中中良良使用频率优优中中判定表判定表能能够清晰晰地表示示复杂的的条件组组合与应应做的动动作之间间的对应应关系,,而其它它的工具具不易表表示。一张判定定表由四四部分组组成,左左上部列列出所有有条件,,左下部部是所有有可能做做的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论