《《面向对象技术高级课程》- 方法、语言》由会员分享,可在线阅读,更多相关《《面向对象技术高级课程》- 方法、语言(10页珍藏版)》请在金锄头文库上搜索。
1、第1周 绪论:软件开发方法的演化与最新趋势 5.方法、方法学、语言与图北京大学软件与微电子学院 蒋严冰 面向对象技术高级课程The Advanced Object-Oriented Technology 方法与方法学(论)方法=模型+过程方法论是一种观点,是一个有理论意义的 架构 l方法论是关于认识世界和改造世界的根本 方法.用世界观去指导认识世界和改造世界 ,就是方法论. 辞海面向对象技术高级课程The Advanced Object-Oriented Technology 软件方法学(SoftWare Methodology)是以方法为研究对象的软件学科。主要涉及指导软件设计的原理和原则,
2、以及基于这些原理、原 则的方法和技术。狭义的也指某种特定的软件设计指导原则和方法体系。关注的中心问题是如何设计正确的软件和高效率地设计软件。软件工程与软件方法学的不同l软件工程是侧重于借鉴传统工程学科,最终目的是把软件生产变成 一门制造工程。l两者之间的关系是软件工程需要软件方法学为依据和指导;方法学 依赖于软件工程,特别是环境工具来发挥实际效用。面向对象技术高级课程The Advanced Object-Oriented Technology 什么是语言?l语言是人类特有的一种符号系统。l乔姆斯基:语言是承载信息的表示符 语言=语法+语义+(语用)l语法(Syntax):是一套将语言元素(字
3、)组织成表达式( 词、短语)规则。l语义(Semantics):是一套将语法的表达式赋予某种意义 的规则。l语用(Pragmatics): 在一定的语境中对语言表达和语言理 解等活动。语言面向对象技术高级课程The Advanced Object-Oriented Technology 语法语法定义了该语言中存在什么结构,以及这些结构是怎样由其他的结构组成的。 抽象语法l当语言具有图形语法的时候,以独立于表示法的方式定义语法就变得重要了,这就是抽象语法。 具体语法l通过将表示法映射到抽象的语法,可以定义具体的语法。 面向对象技术高级课程The Advanced Object-Oriented
4、Technology 语义静态语义l静态的语义定义了一个结构的实例应该怎样与其他实例连接才有意义l X/y y0动态语义l而动态语义定义了这种良构结构的意义。 面向对象技术高级课程The Advanced Object-Oriented Technology 文本语言(3 + 2) * 7times(plus(3,2),7)35具体语法抽象语法语义StringExpTreeNumberparse“Semantic function” E: ExpTree - Number E (plus (e1, e2) = E (e1) + E (e2) E (times (e1, e2) = E (e1)
5、 * E (e2) E (3) = 3, etc “语义域”面向对象技术高级课程The Advanced Object-Oriented Technology 图形语言Class, Association, Class?具体语法抽象语法语义图形或 XMI元模型的实例?mapmap面向对象技术高级课程The Advanced Object-Oriented Technology 图图 G 是由非空的结点集合V=v1,v2,vn 与边集合E=l1,l2,lm组成,其中每条边 用一对结点表示: li=(vi1, vi2)( i=1,2,m ),这样的一个图 G 可记为 G = V,E 。UML中的模型基本都是以图的方式表现,并等 价于图G.To be continued