+ All Categories
Home > Documents > Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas...

Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas...

Date post: 16-Aug-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
36
Domains and Models Karen Cortés V. 1 Karen Cortés V. April 3rd, 2014
Transcript
Page 1: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Domains and ModelsKaren Cortés V.

1

Karen Cortés V.

April 3rd, 2014

Page 2: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

“Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won't usually need your code; it'll be usually need your code; it'll be obvious”.

Fred Brooks.

2

Page 3: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Fred Brooks

• Ingeniero de Software y científico de la computación.

• Dirigió el desarrollo

3

• Dirigió el desarrollo del OS/360

• Autor del MythicalMan-Month

Page 4: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

“Every business is a software business''.

Watts Humphrey, Winning with Software

4

Page 5: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

5

FergusonFerguson, J., “, J., “CrouchingCrouching DragonDragon, , HiddenHidden Software: Software in Software: Software in DoDDoD

WeaponWeapon SystemsSystems”, Software, ”, Software, VolVol 18, 18, IssueIssue 4, 20014, 2001

Page 6: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

• Originador del modelo de madurez de capacidades CMM, el proceso de software para equipos (TSP) y el proceso personal de software (PSP).de software (PSP).

• En IBM, Humphrey puso en práctica mejoras en los procesos y logró impactar la calidad de los productos y la productividad de los desarrolladores.

6

Page 7: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Agenda

• Domain

• Models

• Reuse

7

• Software Product Lines

• Product Line Architecture (PLA)

• AOPLA

Page 8: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

What is a domain?

is a field of study that defines a set ofcommon requirements, terminology,and functionality

8

Page 9: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Approaches

• Domain-driven design

• Domain engineering

9

Page 10: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Premises

• Placing focus on the core domain and domain logic.

• Basing complex designs on a model of the domain. model of the domain.

• Collaboration between technical and domain experts

10

Page 11: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Model-1

Representation or simplified version of a concept, phenomenon, relationship, structure, system, or any aspect of the real world

11

Page 12: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Model-2

• One of the primary artifacts for capturing knowledge about a business problem and a technical solution.

• The model is the primary language for communication amongs technical people

• A means of communication between all system stakeholders and technical people

12

Page 13: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Model-3

• Assist in reasoning about the system's attributes

• Provide implementation guidelines for system developersfor system developers

• Help manage complexity by capturing details about aspects or views of a system while ignoring nonessential details

13

Page 14: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Software Reuse

• Software reuse is the process of creating software systems from existing software rather than building software systems from scratch1scratch1

14

1. Krueger, CH. W. ”Software reuse”, ACM Computing Surveys, Vol. 24, No. 2, pp. 131-183, 1992.

Page 15: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Why reuse?

Software development organizations are still failing to fulfill three impoprtant aspects:

– Quality

Time– Time

– Cost

15

Page 16: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Approaches that promote reuse

• Object Oriented Software Development

• Component-Based Software DevelopmentDevelopment

16

Software Product Lines

Page 17: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

What is a Software Product Line?

A Software Product Line is a “set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market

17

needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.”2

2. P. Clements, and L. Northrop, Software Product Lines: Practices and Patterns, Addison-Wesley, USA, 2001

Page 18: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

18

Page 19: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Some examples-1

19

Page 20: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Some examples-2

20

Page 21: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Problems addressed by SPL

• Disatisfaction with current project/product performance

• Need to reduce cost and schedule

• Complexity of managing and maintaining too

21

• Complexity of managing and maintaining too many products variants.

• Lack of staff

• Need to quickly respond to customer/marketplace demands.

Page 22: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

SEI’s Framework for Product Line Practice

22

Three essential activities for Software Product Lines taken from

http://www.sei.cmu.edu/productlines/frame_report/PL.essential.act.htm

Page 23: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

� SPL main characteristics:

• Two-tier organization

23

• Planned and proactive reuse of core assets

• Architecture-centricdevelopment

Page 24: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

ESAPS & CAFÉ Product Family Engineering Process

24

The Product Family Engineering Process taken fromhttp://www.esi.es/en/Projects/Families/E1.4b-Method-Catalogue/Start_SFE_Catalogue.htm

Page 25: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

El Vasa

En los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba determinado a poner fin a ella y encargó un nuevo y poderoso buque de guerra, el Vasa. Este buque tendría 70 m. de largo con capacidad para transportar hasta 300 soldados y contaría con 64 cañones en dos 300 soldados y contaría con 64 cañones en dos cubiertas Con la intención de agregar un poder sin igual a su flota el rey insistió en forzar la capacidad de armamento del Vasa al límite. La construcción fue encargada al experimentado y prestigiado Henry Hybertsson, de origen holandés. Sin embargo, el Vasa superaba su amplia experiencia. Los buques con dos cubiertas de cañones eran raros y ningún buque de guerra se había construido a la fecha del tamaño del Vasa ni con tal cantidad de armamento.

25

Page 26: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Como todos los arquitectos de su tiempo, Hybertsson hizo uso de su experiencia y balanceó todos los intereses que estaban en juego (tiempo de entrega, confiabilidad, seguridad, desempeño, funcionalidad y costo). Su experiencia le indicó que construyera el buque como un buque de una sola cubierta y de ahí extrapolar, lo cual estaba de acuerdo con el medio de extrapolar, lo cual estaba de acuerdo con el medio de la época. Hybertsson tuvo el buen tino de morir un año antes de terminar el buque.

26

Page 27: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Sin embargo el proyecto se concluyó de acuerdo a sus especificaciones. El 10 de agosto de 1628 el Vasa estaba listo. El Vasa desplegó sus velas, se adentró en las aguas del mar de Estocolmo y disparó sus cañones como saludo. Inmediatamente se volteó, el agua empezó a entrar por las escotillas de los cañones y se hundió. En total 150 hombres de su tripulación murieron hundió. En total 150 hombres de su tripulación murieron ahogados.

27

Page 28: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Software Product Line Architecture

“The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of

28

the externally visible properties of those elements, and the relationships among them.”3

3. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Second Edition, Addison-Wesley, USA, 2003.

Page 29: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Issues in PLA

• Definition of a reference architecture fromwhich specific architectures must be derived

• PL quality attributes as well as PLA-specificquality attributes

• Support for PL evolution

29

• Support for PL evolution

• Commonality and variation analysis

Page 30: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

How to design a PLA? - 1

• SEI’s framework for PL practice

• In Software Engineering Practice Areas:

• Architecture definition

• Architecture evaluation

30

• Architecture evaluation

• Architecture recovery in Mining existing assets practice area

Page 31: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

• Architecture definition practice area:

• Specific practices:

• Architecture definition and architecture-based development

How to design a PLA? - 2

31

architecture-based development

• Architecture styles and patterns

• Mechanisms for variability in a PLA

• Planning for architectural variation

Page 32: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

AOPLA (Aspect-Oriented Product Line Architecture)

The definition of an architecture modelencompassing:

a) PL-specific quality attributes,

b) Products quality attributes

c) commonality and variabilitysupport, and

32

Page 33: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Product Line Quality Model

• Elements:

• Quality requirements: scenarios

• Metrics

• Architectural patterns• Architectural patterns

• Use of means

33

Page 34: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

•PL-specific quality attributes•Variability•Derivability•Reusability•Rateability

34

•Rateability• Integrability•Correctness• Evolvability•Manageability•Maintainability

Page 35: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

AOPLA

Business case definition

35

Domainengineering

Architecturemodeling

Page 36: Domains and Models - uv.mxEn los años 1620s, Suecia y Polonia se encontraban en guerra y sus flotas se encontraban en lucha en el Mar Báltico. El rey de Suecia, Gustavo Adolfo, estaba

Questions? . . .

36

[email protected]

www.uv.mx/personal/kcortes

www.uv.mx/its

@karencortesv

@CA_ingSoft


Recommended