版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何构造系统--一个小例子
----用VisualBasic开发一个应用程序ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员控件对象类窗口对象属性设置窗口工程窗口窗体对象设计窗口窗体对象控件对象对象的事件
驱动程序窗口软件系统的一种构造环境:VisualBasic(目标)软件系统产生用户使用如何构造系统--一个小例子(1)目标软件系统与其构造环境怎样构造呢?如何构造系统--一个小例子(2)如何利用环境提供的对象来构造程序VisualBasic提供了一组部分功能已经实现的对象(对象框架)从中选择合适的对象来构造自己的应用程序如何构造系统--一个小例子(2)如何利用环境提供的对象来构造程序设置对象的属性,调整界面的布局,以反映应用程序的语义如何构造系统--一个小例子(2)如何利用环境提供的对象来构造程序为不同对象的不同操作,配置不同的程序,以完成不同的功能如何构造系统--一个小例子(3)程序的构造与运行调试并运行应用程序开发/编辑状态下的应用程序运行状态下的应用程序开发/编辑状态下的应用程序运行状态下的应用程序如何构造系统--一个小例子(4)小结?构造系统是简单的构造系统,利用面向对象的思维进行构造,是简单的需要知道并了解对象?面向对象程序设计?面向对象系统构造?复杂系统/方法,之所以学习/掌握不好,是因为没有思维的引导而仅注意细节对象及相关概念
---由对象的通俗示例到VisualBasic的对象ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员现实世界(或者说系统)是由可区分“对象”构成的…(对象标识)“对象”之间是相互独立的,对象有自己的状态、对象自己执行自身的动作而无需其他对象干预…(对象属性及函数)“对象”在接收到需服务的请求(消息/事件)时,可为其他对象提供服务…(消息驱动/事件驱动)张三李四王五类与对象的概念对象及相关概念(1)怎样理解类与对象?有些对象具有相似的特性描述,组成一个“类”。各自独立运行的类的实例:对象同类对象的共性形式或者说对象的类型:类张三王五类与对象的概念对象及相关概念(1)怎样理解类与对象?类是对象的抽象或称对象的“类型”,定义了同类型对象的框架(名字、属性和功能);对象是类的实例,是实际运行的个体。类对象消息?消息是对象之间传递的内容,如指示、打听、请求……消息是对象之间交互的唯一的内容消息是
“对象.函数()”的调用和执行张三王五请问...(消息)您问…的解答是…(消息)Call王五.回答身高()Execute王五.回答身高()andReturn“身高是1.64m”对象及相关概念(2)对象间的交互--消息?
事件(Event)?事件是外界产生的一种能够激活对象功能的特殊消息。当发生事件后将给所涉及对象发送一个消息,对象便可执行相应的功能---事件驱动;有人敲门有电话张三.电话铃响(){//不接;自动回复在上课;…}张三.有人敲门(){//暂停课程;询问并处理;…}张三.其他(){…….}对象及相关概念(3)什么是事件?什么是事件驱动程序?对象及相关概念(4)Windows的对象与VisualBasic的对象?窗口(窗体)对象文本框对象按钮对象列表框对象滚动条对象程序员无需关心的部分:事先做好,直接使用程序员可能关心的部分:留出相应位置,允许程序员编写和修改程序员关心的部分:在相应位置,编写和修改对象及相关概念(5)VisualBasic的对象框架与基于对象框架的系统构造?将同类别对象的共性内容做成一个对象框架对象框架基于对象框架的系统构造对象及相关概念(6)可视化程序的一种支撑技术—消息循环?应用程序1的消息循环:循环接收属于应用程序1的消息Windows系统的消息循环:循环接收属于操作系统的消息消息1消息2消息m应用程序2应用程序n应用程序1应用程序2的消息循环:循环接收属于应用程序2的消息消息1消息2消息m应用程序n的消息循环:循环接收属于应用程序n的消息用户产生的事件或其他应用程序发出的消息依据应用程序队列和消息确定向哪个应用程序发送消息1消息2消息m依据消息和对象控制序列找到对应该消息的对象程序执行之对象2对象n对象1对象2对象n对象1134267消息循环是一个消息管理程序。它能够接收各种消息,并将消息传递给各种相关对象,调用相关对象的事件驱动程序予以处理。是对象之间调用关系的一种处理机制。窗口对象按钮对象一类控件对象文本框对象--一类控件对象对象及相关概念(7)VisualBasic的对象组织及其调用关系?将不同类别对象的之间的关系做成一个结构框架。结构框架是按照某一种体系结构(Architecture)实现的,用于连接、装配各种对象形成系统的一套程序理解界面如何做!理解界面的要素与后面的程序如何衔接!对象框架自动产生、运行与衔接
小结基于对象框架的构造软件系统对象框架对象类消息事件事件驱动程序消息循环面向对象程序构造的表达方法ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员类图:描述类及其之间关系的一种图示化方法类1变量及其类型函数名()类2变量及其类型函数名()继承关系类3变量及其类型函数名()组合关系类名字变量及其类型函数名()类4变量及其类型函数名()聚合关系继承关系组合关系聚合关系面向对象程序构造的表达方法(1)类/对象的概念及关系表达?Application…Create()Open()Activate()Deactivate()Close()Destroy()Window...Create()Open()Activate()Deactivate()Close()Destroy()聚合关系CtrButton...Create()Getfocus()Click()Dblclick()Lostfocus()Destroy()CtrText...Create()Getfocus()Click()TextChange()Lostfocus()Destroy()组合关系组合关系面向对象程序构造的表达方法(2)用类图表达VisualBasic的结构框架?组合关系其他的控件对象类VisualBasic应用程序的结构框架Window...…Open()…CtrButton...…Click()…CtrText...…TextChange()…组合关系组合关系Window类的objectnWindow类的object1Window类的object2CtrButton类的object1“确定”CtrButton类的object2“取消”CtrButton类的object3“普通按钮”面向对象程序构造的表达方法(2)用类图表达VisualBasic的结构框架?VisualBasic窗体对象与控件对象的关系示意序列图(又称次序图):描述类的对象之间交互关系的一种图示化方法对象a:类1消息对象b:类1Call对象b的函数()类1的对象a发送一个消息给类1的对象b,即:对象a调用了对象b的一个函数():类1消息:类2Call类2的对象的函数()类1的某一对象(注意类前面的冒号,表示该框中是一个对象)发送一个消息给类2的某一对象.即:类1的对象调用了类2某对象的一个函数()面向对象程序构造的表达方法(3)对象之间消息交互的表达?:Application:Window:CtrButton:CtrTextCreate()Create()Create()Create()Open()Open()Getfocus()Activate()Lostfocus()DeActivate()DeActivate()Close()Close()……中间过程还有很多消息传送,在此被忽略……面向对象程序构造的表达方法(4)用次序图表达VisualBasic的结构框架--对象之间的消息交互?VisualBasic各类对象的消息交互关系示意对象a:类1对象b:类2对象b的函数()对象a:类1对象b:类2消息循环事件识别消息并找到相应对象()形成相应对象的函数调用或调用对象a的函数()或调用对象b的函数()消息消息各个对象不断的产生消息,传递给消息循环消息循环依据消息的特征调用相应对象的函数()对象之间直接传递消息对象之间通过消息循环传递消息面向对象程序构造的表达方法(4)用次序图表达VisualBasic的结构框架--对象之间的消息交互?VisualBasic的消息循环
小结基于对象框架的构造软件系统对象框架对象类函数类图次序图面向对象程序设计语言ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员(传统的、面向过程的)计算机语言(程序)的基本构成要素程序:变量与常量、表达式、语句与函数。主函数main():主程序函数定义:定义一个新函数,即自己编写的程序段落函数调用:调用一个函数完成一个计算
类与对象,消息与事件,函数或称方法面向对象程序设计语言(1)面向过程的计算机语言vs.面向对象的计算机语言?(现代的、面向对象的)计算机语言(程序)的基本构成要素对象占用相对独立的内存区域“若干同类别对象,虽有相同的程序,但却处理不同的数据而产生不同的结果呢?”两方面技术:一是抽象与封装,二是对象的自动产生与运行。面向对象程序设计语言(2)对象和类要解决什么问题?对象:a1对象:a2类:A1数据D1,D2;函数f1(),f2();a1.D1,a1.D2;a1.f1();a1.f2()类:A2数据D3,D4;函数f3(),f4();a2.D1,a2.D2;a2.f1();a2.f2()对象:a3对象:a4a3.D3,a3.D4;a3.f3();a3.f4()a4.D3,a4.D4;a4.f3();a4.f4()对象:a11a11.D1,a11.D2;a11.f1();a11.f2()数据结构封装了若干个变量;函数封装了若干行的语句;类/对象封装了若干数据结构和函数。定义创建与运行类:A1数据D1,D2;函数f1(),f2();面向对象程序设计语言(3)怎样定义对象的结构---定义“类”?ClassA1 //定义一个类{
intD1,D2
//定义变量
intf1();
//定义类中的函数
intf2(); //定义类中的函数
intf1() //类A1的函数f1的程序{//f1的程序语句块}
intf2() //类A1的函数f2的程序{//f2的程序语句块1a4=newA2;
//创建类A2的对象a4
//f2的程序语句块2D1=calla4.f3();//调用另一对象的某一函数
//f2的程序语句块3}}对象结构的定义---即类的定义对象:a1对象:a2类:A1数据D1,D2;函数f1(),f2();a1.D1,a1.D2;a1.f1();a1.f2()a2.D1,a2.D2;a2.f1();a2.f2()对象:a11a11.D1,a11.D2;a11.f1();a11.f2()Main(){intM1,M2;
a1=newA1; //创建类A1的对象a1
a2=newA1; //创建类A1的对象a2a11
=newA1;//创建类A1的对象a11
M1=calla1.f1();
//执行对象a1的f1的程序
M2=calla2.f1();
//执行对象a2的f1的程序
a1.D1=15;
//对象a1的数据D1被赋值为15
a2.D1=20;
//对象a2的数据D1被赋值为20
……}对象的创建与运行面向对象程序设计语言(4)怎样创建和运行对象?差别:面向过程的程序要素vs.面向对象的程序要素ClassA1
{
intD1,D2;
intf1(intqty)
{
inttemp;……//f1的程序语句块}}intA1::f2()
{
//f2的程序语句块}intf2(){//f2的程序语句块
}Main()
{…a1=newA1;a2=newA1;a1.D1=M1;callf2();calla1.f1(M1);calla2.f1(M2);}Main(){
intD1,D2
intsum;sum=D1;callf1(sum);callf2();}intf1(intqty)
{
inttemp;temp=qty*qty;
return(qty);
//f1的程序语句块}intf2()
{//f2的程序语句块}独立定义的函数全局变量局部变量类中定义的函数类中定义的函数独立定义的函数用类产生对象调用对象的函数调用独立的函数定义“类”面向对象程序设计语言(5)再看:面向过程的计算机语言vs.面向对象的计算机语言?对象:a1对象:a2a1.D1,a1.D2;a1.f1();a1.f2()a2.D1,a2.D2;a2.f1();a2.f2()对象:a4a4.D3,a4.D4;a4.f3();a4.f4()Calla4.f3();Calla4.f3();Main程序Calla1.f1();Calla2.f1();消息与对象的交互面向对象程序设计语言(6)消息与对象的交互?软件模式(SoftwarePattern)由面向对象的程序构造,到(可视化的)对象框架的构造面向对象程序设计语言(7)VisualBasic对象类的实现:软件模式小结对象类对象框架基于对象框架的构造软件系统面向对象程序构造:
组件/构件vs.结构框架ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员结构框架与构件ApplicationFrameworkApplicationBodyApplication程序员创建与编写:按组件之间连接协议编写(程序设计技巧:界面设计技巧、Java程序设计技巧等)按组件连接协议进行Component装配与运行ClassA::Function1(){…//源程序代码…}Component1ClassB::Function2(){…//源程序代码…}Component2ClassC::Function3(){…//源程序代码…}Component3ClassC::Function3(){//运行态程序代码}Component3ClassB::Function2(){//运行态程序代码}Component2ClassA::Function1(){//运行态程序代码}Component1Connector1Connector2Connector5文件文件中的程序(软件架构与软件设计模式)操作系统或中间件系统支持运行(J2EE或.NET)面向对象程序构造:组件/构件vs.结构框架(1)一般意义的结构框架与组件?业务处理程序数据结构与数据存取界面连接件(Connector)程序员按连接约定书写;结构框架按连接约定给予连接实现连接件(Connector)数据存取层构件业务逻辑层构件表示层构件数据库联接与访问约定表示层与业务逻辑层联接与访问约定结构框架:容器业务逻辑层与数据存取层访问约定数据库管理系统一种中间件结构框架vs.组件/构件面向对象程序构造:组件/构件vs.结构框架(2)一种典型的结构框架:组件及其之间的关系不同组件的连接示意:事件驱动程序vs.用户界面面向对象程序构造:组件/构件vs.结构框架(3)简单的结构框架—不分离、紧耦合data2.Text对象名.属性名该对象的名字为data2,其有一个属性为Textadd_click()对象名_事件名()该对象的名字为add,其有一个事件为Click业务处理程序与用户界面程序紧耦合在一起用户界面实现用户界面的代码处理业务的各种程序,类及其中的函数面向对象程序构造:组件/构件vs.结构框架(4)简单的结构框架---分离、耦合对象的:标识id,值value,事件onclick,类型typeonclick事件的驱动程序dbAccount不同组件的连接示意:事件驱动程序vs.用户界面业务处理程序与用户界面是分离的,但相互之间有耦合关系MVC框架:Model-View-Controller面向对象程序构造:组件/构件vs.结构框架(5)MVC结构框架---分离、借助于第三方关联OKButton_ClickCancelButton_ClickGenButton_ClickProcess1(){…}Process2(){…}
Process3(){…}Case:OKButton_ClickProcess1();Case:CancelButton_ClickProcess2();Case:GenButton_ClickProcess3();界面要素及其操作业务处理程序界面要素及其操作与业务处理程序的映射ViewModelControllerMVCModel:程序Controller:界面要素与程序的映射View:界面MVC框架:Model-View-Controller面向对象程序构造:组件/构件vs.结构框架(5)MVC结构框架---分离、借助于第三方关联业务处理程序与用户界面是分离的,相互之间通过Controller联系和映射这种结构有什么优点?为什么要这样开发呢?MVC框架:Model-View-Controller面向对象程序构造:组件/构件vs.结构框架(5)MVC结构框架---分离、借助于第三方关联Springs开发集成框架Rails开发框架(建议同学自己查阅资料了解)AJAX框架,Webx框架通用概念结构Spring框架实现的概念分层可用于相应分层的开发技术面向对象程序构造:组件/构件vs.结构框架(6)基于结构框架的系统构造?基于组件/构件的构造对象类对象框架基于对象框架的构造结构框架(中间件)软件系统小结软件体系结构暨不同的软件设计艺术ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员构建软件也和建造不同特色建筑一样,虽然看不见,但也有不同的风格。建筑的不同风格,不仅体现在建筑的外观上,还体现在其基本的构件、构件间的连接方式、建造比例等,即体现的是一种体系结构。同样,软件也有不同的体系结构,不同体系结构能够解决不同类别的问题。软件体系结构vs.建筑体系结构软件体系结构暨不同的软件设计艺术(1)什么是软件体系结构?
系统的结构
构件1构件2构件3构件4构件5系统的构件构件1系统构件2构件3构件4构件5+软件体系结构构件:一组基本的构成要素
连接件:这些要素之间的连接关系物理分布:这些要素连接之后形成的拓扑结构约束:作用于这些要素或连接关系上的限制条件质量:(运行时的)性能。基于软件体系结构的开发软件体系结构暨不同的软件设计艺术(1)什么是软件体系结构?直接连接式集成的软件体系结构软件体系结构暨不同的软件设计艺术(2)软件体系结构的一个例子--面向“集成”的不同设计基于中间件集成的软件体系结构软件体系结构暨不同的软件设计艺术(2)软件体系结构的一个例子--面向“集成”的不同设计所谓的路由器是什么?其功能是什么?表示与存储:存储了一系列的路径选择规则(即什么条件,选择什么路径)执行:按请求者给出的条件,查找规则,根据找到的规则,确定相应的路径即提供者,实现二者的连接。转换:必要的话要进行格式的转换。不同提供者有不同的信息格式,请求者有统一的格式,与不同提供者连接时,由路由器进行相应格式的转换。想象一下,代理器应具有什么样的功能呢?基于中间件集成的软件体系结构软件体系结构暨不同的软件设计艺术(2)软件体系结构的一个例子--面向“集成”的不同设计Client/Server结构—C/S结构Browser/Server结构—B/S结构客户端程序服务器端程序Web程序服务器端程序通用浏览器软件体系结构暨不同的软件设计艺术(3)软件体系结构的第一个例子—C/S与B/S结构有限的客户机(装载客户端程序)更新时要到每一处客户机进行更新无限的客户机(只要有通用浏览器)更新时只需在服务器上进行更新常见的软件体系结构风格
数据流风格(如管道/过滤器、批处理等)、调用-返回风格(如主程序-子程序结构、面向对象结构、层次结构等)、仓库风格(如数据中心、黑板系统等)。多处理器结构、客户机-服务器结构(C/S)、浏览器-服务器结构(B/S)、分布式对象结构(如总线结构)、面向服务的体系结构SOA常见的软件设计模式(微观的软件体系结构)
FactoryPattern(抽象工厂模式)、FaçadePattern(外观模式)、CommandPattern(命令模式)、StrategyPattern(策略模式)、IteratorPattern(迭代器模式)、AdaptorPattern(适配器模式)、ObserverPattern(观察者模式)、BridgePattern(桥接模式)、SingletonPattern(单件模式)等等常见的软件体系结构和软件模式需要在后续课程中深入学习和掌握这些模式和体系结构软件体系结构暨不同的软件设计艺术(4)都有哪些软件体系结构?软件体系结构软件设计模式软件体系结构暨不同的软件设计艺术(5)软件结构的变化硬件平台操作系统系统服务功能应用服务功能应用系统服务功能应用服务功能应用系统服务功能应用服务功能应用硬件平台操作系统系统服务功能应用服务功能应用应用应用异构分布计算平台操作系统、网络协议通信服务特定应用编程接口应用应用应用信息服务功能服务通用编程接口中间件异构分布计算平台操作系统、网络协议特定应用编程接口应用应用应用通用编程接口数据库管理系统应用服务器(中间件)其他如消息中间件、远程过程调用中间件等软件系统构造方法的演变ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员60’s,70’s年代的软件:
结构化程序编程语言:C语言,Fortran语言简单的平房怎样读得懂他人的程序;怎样使自己编制的程序被其他人使用?怎样使程序被他人读懂并检查正确性?主函数()数据结构与数据算法(的实现)函数f1(){…}函数f2(){…}系统=算法
+数据结构(1960’s)系统=子程序/函数
+函数调用
(1980’s)软件系统构造方法的演变(1)结构化程序构造?数据消息函数函数数据函数函数数据函数函数对象(类)对象消息对象(类)DataBase
数据库管理系统对象=函数
+数据结构系统=对象
+消息(1980’s)80’s年代的软件:
面向对象的程序编程语言:C++(83),Java(95),Visual系列语言(90)等复杂的特色建筑如:巨大拱顶和圆顶如何建设?软件系统构造方法的演变(2)面向对象的程序构造?DataBase
数据库管理系统ODBC开放数据库互连DataBase
数据库管理系统构件=对象
+消息构件=实现体
+接口系统=构件
+连接件
(1990’s)90’s年代的软件:
构件化系统编程语言:Visual系列语言;Windows操作系统现代化复杂的高楼如:地基、承重、结构怎样?软件系统构造方法的演变(3)构件化的程序构造?90’s年代的软件:
构件化系统基于体系结构与设计模式的软件开发J2EE:Springs,Rails等.NetCORBA中间件予以支撑。Weblogic(BEA)WebSphere
(IBM)Tomcat(开源)…硬件操作系统应用程序硬件操作系统应用程序中间件现代化复杂的高楼如:地基、承重、结构怎样?软件系统构造方法的演变(3)构件化的程序构造?服务1服务nAB服务1服务m服务1(需求)服务总线:
控制并切换<服务1(需求)>是调用构件A的服务1还是构件B的服务1系统=服务
+服务总线
(2000’s)服务=构件的公共标准的接口系统=对象+消息(1980’s)系统=构件+连接件(1990’s)如:各建筑之间的互连互通?城镇与城市的构建2000’s年代的软件:
面向服务的体系结构SOA
基于Internet的软件开发与云计算体系结构软件系统构造方法的演变(4)服务化的程序构造?系统1构件流程+接口系统2构件流程+接口通过ESB调用相应的Service开放的接口,即:Service服务总线ESB:EnterspriseServiceBus(注册、部署、管理、执行Service)获取要使用的Service注册WebServiceInterface&WebServiceCall接口()软件系统构造方法的演变(4)服务化的程序构造?WebServiceInterface后端处理逻辑数据访问层数据源层UI界面前端处理逻辑调用层处理UI界面前端处理逻辑调用层处理WebService后端处理逻辑数据访问层数据源层WebService后端处理逻辑数据访问层数据源层WebService后端处理逻辑数据访问层数据源层UI界面前端处理逻辑调用层处理WebServiceWebServiceWebService……注册与部署WSDL程序库WS注册表发现并反馈消息传输协议转换协议转换访问绑定访问绑定路由控制路由控制BPEL引擎安全控制服务监控其他…ESB传统业务构件的开发服务化业务构件的开发ESB:
EnterpriseServiceBus软件系统构造方法的演变(4)服务化的程序构造?ESB面向服务的体系结构:SOA—ServiceOrientedArchitecture软件系统构造方法的演变(4)服务化的程序构造?SOA简单的平房复杂的特色建筑如:巨大拱顶和圆顶如何建设?不能倒塌是第一位的现代化复杂的高楼如:地基、承重、结构怎样?如:各建筑之间的互连互通?城镇与城市的构建结构化程序:算法+数据结构子程序+函数调用对象化程序:对象+消息构件化程序:构件+体系结构服务化程序:服务+服务总线软件的可靠性、可用性等软件系统构造方法的演变(5)软件系统构造方法的演变过程?基于组件/构件的构造对象类对象框架基于对象框架的构造结构框架(中间件)软件系统面向服务的软件系统构造
小结系统与系统类问题求解-总结ResearchCenteronIntelligentComputingforEnterprises&Services,HarbinInstituteofTechnology战德臣哈尔滨工业大学教授.博士生导师教育部大学计算机课程教学指导委员会委员WhatHowWhereWhoWhenWhyDataFunctionNetworksPeopleTimeMotivation层级视角层级0层级1层级2层级3A-0整个系统1234A0123A212A212413A23由宏观到微观由粗粒度到细粒度不同视角看同一系统系统与系统类问题求解-总结(1)回顾:问题域建模-结构化思维?问题域建模----多视角多层次刻画系统功能(或活动)输入输出目标与控制支撑问题域建模结构化思维自顶向下分解系统与系统类问题求解-总结(2)回顾:软件域建模-面向对象思维?对象(类)1对象(类)2对象(类)4对象(类)3对象(类)1.状态1对象(类)1.状态2对象(类)1.状态3功能A(转换)对象(类)1功能A功能B功能C功能B(转换)对象(类)1.状态1对象(类)1.状态2对象(类)1.状态nS1:识别对象(类)S2:识别每一对象(类)的状态S3:识别每一对象(类)的状态的转换S4:识别对象(类)的功能软件域建模面向对象思维对象/类状态与状态变换-功能Model:程序Controller:界面要素与程序的映射View:界面基于组件/构件的构造对象类对象框架基于对象框架的构造结构框架(中间件)软件系统面向服务的软件系统构造系统与系统类问题求解-总结(3)回顾:软件系统构造?软件系统的构成软件系统(设计)
模块的集合
+
结构
+
数据库模块程序类的集合
+
各程序类对象间函数调用关系的集合。结构
(组成系统的模块或构件+)模块/构件之间的连接关系与作用关系,以及由模块/构件与模块/构件交互形成的拓扑结构。数据库
永久保存的数据表的集合(程序)类程序变量集合
+
函数(子程序)的集合函数完成一个具体功能的程序变量函数处理与保存的数据
对象/实例程序类的一个执行实体数据表
数据库的基本控制单位…系统与系统类问题求解-总结(4)软件系统?软件系统的构成软件系统(设计)
模块的集合
+
结构+
数据库模块
程序类的集合+
各程序类的对象间函数调用关系的集合。结构
(组成系统的模块或构件+)模块/构件之间的连接关系与作用关系,以及由模块/构件与模块/构件交互形成的拓扑结构。数据库
永久保存的数据表的集合(程序)类程序变量集合
+
函数(子程序)的集合函数完成一个具体功能的程序变量函数处理与保存的数据
对象/实例程序类的一个执行实体数据表
数据库的基本控制单位…系统与系统类问题求解-总结(4)软件系统?软件系统的构成软件系统(设计)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 73065-2020植物染料染色针织服装》
- 深度解析(2026)《FZT 54086-2016 阻燃涤纶牵伸丝》:构建未来安全与性能新标杆的专家视角与实施路径全攻略
- 深度解析(2026)《FZT 13051-2021棉羊毛混纺涤纶弹力丝包芯纱本色布》
- 深度解析(2026)《FZT 01154-2019非织造布粘结牢度试验方法》
- 初中高年级体育战术教学学生决策能力培养-基于比赛视频决策时机分析
- 2026年平顶山市湛河区社区工作者招聘考试备考题库及答案解析
- 2026年嘉兴市秀城区城管协管招聘笔试备考题库及答案解析
- 2026年临沧地区临翔区社区工作者招聘笔试模拟试题及答案解析
- 第一节 简单磁现象教学设计初中物理北师大版2024九年级全一册-北师大版2024
- 2026年石嘴山市大武口区社区工作者招聘考试参考试题及答案解析
- 高铁保洁服务流程
- 党的二十届四中全会精神题库
- 中医内科接诊能力培训
- teenie-weenie品牌介绍课件
- 中央外事工作管理办法
- 2025年山西省辅警招聘考试试题带解析附答案(巩固)
- 中药湿热敷技术
- 肿瘤防治中心工作汇报
- 2025年初级保健按摩师(五级)职业技能《理论知识》真题试卷(答案和解析附后)
- 2025年陕西高中学业水平合格性考试化学试卷真题(含答案)
- 2025年面点师中级考试题及答案
评论
0/150
提交评论