Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of...
Transcript of Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of...
![Page 1: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/1.jpg)
Modelbaseret softwareudvikling Lektion 1: Introduktion
Ole Rasmussen – Senior IT Arkitekt
5. Februar 2010
“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” (Martin Golding)
![Page 2: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/2.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling2 Lektion 1: Introduktion2010-02-05
Kort indblik i min karriere
� 97-99: Developer–Lufthavne–TKE
� 98-…: Method Consultant
� 99-00: ”Architect” - e-Commerce–Several proposals–ToyCity, GiftAhoy
� 98-…: Teacher–SI-/ GSMethod–OTU2–Commerce Suite–Component Modeling–Architectural Thinking –SOA Bootcamp–SOMA Workshop
� 01-..: Architect–4PL vision–eCommerce at major shipping firm–Telco Service Platform–VIRK–Insurance core system development
method–Banking SOA Method Framework–Review: IKEA, MSL, PFA, YouSee,
many IBM TDA’s, …–Proposal and pre-sale: Skat,
Domstolsstyrelsen, TDC, ATP …–Leader of Nordic SOA Center of
Excellence–Service delivery for Novartis (very
different)–Currently:
• Architect at large delivery project• Application strategy @ Ministry of
Finance
� 03/12: Certified IT Architect (IBM and Open Group level 2)
–Application Architecture–Started the formal process in December
2002!–Submitted package ultimo October 2003–Recertified in 2006 and 2009
� 43 years, married, 4 children
� MS Computer Science w/ BS Mathematics, AalborgUniversity, 1993Thesis: "Patterns in design of object oriented IT systems"
� Employment– IBM, IT Architect, ’97 – now – DTU, Teacher, ’10 – now– Niels Brock – Advanced Computer Studies and
Bachelor, Teacher, ’96 – ’07– Kommunedata I/S, Developer, ’95 – ’97– SDC FinansSystem A/S, Developer, ’94 – ’95
Overblik IBM
Open group certification: http://www.opengroup.org/itac/
![Page 3: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/3.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling3 Lektion 1: Introduktion2010-02-05
Hvad vi leverer i IBM’s service forretning – og hvor jeg normalt passer ind …
ApplicationMaintenance
ApplicationBuild
Application Design
OngoingBusiness
Run
Business Transformation
Delivery
Business Transformation
Design
InfrastructureRun
Infrastructure Build
InfrastructureDesign
ProposalAnd
ContractNegotiation
![Page 4: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/4.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling4 Lektion 1: Introduktion2010-02-05
Hvad ser I her?Hvordan kan du beskrive det?
![Page 5: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/5.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling5 Lektion 1: Introduktion2010-02-05
Forskellige syn ind på ”systemet”
Tog Veje Distrikter
![Page 6: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/6.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling6 Lektion 1: Introduktion2010-02-05
”Modelbaseret softwareudvikling” - Hvad er ”software”?
Computer instructions or data. Anything that can be stored electronically is software. The storage devices and display devices are hardware.
The terms software and hardware are used as both nouns and adjectives. For example, you can say: "The problem lies in the software," meaning that there is a problem with the program or data, not with the computer itself. You can also say: "It's a software problem.“
The distinction between software and hardware is sometimes confusing because they are so integrally linked. Clearly, when you purchase a program, you are buying software. But to buy the software, you need to buy the disk (hardware) on which the software is recorded.
Software is often divided into two categories:
– systems software : Includes the operating system and all the utilities that enable the computer to function.
– applications software : Includes programs that do real work for users. For example, word processors, spreadsheets, and database management systems fall under the category of applications software.
http://www.webopedia.com/TERM/S/software.html
Vi fokuserer på ”applikations software” her i kurset.
![Page 7: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/7.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling7 Lektion 1: Introduktion2010-02-05
”Modelbaseret softwareudvikling” – hvad er modeller?
1 obsolete : a set of plans for a building2 dialect British : copy, image3 : structural design <a home on the model of an old farmhouse>4 : a usually miniature representation of something; also : a
pattern of something to be made5 : an example for imitation or emulation6 : a person or thing that serves as a pattern for an artist; especially :
one who poses for an artist7 : archetype8 : an organism whose appearance a mimic imitates9 : one who is employed to display clothes or other merchandise10 a : a type or design of clothing b : a type or design of product (as a
car)11 : a description or analogy used to help visualize something (as
an atom) that cannot be directly observed12 : a system of postulates, data, and inferences presented as a
mathematical description of an entity or state of affairs; also : a computer simulation based on such a system <climate models>
13 : version14 : animal model
http://www.merriam-webster.com/dictionary/model
A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.
Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group.UML includes a set of graphical notation techniques to create visual models of software-intensive systems.
A model is a simplified representation of a system at some particular point in time or space intended to promote understanding of the real system.
Min foretrukne definition
![Page 8: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/8.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling8 Lektion 1: Introduktion2010-02-05
Det er ikke simpelt at lave softwareudvikling“No Silver Bullet - Essence and Accidents of Software Engineering” (Frederick P. Brooks, Jr.)
Essential Difficulties - the difficulties inherent in the nature of software – Complexity– Conformity– Changeability– Invisibility
Accidental Difficulties – only due to our (mis-) behavior
Er der håb med modelbaseret softwareudvikling?
Source: http://www.virtualschool.edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html
![Page 9: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/9.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling9 Lektion 1: Introduktion2010-02-05
Hvorfor laver vi modeller?
For at
� Tænke
� Forstå
� Lære
� Beskrive
� Dokumentere
� Kommunikere
� Visualisere
� Abstrahere
� Håndtere kompleksitet ved at separere aspekter i forskellige ”views” (separation of concerns)
Modeling is not an all-or-nothing proposition. Models canplay a part in the software development process in manyways.
Gary Cernosek: ”The Value of Modeling”ftp://ftp.software.ibm.com/software/rational/web/whitepapers/ValueOfModeling.pdf
Vigtigheden afat modellere
Mere
Mindre
![Page 10: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/10.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling10 Lektion 1: Introduktion2010-02-05
ARC318 ParametricCosts
ARC320 TechnicalTransaction Map
Hvad er udfordringen med de modellerog tools vi anvender i dag?
ARC108 ComponentModel
APP130 UseCase Model
ARC310 Standards
ARC111 DeploymentUnits
APP110 LogicalData Model
APP011 SystemContext
APP146 UIConceptual Model
APP147 UIDesign Guidelines
ARC119 NonFunctional RequirementsARC108 Architecture
Overview Diagram
ARC102 Ref. ArchitectureFit/Gap Analysis
ARC107 ArchitecturalTemplate
ARC100 ArchitecturalDecision
ARC113 OperationalModel
ARC115 SoftwareDist. Plan
ARC319 PerformanceModel
ARC118 ChangeCases
ARC117 ViabilityAssessment
ARC103 TechnicalPrototype
ARC114 Service LevelChar. Analysis
ARC301 CurrentIT Envionment
OPS308 ITServices Strategy
Dependencies to/from most other work products
MS Visio MS Word
MS Visio
MS PowerPoint
Rational
Rose
MS Excel
MS Word
MS WordMS Excel
MS Word
CA ERwinMS Word
Word of
mouth
IBM Academy of Technology Report: Analysis of Resources for Architectural Work
“Most architects use tools that are no better than those their kids use for doing their homework”
![Page 11: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/11.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling11 Lektion 1: Introduktion2010-02-05
Hvor langt kan vi drive modeller?
� Se også http://www.version2.dk/artikel/11499-dtu-vi-skal-op-ad-abstraktions-stigen-og-vaek-fra-synlig-kildekode
� Mange firmaer, som leverer værktøjer til software udvikling har modelbaseret udvikling meget tæt inde i visionen
For almost 40 years, people have been anticipating and writing about "automatic programming, ”…
One can find exceptions. The technique of [[sterling]] building generators is very powerful, and it is routinely used to good advantage in programs for sorting. Some systems for integrating differential equations have also permitted direct specification of the problem, and the systems have assessed the parameters, chosen from a library of methods of solution, and generated the programs
These Applications have very favorable properties:
• The problems are readily characterized by relatively few parameters.• There are many known methods of solution to provide a library of alternatives.• Extensive analysis has led to explicit rules for selecting solution techniques, given problem parameters.
It is hard to see how such techniques generalize to the wider world of the ordinary software system, where cases with such neat properties are the exception. It is hard even to imagine how this breakthrough in generalization could occur.
Frederick P. Brooks, Jr. , 1987 in “No silver bullet”
![Page 12: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/12.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling12 Lektion 1: Introduktion2010-02-05
Illustration af en ”blå” vision
![Page 13: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/13.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling13 Lektion 1: Introduktion2010-02-05
Vi vil her i kurset arbejde med at få en forståelse for, hvad det vil sige at lave modelbaseret softwareudvikling, hvor det er ”model only”.Men du vil også komme til at supplere med noget kode….
Code Code Code Code
Model Model Model Model
“What’s aModel?”
“The code isthe model”
“Code and model coexist”
“The model is the code”
“Let’s talkmodels”
Code onlyCode
visualizationRoundtrip
engineering Model-centric Model only
![Page 14: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/14.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling14 Lektion 1: Introduktion2010-02-05
![Page 15: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/15.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling15 Lektion 1: Introduktion2010-02-05
Om kurset
Overordnede kursusmål
Kursets mål er at sætte den studerende i stand til at bruge modelbaseret udviklingsmetoder til udvikling af softwaresystemer. Dette omfatter anvendelse af modeller til beskrivelse af systemer samt principper for transformering af modeller baseret på forskellige metamodeller. Der fokuseres på praktisk og passende brug af modeller samt disses anvendelser til automatisk kodegenerering.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:– Have en basal forståelse for modeller og deres brug i moderne Software Engineering– Designe robuste modeller– Analysere modeller– Forstå relationen mellem modeller og den færdige kode, herunder alternative repræsentationer som
f.eks. XSD– Forstår og anvende automatiske kodegenerering fra modeller– Programmere kode manuelt fra modeller– Dokumentere software og dens design ved modeller
![Page 16: Modelbaseret softwareudvikling Lektion 1: Introduktion 02341-10 L… · 10 a : a type or design of clothing b : a type or design of product (as a car) 11 : a description or analogy](https://reader036.fdocuments.in/reader036/viewer/2022071215/60445a97fc9e3c09f37381d3/html5/thumbnails/16.jpg)
Ole Rasmussen 02341 Modelbaseret softwareudvikling16 Lektion 1: Introduktion2010-02-05
Kurset består at forelæsninger, øvelser, opgaver og et projekt.Projektet er grundlaget for kursusevalueringen (din karakter)
Her ebar Hjemme