软件工程读书报告2-1

时间:2024.4.21

读书报告2-1

一、参考书1(4-5)参考书2(4-6)

1.UML中定义了哪些主要类型的图?综述用例建模中如何对交互模型、结构模型、行为模型进行描述,举例说明。

1)UML提供的基本模型图包括

(1)、用例图

展示系统外部的各类执行者与系统提供的各种用例之间的关系

(2)、类图

展示系统中类的静态结构(类是指具有相同属性和行为的对象类图用来描述系统中各种类之间的静态结构)

(3)、对象图

是类图的一种实例化图(对象图是对类图的一种实例化)

(4)、包图

是一种分组机制。在UML1.1版本中包图不再看作一种独立的模型图)

(5)、状态图

描述一类对象具有的所有可能的状态及其转移关系(它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移

情况)

(6)、顺序图

展示对象之间的一种动态协作关系(一组对象组成随时间推移对象之间交换消息的过程突出时间关系)

(7)、合作图

从另一个角度展示对象之间的动态协作关系(对象间动态协作关系突出消息收发关系)

(8)、活动图

展示系统中各种活动的执行流程(各种活动的执行顺序、执行流程)

(9)、构件图

展示程序代码的物理结构(描述程序代码的组织结构各种构件之间的依赖关系)

(10)、配置图

展示软件在硬件环境中(特别是在分布式及网络环境中)时间推移对象之间交换消息的过程突出时间关系)

2)

交互模型

也是针对每个用例而言的,是在用例描述和Robustness分析的结果的基础上进行的。因此,我们还将以用例为蓝本,来说明如何构建交互模型。我的习惯是将用例描述中的基本事件流与扩展事件流部分,以及Robustness分析的结果打印出来,以便在设计时参考。而且这也方便了设计时团队成员之间的交流,可以获得较好的效果。

交互建模之后,到此为止,我们就完成了用例所对应的交互模型。不过,事件还没有结束,我们需要在这个成果的基础上进一步工作,将其发挥更大的作用。这些工作包括添加类的属性和方法、质量评审、引入基础类以及用设计模式进行优化,下面我们就一一作个简单的介绍。添加个类的属性与方法。

在构建交互模型时,我们将会发现类应该具有的方法,也会在设计时找到一些新的属性,而这些东西将进一步地完善我们的静态模型。我们基于域模型的基础,结合Robustness分析、交互模型构建时所引入的设计类,画出相应的设计类图,并且将这里所找到的属性、方法补充在类图中去,这样我们将获得一个较完整的类模型。质量评审当我们通过引入基础类之后,将获得一个较完整的类模型,接下来我们就需要运用面向对象设计的一些基本原理,对其进行质量评审。低耦合:耦合性是指两个类之间的连接强度,耦合性越低,说明类之间的独立 性越高,相应的系统的灵活性也越高。

高内聚:内聚性则是指一个类的属性与方法高度地集成,内聚性越高,说明类的设计越合理,系统的稳定性也越高。

效率:低耦合与高内聚都是一个相对的概念,衡量的要点在于解决方案的执行效率是否满足系统的需求。

完整性:类的完整性是指在任何环境下都可以重复使用,完整的类也就意味着其具有较高的内聚性,也就意味着它与其它类之间的耦合较低。

简单性:每一个类越简单,出错的可能性越小,系统的灵活性和可维护性也越好。

而把类当作一个框,什么都往里装的代码风格,就是一个具有“坏味道”的代码,需要重构它

我们需要将这些包中,将要使用的类引入,然后从中派生(使用继承)应用系统所需要的类。如果你使用Rose进行类建模,那么你就可以很方便地引入这些基础类,因为Rose都将这些基础类做好了。应该看出一个学习开发知识的要点,即应该花足够多的时间来了解各种基础框架、库函数的功能与特性,以便在设计时做出最优的选择;另外,还应该对这些基础框架、库函数的类结构有一个清晰的了解,这样就可以最有效地找到基础类,最高效地使用。用设计模式进行优化

如果你在质量评审中发现了问题,那么你可以使用两种武器,那就是设计模式与重构。它们都将帮助你使代码更加的高质量,重构技术侧重于代码结构的重新整合,而设计模式则是通过引入新的设计类,还提高代码的可维护性、灵活性。交互建模是详细设计阶段的重要工具,当我们完成了交互模型之后,我们就会发现所有的类跃然纸上,而且这些类所需的属性和方法(即行为)也被清晰地找到,还清楚地掌握了类与类之间的交互,然后通过引入基础类、利用设计模式优化,将会使得紧接下来的代码编写工作将变得更加清晰。不幸的是,由于篇幅的限制,我们从用例建模开始,只对其中的一个用例进行了分析,完成了用例描述,也仅对一个用例进行了Robustness 分析(初步设计)、构建交互模型(详细设计)。因此,我想大家也不知不觉地走进了细节,也许让您感到“只见树木,不见森林”了。不过没关系,我将在下一期中再次从更宏观地角度帮助大家整理一下思绪,然后再继续进发。

结构模型

设计模式中对框架的定义是框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架的作用在于:由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求;对于开发过程而言,这样做会提高软件的质量,降低成本,缩短

开发时间,使开发越做越轻松,效益越做越好,形成一种良性循环。框架不是现成可用的应用系统。是一个半成品,需要后来的开发人员进行二次开发,实现具体功能的应用系统。框架不是“平台”,平台概念比较模糊可以是一种操作系统,一种应用服务器,一种数据库软件,一种通讯中间件等地那个,因此平台在应用平台主要指提供特定服务的系统软件,而框架更侧重了设计,开发过程,或者可以说,框架通过调用平台提供的服务而起的作用。框架不是工具包或者类库,调用API并不就是在使用框架开发,紧紧使用API是,开发者完成系统的主题部分,并不时地调用类库实现特定任务。而框架构成了通用的、具有一般性的系统主体部分,二次开发人员只是像做填空一样,根据具体业务,完成特定应用系统中与众不同的特殊部分。二、框架与架构之间的关系 框架不是构架(即软件体系机构)。体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。框架比架构更具体。更偏重于技术涉嫌。确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现。三、框架与设计模式之间的关系设计模式和框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用。框架和设计模式存在着显著的区别,主要表现在二者提供的内容和致力应用的领域。1)从应用领域上分,框架给出的是整个应用的体系结构;而设计模式则给出了单一设计问题的解决方案,并且这个方案可在不同的应用程序或者框架中进行应用。2)从内容上分,设计模式仅是一个单纯的设计,这个设计可被不同语言以不用方式来实现;而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。3)以第二条为基础,可以得出设计模式比框架更容易移植:框架一旦设计成形,虽然还没有构成完整的一个应用,但是以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。总之,框架是软件,而设计模式是软件的知识体,提升框架的设计水平。 行为模型

行为模型常用状态转换图(简称状态图)来描述,它又称为状态机模型。行为模型通过描述系统的状态以及引起系统状态转换的事件来表示系统的行为。状态图中的基本元素有事件、状态和行为等。

在传统的数据流模型中,控制和事件流没有被表示出来。在实时系统的分析和设计中,行为模型尤其重要。事实上,大多数商业系统是数据驱动的,所以非常适合数据流模型,相反,实时控制系统很少有数据输入,主要是事件驱动,因此,行为模型是最有效的系统行为描述方式。当然,也有同时存在数据驱动和事件驱动两类模型的系统。

2.需求模型有哪些基本元素?需求建模有哪些方法?可产生哪些类型的建模综述基于场景建模、基于数据建模和基于类的建模方法。

1)需求模型中的基本元素

(1)基于场景的元素

使用基于场景的的方法可以从用户的视角描述系统。

(2)基于类的元素

每个使用场景都暗示着当一个参与者和系统交互时所操作的一组对象,这些对象呗分成类--就有相似属性和共同行为的事物集合。

(3)行为元素基于计算机系统的行为能够对所选择的设计和所采用的实现方法产生深远的影响。状态图是一种表达系统行为的方法。

(4)面向数据流的元素

信息在基于计算机的系统中流动时会被转换,系统接受多种形式的输入;使用函数将其转换;生成多种形式的输出。

2)需求建模有哪些方法

结构化分析方法

一种考虑数据和处理的需求建模方法,其中处理将数据作为独立实体加以转换。数据对象建模定义了对象的属性和关系,操作数据对象的处理建模应标明当数据对象在系统内流动时处理如何转换数据。

面向对象的分析

这种方法关注与定义类和影响客户需求的类之间的协作方式。

3)基于场景建模

基于计算机的系统或产品的成果可以用多种方式度量,但是用户的满意度是最重要的。如果软件工程师了解最终用户(和其他参与者)希望如何与系统交互,软件团队将能够更好的、更准确的刻画需求特征,完成更有针对性的分析和设计模型。因此,使用UML将从开发用例、活动图和泳道图形式的场景开始。 基于数据建模

如果软件需求包括建立、扩展需求,或者具有数据库的接口,或者必须构建或操作比较复杂的数据结构,软件团队可以选择建立一个数据模型作为全部需求建模的一部分。

基于类的建模

这种建模方式表示了系统操作的对象、应用于对象间能有效控制的操作(也称为方法或服务)、这些对象间(某种层次)的关系以及已定义类之间的协作。它的元素包括类和对象、属性、操作、类的职责协作者模型、协作图和包。

3)面向流程的建模方法和工具

面向流程的建模时当前应用最广泛的需求分析表达方法之一,数据流图及相关的图和信息可以补充UML图并提供对系统需求和流程的补充。工具有:SafeHome软件。

创建控制流模型、表达控制行为

有一类应用问题是事件驱动而不是数据驱动,这类问题产生控制信息而不是报告或显示信息,并且处理时非常注重时间和性能。这样的应用便需要控制流建模。它通过布尔值或条件的离散列表实现对事件或控制项的建模

动态行为的模型构建

动态建模的目标是生成每个类的状态图,与有穷状态机相类似的对目标产品进行描述。这种方式通过在可控项目标环境中使用增量原型开发模式完全满足对时间有约束的系统的构建和维护。

常用行为建模工具

ArgoUml ,Enterprise Architect,PowerDesigner,Visio,Visual UML,rational rose

3.综述面向流程的建模方法和工具,举例说明如何用相应的建模和方法了描述控

制流、表达控制行为?

软件过程意味着开发一个软件系统的任务集合,这些任务由有组织的人员依赖一系列工具完成,高效地利用人力、物力资源,在保证软件质量的前提下,在要求的时间内完成软件的开发。软件过程控制面临的主要问题是约束条件复杂,条件在不断变化,并且要通过变元和约束条件安排出合理优化的任务分配。软件过程控制就是满足所有约束并为每一个任务分派工具,安排时间表。其中的关键问题是数学模型的建立,包括变元的选择和变元间逻辑关系的建立。根据数学模型,选择具体的算法搜索问题的答案。该数学模型可简化为约束规划问题。 软件过程控制模型

模型采用面向任务的计划方法,将软件过程中的各项活动转化为计划中需要完成的一系列任务,形成任务调度方案并根据方案执行任务。当外部环境发生变化时或者在项目执行过程中的某一时刻,决策人判断过程的实际执行能否满足项目成本人力、物力资源)和进度要求。如果发现过程的实际执行不能满足项目计划的要求,则必须采取措施对项目执行过程进行调整。这些措施作为任务添加到计划中,实现软件过程的动态控制。

4.综述动态行为的模型构造,常用的行为建模工具有哪些?

根据软件体系结构在运行时的演化方式,可以分为静态软件体系结构和动态软件体系结构。软件体系结构的动态演化包括组件或连接件的创建或删除、组件的更新、调整负载平衡等几种情况。D-ADL便是一种为动态体系结构建模提供支持的方法。

构件具有三个基本组成部分:接口部分、行为部分和属性部分。构件分有原子构件和复合构件两种。原子构件是指不具备内部结构的构件。为了进一步促进原子构件的重用,构件可以参数化,通过输入不同的参数,来提高构件的灵活性。复合构件是由多个构件实例和连接件实例组装而成的,它在规约层次上表达了成员之间的组合。与原子构件类似,复合构件也可进行参数化,从而提高构件的可重用性。连接件是一种特殊的构件,同样地,连接件也分为原子连接件和复合连

接件两类。原子连接件语法规约类似于原子构件,仅仅是计算行为描述换成了路由行为。通过结构化组合,多个连接件和构件也能形成复合连接件。

在D-ADL中,动态行为规约是通过choreographer来处理的.动态行为本质是对体系结构的动态重配置,涉及到如下的体系结构变动:

(1)动态创建新的构件实例和连接件实例以及新的端口和通道;

(2)动态删除构件实例和连接件实例以及端口和通道;

(3)体系结构元素之间连接的改变。

二、参考书1(6)和参考书2(9)

1.什么是体系结构?软件系统的体系结构有哪些类型?

软件体系结构是以组件和组件之间的关系、组件和环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理.

(1)数据流风格:批处理序列;管道/过滤器

(2)调用/返回风格:主程序/子程序;面向对象风格;层次风格

(3)独立构件风格:进程通讯;事件系统

(4)虚拟机风格:解释器;基于规则的系统

(5)仓库风格:数据库系统;超文本系统;黑板系统

2.有哪些体系结构模式?对典型的软件体系结构模式进行分析,分别描述它们的实用场合及其优缺点。

1)数据流风格

当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道/过滤器、批处理序列都属于数据流风格。

2)调用—返回风格

该体系结构风格便于设计出易于修改和扩展的程序结构。在此类体系结构中,存在3种子风格:主程序/子程序体系结构、面向对象风格和层次结构。

3)仓库风格

数据库系统、超文本系统和黑板系统都属于仓库风格。在这种风格中,数据仓库(如文件或数据库)位于这种体系结构的中心,其他构件会经常访问该数据仓库,并对仓库中的数据进行增加、修改或删除操作。

B/S

体系结构具有以下优点:

1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。

2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础。与C/S体系结构相比,B/S体系结构也有许多不足之处:

1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

2)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。

3)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。


第二篇:机械制造读书工程报告模板 (1)


机械制造读书工程报告模板1

黑龙江大学读书工程报告

学 院: 机电工程学院 专 业: 机械设计制造及其自动化 课程名称: 机械制造技术基础 报告题目: 工艺尺寸链分析和计算 姓 名:

学 号:

成 绩:

工艺尺寸链分析和计算

一、工艺尺寸链概念和计算方法

1、尺寸链:在工件加工和机器装配过程中,由相互连接的尺寸形成的封闭尺寸组。

工艺尺寸链:在零件加工过程中,由有关工序尺寸所组成的尺寸链。 尺寸链的环:组成尺寸链的每一个尺寸。包括封闭环、组成环(增环和减环)

2、尺寸链计算

尺寸链计算有极值法和统计法两种

(1)极值法:从尺寸链各环都处于极限条件下来计算封闭环和组成环之间关系的方法。

这种方法是按误差综合的两个最不利情况,即各增环都为最大极限尺寸而各减环都为最小极限尺寸的情况,或各增环都为最小极限尺寸而各减环都为最大极限尺寸的情况下,来计算封闭环极限尺寸的方法。

(2)统计法(概率法):应用概率论理论来计算封闭环和组成环之间关系的方法。

尺寸链计算方法:正计算、中间计算、反计算

二、总结极值法解工艺尺寸链的计算公式;

(1) 基本尺寸

A???Ai??Ai i?1i?m?1m?n?1?

(2)极限尺寸计算

1

?n?1?

A?max??Aimax??Aimin

i?1i?m?1

m?n?1?

A?min??Aimin??Aimax

mi?1

i?m?1

(3)上下偏差计算

?n?1?

?SA????SAi???IAi

i?1i?m?1

?n?1? m

?IA????IAi???SAi

mi?1

i?m?1

(4)公差计算

???n?1?n?1m

T???SA???IA???TAi??TAi??TAi

i?1

i?m?1

i?1

(5)双向对称标注计算

A?max?A?min?SA???IA?

A?M??A??

22 Aimax?Aimin?SAi??SAi

AiM??Ai?

22

三、工艺尺寸链分析与计算的实例;

1、图示工件A1?60?0.1,以底面A定位,加工台阶面B,保证尺0.25

寸A0?250,试确定工序尺寸A2

机械制造读书工程报告模板1

(1)尺寸链如图所示

(2)判断A?为封闭环,A1,A2为组成环

2

(3)基本尺寸

A2?A1?A??60?25?35mm

(4)上下偏差的计算

?S?0?0?0

?I??0.1?0.25??0.35

(5)A2的尺寸为35-0.35

2、一带有键槽的内孔需要淬火及磨削,其设计尺寸如图所示,内孔及键槽的加工顺序是: 1.镗内孔至 ?390;

?0.1

2.插键槽至尺寸A1; 3.热处理:淬火;

4.磨内孔,同时保证内孔直径?400槽深度43.60

?0.34

?0.05

和键

两个设计尺寸要求。

确定工艺过程中的工序尺寸A1 (1)尺寸链如图所示 (2)判断43.60环,19.80

?0.05

?0.34

为封闭环,A1,200

?0.025

为增

是减环

(3)基本尺寸

43.6?A1?20?19.8A1?43.4

(4)上下偏差的计算

?S?0.34?0.25?0?0.315?I?0?0?0.05?0.05

0.315

(5)A1的尺寸为43.6? ?0.05

机械制造读书工程报告模板1

3

3、如图套类零件的加工过程:

?0.06①精车内孔至尺寸?99.80

②渗氮,其渗氮层深度为A;

?0.02③磨内孔至尺寸?1000

同时保证表面的渗氮层深度为0.2~0.4

求渗氮层深度A。

(1)尺寸链如图所示

?0.2?0.03(2)判断0.20为封闭环,A,49.90为增

?0.01环, 500位减环

(3)基本尺寸的计算

0.2?A?49.9?50 A?0.3

(4)上下偏差的计算

?S?0.2?0.03?0.17 ?I?0.01

(5)A的尺寸为0.31~0.47mm

四、对工艺尺寸链的认识和学习体会

加工过程中,工件的尺寸是不断变化的,由毛坯尺寸到工序尺寸,最后达到满足零件性能要求的设计尺寸。一方面,由于加工的需要,在工序图以及工艺卡上要标注一些专供加工用的工艺尺寸,工艺尺寸往往不是直接采用零件图上的尺寸,而是需要另行计算;另一方面,当零件加工时,有时需要多次转换基准,因而引起工序基准、定位基准或测量基准与设计基准不重合。这时,需要利用工艺尺寸链原理来

机械制造读书工程报告模板1

进行工序尺寸及其公差的计算。在零件的加工和机器的装配过程中, 4

总有一些相互关联的尺寸问题,这些尺寸问题彼此之间有着一定的内在联系,往往一个尺寸的变化会引起其它尺寸的变化,或是一个尺寸的获得要靠其它一些尺寸来保证,尺寸链理论是解决机械制造中相关的尺寸问题的有效手段。

工艺尺寸链是机械加工工艺规程重要内容,是工艺技术人员必需熟练掌握方法,在工序设计中确定工序尺寸及公差时,如工序基准和测量基准不重合,就必须用到尺寸链来求解。通过对工艺尺寸链的学习,我了解了工艺尺寸链的定义和计算方法,学习并掌握了工艺尺寸链的计算方法,获益良多。

5

更多相关推荐:
软件工程报告

课程名称软件工程课程设计设计题目教务管理系统功能需求姓名专业班级学号组别同组者指导教师日期20xx711成绩一目的及要求课程设计是计算机科学与技术专业重要的实践性环节之一是在学习完软件工程课程后进行的一次全面的...

软件工程学习报告

软件工程学习报告时间飞逝不知不觉间软件工程的学习已经即将结束了在这将近一学期的学习中虽然我不能说我将软件工程学习的有多么的好但是通过学习我还是受益良多在没有学习软件工程课之前我总觉得这门课是那些有工程师称号的高...

软件工程需求分析报告报告

旅游社旅游管理系统需求分析报告旅游社旅游管理系统需求分析报告1引言1.1编写目的编写软件需求说明报告的目的是为了使用户和软件开发人员双方对该软件的初始规定有一个共同的理解并以此作为开发者进行软件设计用户进行…

《软件工程》报告

计算机病毒与反病毒技术摘要文章首先对计算机病毒作了整体概述着重写了病毒的危害在反病毒技术方面介绍了反病毒技术和工具并针对国内外反病毒技术现状和网络病毒发展的新趋势提出了进一步应对措施安装防火墙来保护自己的计算机...

软件工程专业实习报告

软件工程专业实习报告姓名沈亚枫学号0810750081专业软件工程班级软件0801指导老师李春林海南大学三亚学院20xx910目录1企业概述11企业发展简史312企业现状32实习过程21环境适应422具体程序开...

软件工程专题读书报告笔记1

S20xx25016赵鹏飞一软件要素软件工程包括三个要素方法工具和过程软件工程方法为软件开发提供了如何做的技术它包括了多方面的任务如项目计划与估算软件系统需求分析数据结构系统总体结构的设计算法过程的设计编码测试...

软件工程-课程报告

软件工程课程设计报告三峡大学软件工程课程设计报告图书管理系统学院计算机与信息学院专业软件工程班级20xx1122指导老师小组成员20xx112225王晓进20xx112226左望黎20xx112210丁梦力20...

软件工程专业调研报告

软件工程专业调研报告专业姓名软件工程班级学号一什么是软件工程软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科它涉及到程序设计语言数据库软件开发工具系统平台标准设计模式等方面在现代社会中软...

软件工程需求分析报告

1引言错误未定义书签11开发背景错误未定义书签软件开发背景计算机技术以及计算机网络技术为核心的信息科技的发展颠覆了原有世界的很多事物纸牌游戏也随着信息革命的大潮进入了20时代以前必须大家坐在一起才能够完成的事情...

软件工程详细设计报告

学生信息管理系统详细设计报告专业班级小组成员指导教师职称20xx年题目12月徐州题目详细设计说明书作者日期目录1算法描述411请假4111程序流程图4112函数说明512查询6121程序流程图6122函数说明6...

软件工程课程设计报告

福建农林大学金山学院课程设计报告课程名称:软件工程课程设计题目:旅游信息管理系统姓名:系:信息与机电工程系专业:计算机科学与技术专业承担角色:辅助程序员20##年12月9日课程设计结果评定目录1.课程设计概述.…

软件工程测试报告

课程设计说明书课程名称软件工程设计题目测试报告院系计算机科学与信息工程学院学生姓名学号20xx03060010专业班级09网络工程二班指导教师王瑞平12年06月06日1测试报告1概述11项目简介本项目是针对目前...

软件工程报告(31篇)