版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象软件设计思想Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.院校合作事业部培训部前言
OO是“面向对象”的英文ObjectOriented的缩写,这个词在整个软件领域制造了一场深刻的变革,大大改变了传统的面向过程E的va软l件ua分t析io和n开o发n发l模y.式。ated•wi面t向h
对As象p是os一e种.S与l语id言es无f关o的r
设.N计E思T
想3.,5符Cl合i人en类t自Profi然的思C考o习py惯r来ig看h待t
现20实0系4系-统20。11
Aspose
Pty
Ltd.面向对象的语言提供强大的面象对象的机制,支持对问题更高层次的抽象描述,使软件的设计和开发者可以更好的把握问题的本质,从而提高程序的开发质量和效率。目录系统分析设计思想概述面向过程的结构化分析设计思想面向对象思想概述Evaluation
only.ated•wiOtOO思h
A想s的po本se质.S是li什d么es
for
.NET
3.5
Client
Profi面向对C象op程yr序ig设ht计2的00方4-法2011
Aspose
Pty
Ltd.优秀的系统设计追求的原则多层结构软件设计系统分析设计思想概述段·“软件危机”、让人们开始追求“高质量、高速度”的生产软件·技术和管理手段E是va实l现u现a“ti两on高o”nl开y.发的必要手ated
with
Aspose.Slides
for
.NET
3.5
Client
Profi➢一C个op完yr善ig的h、t
2成0功04的-2软01件1系As统po分se析P设ty计L对td于.软件的质量、开发过程是至关重要的➢现代的软件分析设计方法,是与软件开发过程管理的思想相结合的系统分析设计思想概述预先要把指挥计算机如何进行操作的指令序列(称回顾计算机工作原理:计算机的基本原E理va是l存u存a贮ti程o序n和on程l序y.控制。ated
with为As程p序os)e和.S原l始id数e据s
通fo过r输.N入E设T备3.输5送C到li计e算nt机P内rofi存C贮o器py中r。ig每h一t
条20指0令4-中20明1确1规As定p了os计e算P机ty从L哪td个.地址取数,进行什么操作,然后送到什么地址去等步骤。系统分析设计思想概述程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存贮器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内Ev存a中lu去a。ti接o下n
来on,l再y再.取出第二条ated
wit指h
令A令s,po在s控e.制S器li的d指es挥f下o完成.r完N规ET定3操.作5
。Cl依i此en进t行Profi下去C,op直y至ri遇g到ht停2止0指04令-。2。011
Aspose
Pty
Ltd.系统分析设计思想概述物理计算机的工作就是处理数据—运算软件的本质分为两个独立部分:数据和指令数据在机器中是按一定规则排放的—数据结构指令是按照一定的顺序调用的—算法由计算机物理运行角度分析程序:程序=计算机硬件上运算的指令流和数据流CPU能够处理的只E是va数l据uation
only.ated
wi➢thCPAUs处p理os的e方.S式l都id是e在s在fCPoUr指.令NE集T里3定.5义C好l的ient
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.系统分析设计思想概述程序定义等式:程序=数据结构+算法理解算法:可行的操作步骤,在计算机程序中,算法就是指令广义上讲,一切的数据操作代码都是某种算法的实现Evaluation
only.ated
wi➢th软A件s算po法s的e.含Sl义i是de为s解f决or一.个N问ET题3而.5采C取l的ie有n限t
的Pr、ofi的有C限op集y合right
2004-2011
Aspose
Pty
Ltd.系统分析设计思想概述理解数据结构:定义一、数据元素集合(也可称数据对象)中各元素的关系。定义二、相互之间存在特定关系的数据元素集合。Evaluation
only.ated
wi➢th数A据s结po构s是e.计Sl算i机de存s储f、or组.织N数ET据3的.5方C式l,ie实n际t
上Profi是信C息op的y一ri种g表ht示2协0议04,-在2在0信11息A和s数po据s之e
间Pt搭y起L了t了d.一座桥梁,用来在计算机中描述现实世界中的信息系统分析设计思想概述象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述最终实现通过指令流+数据流实现现实系统的目的计算机解决一个具体问题步骤:首先要从具体问题中抽象出一个适当的数学模型然后设计一个解此Ev数a学lu模a型t型i的on算o法n(lyA.lgorithm)ated
wi➢th最A后s编po出s程e.序S、l、i进de行s测f试or、.调N整ET直3至.得到C5得l最ie终n答t
案Profi寻求C数op学y模ri型g的h的t实2质00是4分-2析0问11题A,s从po中se提P取t操y作Lt的d对.系统分析设计思想概述系统分析思想的发展:Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.系统分析设计思想概述
对于计算机处理系统:数据结构和算法用来描述现实世界的过程,由此产生两类方法:侧重于算法实现的结构化设计和侧重于数据处理的面向数据的设计。两者在一开始建模的E时va候l就ua出ti现o了n分on离l的y.数据和算法ated•wi两t者h
都As是p先os有e了.S数l学id变es换f的o思r
想.N,E再T
来3.映5射Cl现i实en世t界Profi的过程Copyright
2004-2011
Aspose
Pty
Ltd.这两类方法都更加贴近计算机系统的执行方式、贴近数学世界的方式
面向对象的思想则是一开始把大的系统分解为小的系统,而数据和指令在开始没有分离结构化分析设计思想
结构化程序设计方法,是面向过程实现的,是计算机软件的传统分析设计方法,同时也是计算机硬件流程化信息处理模式的真实反映。特点:Evaluation
only.ated
wi➢th首A先s把po系s统e.的Sl分i析de设s计f看or做.是N一ET个3自.5顶C向l下ie、n逐t
步Profi求精C的op过y程right
2004-2011
Aspose
Pty
Ltd.其次是采用模块化的设计方式,把大的问题,分解为一个一个的功能单元,单元尽可能是单入口、单出口。同时尽可能地保证功能单元成为功能独立的软件模块,尽量减少副作用整个软件就是功能单元的顺次调用过程。结构化分析设计思想多的或者变动已被很好预期的信息系统优点:结构化设计方法的优点是高效率,直接面对问题,结构清晰,适宜构Ev建a已lu经a分ti析o的n
很on清l楚y楚.的、变动不ated•wi思t想h
A:spose.Slides
for
.NET
3.5
Client
Profi结构C化op分y析ri方g法ht是2真00实4反-2应0计11算A机s硬p硬o件se流P程t化y
信Lt息d.的,背后的思想是放大了物理的计算机,建立一台更贴近现实世界的、强大的、抽象的计算机。相当于为每一种实际系统制造了不同的计算机结构化分析设计思想示例:需求:实现一个邮件发送程序(邮件列表存在数据库里面)先把邮件内容读入,然后连接数据库,读取显示邮设计思路是一直基于计算机如何具体实现的思想上的,整体体现的就是站在计算机的角度处理问题的解决方法Evaluation
only.ated•wi过t程h
A式sp的o设se计.S思li路de实s现fo:r
.NET
3.5
Client
Profi件列C表op地y址ri,g选ht择2邮0件04地-址2址0,11最A后s调po用s本e
机Pt的y相L应t应d.API函数命令发送邮件结构化分析设计思想为过程式的设计是自上而下的,这要求设计者在一主要缺点:过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时Ev候a,lu往a往ti显o得n
力on不l从y从.心。这是因ated
wit开h
始A始s就po要s对e.需S要li解d决es的f问o题r题.有N清ET楚3的.了5
解Cl和i把en握t。Profi在问C题op比y较ri复g杂ht的2时0候04,-要2要0做11到A这s一po点s会e
比Pt较y困L难t难d,.而当开发中需求变化的时候,以前对问题的理解也许会变得不再适用。事实上,开发一个系统的过程往往也是一个对系统不断了解和学习的过程,而过程式的设计方法忽略了这一点。面向对象思想概述
面向对象的机制和思想是在结构化设计的基础上发展而来的,继承了面向结构开发的优点,支持新的编程机制,又在一定的方面扩展了自己的强大优势Evaluation
only.ated•wi面t向h
A对sp象o是se基.S于li分de解s而fo不r是.N变ET换3的.5方C法li。en它t的Profi分析过C程op是yr把ig一h个t
2大00系4统-2分01解1
为As小po系se统P的ty过L程td。.
将现实系统的过程抽象为计算机世界能处理的过程(数据结构和算法)的变换向后推迟,最终转换为对一系列相对简单的小的现实系统的变换,这就使系统分析设计的风险降低,并且风险也得到分散面向对象思想概述对需求的直接描述,提高开发效率`对于“高质量”的开发,面向对象的系统分析和设计可以改进需求分析,软件更接近实际需求。根本上,面向对象的方法支持在问题域直接建模和解决问题,使模型更接近问题,接近现实。
面向对象的系统分析设计方法简单来说就是
“两高”,即高效率和高质量的程序开发高效率和高质量的Ev软a件lu开a发ti的on直o接n矛ly盾.,在软件重用上得到了统一的解决ated
wi➢th对A于s“po高s效e.率S”li的de开s发f,or面.向N对ET象3的.分5
C析l设ie计n协t
助Profi建立C软op件y的ri重g用ht机2制0,04包-括2括0继11承A和s对po象s重e
用Pt,y通L过t过d.OO思想的本质是什么现实系统,就越有可能正确,因此模拟的核心就是面向对象的思想核心两个字就可以概括:模拟面象对象提供的机制,本意就是支持我们更好地、更方便地模拟现实世界对现实系统越是完Ev善a的lu模a拟t拟i,on越o是n可ly以.容易的、正ated
wit确h
地As反po映s现e.实S系li统d,es也f就o是r
说.说N,ET我3们.的5
模Cl型i越en接t近Profi对这C个op系y统ri结g构ht的2模0拟04-2011
Aspose
Pty
Ltd.对一个系统建模,如果模型越接近现实系统的结构,就越容易反映现实的系统,并且适应现实系统的变化,这种适应是至关重要的,因为系统总是不断变化的,进行系统建模,反映这种变化的能力是必需的OO思想的本质是什么任何一种软件设计方法,都是建立一种系统模型,通过这个模型来反映系统的有关信息的过程。其结果都是要完成一个映射,就是把系统的数据和操作分开的进行这个分解是建模的最大挑战映射。这个映射是系E统va建l模ua时t最io为n核o心n心l的y.内容,所以ated➢wi结t构h
化As设p计os在e.开S始li就d要es从f纷o繁r
复.N杂E的T的3现.实5系Cl统i里en,t提Profi取数据C和o对py数r据ig的h操t
作20,0也4也-就20是1说1,As一p开os始e就P要ty进L行td.关键的切分,对整个系统必须有完整的准确理解面向对象的方法,一再推迟这种关键切分,只是进行问题分解,直到问题很小了,才进行这步切分,这使得分析员不会过早的纠缠于细节,而是时时刻刻关注体系和结构,有利于作出良好的设计面向对象程序设计的思维方法该抛开具体编程语言的束缚,集中精力分析我
们要实现的软件的业务逻辑,分析软件的业务
流程,思考应该如何去描述和实现软件的业务。毕竟软件只是一个载体,业务才是我们真正要
实现的目标
如果说传统的面向过程的编程是符合机器运行指令的流程的话,那么面向对象的思维方法就是符合现实生活中Ev人a类lu解at决io问n题on的ly思.维过程ated•wi在t面h
A向s对po象se的.S软li件d分es析fo和r设.N计E的T
3时.5候C,li要e提nt醒Profi自己,C不op要yr一ig上ht来2就00去4想-2程01序1
代As码po的se实P现ty,L应td.面向对象程序设计的思维方法地址列表。操作的数据实体是“邮件”。整体程序模
回过头看面向结构那个发邮件的例子,应该如何应用面向对象的思维方法呢?面象对象的设计思Ev路al实u现at:ion
only.ated
wi➢th程A序s的po功s能e.应Sl该i有de:s读f取or邮.件N,ET发3送.5邮C件l,ie读n取t
邮Pr件ofi型可C以op看y做ri:g一ht个2邮0件04容-器2器0,11可A以s发po送s不e
同Pt的y邮L件t件d。.基于以上的模型,可以初步设计两个类,邮件容器类:
EmailContainer、邮件类:EmailModel面向对象程序设计的思维方法EmailContainer类里包含的三个功能可以定义为三个方法:读邮件ReadEmail(EmailModel
model)、发邮件
SendEmail(EmailModel
model)、读取邮件列表
GetEmailList()Evaluation
only.ated
w➢iEtmhaiAlsMpodoesle类.里Sl包i含de三s个fo属r性.:NE邮T件3头.5EmCaliilHeenatdePrr、ofi邮件体EmailBody及邮件地址EmailAdress三个方C法op:y检ri验g邮h邮t件2头00Ch4e-c2k0He1a1deArs(p)o、s检e验Pt邮y件L体td.CheckBody()、检验邮件地址EmailAdress()至此基本的业务模型出现了,初步模拟了邮件程序的现实结构,到此我们还未考虑应该如何具体的调用计算机指令处理数据如何具体实现面向对象程序设计的思维方法用来返回数据处理的相应数据至此我们的模型完全完成了:一共是三个类,每个类在语义上和功能上都是完全独立的最后我们就可以运用面向过程的思想,在每一个类里调用指令处理具体数据了下面我们进一步精化软件的功能实现EmailContainer类里ReadEmail(EmailModel
model)、SendEmail
(EmailModel
model)可以直接在方法体内实现代码了,而GetEmailList()方E法v法a要lu和a数ti据o库n
通on信l,y.因此对于此功ated
w能it我h们As还p要os进e一.S步l的id分e解s
:f:o再r定.N义E一T
个3.数5据C库li处e理n理t类P:rofiDBContCroolp,yr里i面gh包t含2连00接4、-、2处01理1数A据sp的o一se系P列t方y
法L法t,d.优秀的系统设计追求的原则
一个设计良好的系统应该是:稳定的,安全的,灵活的,可复用的Evaluation
only.ated
wi➢t基h
本As原p则o则s一e.:S类li间d的es结f构o追r
求.N—ET高3内.5聚C、l低ie耦n合t
Profi基本C原o则p则y二ri:g类ht的2功0能04应-该20是1单一A1单s的pose
Pty
Ltd.基本原则三:针对接口的编程而不是针对接口的实现多层结构软件设计分层的概念分层是一个在系统分析设计中经常被使用的思想,层次模型是系统设计架构级别的概念是和具体分析分层的核心还是模Ev块a化luation
only.ated
wit方h
法A法s、po实s现e.语S言li无d关es的f概o念r念.NET
3.5
Client
Profi分层C的op思y想ri由gh来t已2久00,其4其-核20心1是1把As系p统os进e行P分ty层L,t从d.而限制系统变化带来的影响。每一层可以单独的设计,单独的演变和升级。大大提高了系统的灵活和稳定性,可以应付更为广泛的需求变化多层结构软件设计向调用。同层之间的调用一般是允许的分层的原则典型的层次模型是下层为上层提供全部服务调用关系是单向的Ev,a只lu有a上ti层on调o用n下ly层.,不存在反ated
wi➢th保A证s层po间s的e.完Sl整i性de,s层f次or模.型N间ET没3有.5跨C层l的ie调n用t
,Profi就是C完op整y的ri,g存ht在2跨0层04的-调2调0用11,A就s是po不s完e
整Pt的y
Ltd.多层结构软件设计信息管理系统基本的层次模型:最基本的层次模型是3层模型,包含展示层、逻辑层和数据层。Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.多层结构软件设计常用多层结构的层次模型Evaluation
only.ated
with
Aspose.Slides
for
.NET
3.5
Client
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.多层结构软件设计编程”,常用的方法是采用“工厂”设计模式面向对象的设计层与层之间的常用连接方式层与层的模块之间的连接应遵循“高内聚、低耦合”的原则,保证层次Ev间a的lu独a立ti性o。n
采on用l“y“.基于接口的ated•wi实t例h
A理sp解o“se基.S于li接de口s的fo编r程.N”ET
3.5
Client
ProfiCopyright
2004-2011
Aspose
Pty
Ltd.Application代表应用层的逻辑,DB代表了数据库访问的逻辑,在这个设计中,Application直接调用了DB的服务来将数据存储到数据库中。多层结构软件设计系就会让人头痛了。当程序的模块越来越多,如果不限制它们之间的联系,那模块间的依赖、程序的复杂度和开发维护的难度都会成指数上升这样做的缺点是Application对DB有了依赖关系,一旦DB有了任何变化,Application都有可能会受其影响需要改动。当然,如果只是两个类的话,这种依赖关系根本算不E上va什l么ua问t题i题o,n然on而l,y.我们有理ated
wi由t相h信As,p应os用e层.S和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《向画家学画故事》表格版教案-2026-2027学年冀美版(新教材)小学美术四年级上册
- 4.3.2高速交叉线岔
- 项目七 Internet应用电子课件
- 活塞式发动机修理工岗位安全竞赛考核试卷含答案
- 煤粉工岗中环保及安全考核试卷含答案
- 起毛挡车工岗中工作规范考核试卷含答案
- 2025年光伏逆变器科普教育创新方案
- 2027版《普通话与职场口才训练》课件 项目四
- 2025年职业健康培训考试试题+答案
- 2025年中储粮湖南分公司招聘(33人)笔试历年参考题库附带答案详解
- JG/T 368-2012钢筋桁架楼承板
- DB32/T 3935-2020堤防工程技术管理规程
- 中医养肺课件
- 母子断绝协议书
- 2024煤气作业证库
- 空气动力学与飞行原理课件:无人机空气动力学基础
- 工业视觉系统运维员-国家职业标准(2023年版)
- 4.2基因表达与性状的关系2表观遗传高一下学期生物人教版必修2
- GB/T 718-2024铸造用生铁
- JTT664-2006 公路工程土工合成材料 防水材料
- 嘉定国企招聘笔试真题
评论
0/150
提交评论