《软件工程教学课件》05-代码生成之道.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《软件工程教学课件》05-代码生成之道.pptx》由会员分享,可在线阅读,更多相关《《软件工程教学课件》05-代码生成之道.pptx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大连理工大学软件学院软件工程2023/2/12大连理工大学软件学院2第第5章章 代码生成之道代码生成之道考虑设计方案考虑设计方案向实际运行方式的转变过程,即由向实际运行方式的转变过程,即由概要设计产生出对应的概要设计产生出对应的程序代码程序代码框架的框架的过程。过程。工程化工程化的设计方法将导致的设计方法将导致程序代码具有更好的可程序代码具有更好的可实现性、更好的可维护性和可修改性以及更好的实现性、更好的可维护性和可修改性以及更好的可扩展性可扩展性。先对类图到可运行程序的基本转换过程进行概要先对类图到可运行程序的基本转换过程进行概要的说明,然后考虑对其优化和细化的过程。的说明,然后考虑对其优化
2、和细化的过程。CASE工具工具软件开发环境指软件开发环境指支持软件开发的工具及其集成机制,用以支持软件开发的工具及其集成机制,用以支持软件开发的过程、活动和任务,为软件的开发、维护支持软件开发的过程、活动和任务,为软件的开发、维护及管理提供统一的支持,也即计算机辅助软件工程及管理提供统一的支持,也即计算机辅助软件工程(CASE)。不同不同类型的项目其软件开发环境的构成是不一样的,在工类型的项目其软件开发环境的构成是不一样的,在工具选择上也会有较大的不同具选择上也会有较大的不同。工具的选择会工具的选择会对开发过程的选择产生一定的影响,因为不对开发过程的选择产生一定的影响,因为不同的工具组合对开发
3、过程的支持能力会有所不同同的工具组合对开发过程的支持能力会有所不同。同时涉。同时涉及到工具的集成问题。及到工具的集成问题。集成开发环境(集成开发环境(IDE)是软件开发环境中)是软件开发环境中的的一一种实现种实现方式方式。2023/2/12大连理工大学软件学院3“变更变更”的管理方式的管理方式需求分析需求分析、概要设计和详细设计阶段只进行一次、概要设计和详细设计阶段只进行一次或者迭代或者迭代-增量式的进行增量式的进行。每次修改只发生在代码,。每次修改只发生在代码,其它文档不做更新。其它文档不做更新。每个每个改动的意愿都改动的意愿都要经过要经过完整的分析、概要设计完整的分析、概要设计和详细设计流
4、程,所有必须的改动需要在所属的和详细设计流程,所有必须的改动需要在所属的文档以及代码中对应修改,并保证它们的一致性文档以及代码中对应修改,并保证它们的一致性。以上两种方式的选择需要根据项目需要进行确定,以上两种方式的选择需要根据项目需要进行确定,或者在两者之间折中。或者在两者之间折中。2023/2/12大连理工大学软件学院4逆向工程逆向工程逆向工程逆向工程的作用是将代码的修改反向映射回类图的作用是将代码的修改反向映射回类图的设计中,从而在设计与代码实现之间保证一致的设计中,从而在设计与代码实现之间保证一致性性。逆向工程逆向工程的一种特殊的情况是设计图纸完全由代的一种特殊的情况是设计图纸完全由代
5、码生成码生成。逆向工程使得所有的开发都可以在逆向工程使得所有的开发都可以在CASE工具中同工具中同时展开,并使得设计类图与实现之间的相互对应时展开,并使得设计类图与实现之间的相互对应。逆向工程需要设计和编码工具紧密集成和配合。逆向工程需要设计和编码工具紧密集成和配合。2023/2/12大连理工大学软件学院5单个类的代码实现单个类的代码实现一个类图一个类图如果如果要要成功成功翻译翻译成为代码的蓝图,类模型成为代码的蓝图,类模型中的内容必须要完整中的内容必须要完整。需。需要要包含的包含的信息:信息:每个每个实例变量,需要指定实例变量,需要指定其类型;其类型;每个每个方法中的参数和返回方法中的参数和
6、返回值,需要指定其类型;值,需要指定其类型;每个每个关联关系,其关联类关联关系,其关联类型、使用或导航方向必须型、使用或导航方向必须说明。说明。2023/2/12大连理工大学软件学院6类的信息与基本实现类的信息与基本实现带有下划线的方法带有下划线的方法和和属性属性表示表示静态方法和静态变静态方法和静态变量。量。静态静态变量的使用需要仔细斟酌,变量的使用需要仔细斟酌,因为破坏因为破坏了面向了面向对象的本地性(封装性)原则对象的本地性(封装性)原则。静态变量和静态方法通常用在一般性的常规工作,静态变量和静态方法通常用在一般性的常规工作,如如记录文件记录文件的存储路径的存储路径,常规,常规的数值计算
7、等(工的数值计算等(工具)具)功能。功能。方法参数的输入输出类型:方法参数的输入输出类型:in,out,inout。上上图中的类对应的图中的类对应的代码实现代码实现。2023/2/12大连理工大学软件学院7实现上的补充实现上的补充CASE工具能够自动进工具能够自动进行整个项目代码框架行整个项目代码框架的生成,具体业务的的生成,具体业务的代码一般需要人工补代码一般需要人工补充充。业务业务越复杂,代码能越复杂,代码能够自动生成的可能性够自动生成的可能性就越低,对于这部分就越低,对于这部分需求还需要工具的开需求还需要工具的开发者为此付出大量的发者为此付出大量的努力。努力。2023/2/12大连理工大
8、学软件学院8public Employee(String firstname,String lastname)this.firstname=firstname;this.lastname=lastname;this.empno=Employee.empcount+;Overridepublic String toString()return empno+:+firstname+lastname;关联关系的实现关联关系的实现通过关联的定义明通过关联的定义明确了类与类之间的确了类与类之间的静态关系,关联关静态关系,关联关系的实现最终体现系的实现最终体现为对应类中增加的为对应类中增加的实例变量(成员
9、变实例变量(成员变量)量)。变量变量存在的具体形存在的具体形式依赖于关联的具式依赖于关联的具体类型。体类型。2023/2/12大连理工大学软件学院9导航至导航至“可选可选”方向方向多重多重性性“0.1”明确明确了项目了项目任务可以任务可以不分配工作人员不分配工作人员,即,即在代码中在代码中对应对应类的实例变量可以不赋任何值,在类构造时类的实例变量可以不赋任何值,在类构造时也可不必对该变量初始化,也可不必对该变量初始化,在在具体编程语言具体编程语言中中通常通过通常通过一一个对空值(个对空值(NULL)的引用,不分配任何存储空间)的引用,不分配任何存储空间。实例实例变量并不需要在声明时赋值,可以变
10、量并不需要在声明时赋值,可以通过通过set方法在后期方法在后期需要的时候赋值需要的时候赋值。实例实例变量变量pincharge声明后可以一直为声明后可以一直为NULL值,但却不能值,但却不能通过任何的方法显式的对其赋予通过任何的方法显式的对其赋予NULL值,这是隐含的业值,这是隐含的业务规则。务规则。2023/2/12大连理工大学软件学院10对应代码对应代码导航至导航至“唯一唯一”方向方向描述一描述一个项目任务对象必须要有一位个项目任务对象必须要有一位工作人员对应,也工作人员对应,也就就不存在是否可以对该变量进行空值引用的问题不存在是否可以对该变量进行空值引用的问题。为为确保确保以上约定以上约
11、定,可以在该实例变量声明时同时赋予初始,可以在该实例变量声明时同时赋予初始值,可以按照如下的方式进行实现值,可以按照如下的方式进行实现:private Employee pincharge=new Employee();该该类的每个构造函数中类的每个构造函数中对实例对实例变量变量pincharge都需要指定一都需要指定一个有意义的值个有意义的值。这时可以。这时可以将实例变量声明时的初始化去掉。将实例变量声明时的初始化去掉。2023/2/12大连理工大学软件学院11导航至导航至“任意任意”方向方向描述一描述一个项目任务可以安排任意多个工作人员与个项目任务可以安排任意多个工作人员与之对应之对应。这
12、些这些工作人员也是通过实例变量工作人员也是通过实例变量pincharge进行管进行管理的,只是这时该变量的类型应为某种集合类型理的,只是这时该变量的类型应为某种集合类型(集合类型在(集合类型在C+中也叫中也叫Container)。2023/2/12大连理工大学软件学院12基本的集合类型基本的集合类型2023/2/12大连理工大学软件学院13元素顺序元素顺序要求要求元素唯一性元素唯一性要求要求集合类型集合类型不要求不要求无重复无重复unique集合类型集合类型Set,其中的每个元素最多只能,其中的每个元素最多只能出现一次出现一次unique,不要求元素的顺序性。,不要求元素的顺序性。不要求不要求
13、允许重复允许重复集合类型集合类型Bag或或Multiset,其中的元素可多,其中的元素可多次重复出现,不要求元素的顺序性。次重复出现,不要求元素的顺序性。要求要求ordered无重复无重复unique集合类型集合类型OrderedSet,所有元素具有顺序,所有元素具有顺序性性ordered,每个包含的元素最多只能出,每个包含的元素最多只能出现一次现一次unique,元素依据其所在位置进,元素依据其所在位置进行操作。行操作。要求要求ordered允许重复允许重复集合类型集合类型List或或Sequence,所有元素具有,所有元素具有顺序性顺序性ordered,每个元素允许重复,并,每个元素允许重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程教学课件 软件工程 教学 课件 05 代码 生成
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内