• Save
Moderne Software Engineering
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,508
On Slideshare
1,422
From Embeds
86
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 86

http://www.software-innovators.nl 84
http://www.slideshare.net 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Modern Software Engineering André Boonzaaijer [email_address]
  • 2. Agenda
    • Wie of wat ben ik?
    • Timeline / Geschiedenis
    • Software Engineering:
      • Architectuurstijlen
      • Patterns
      • Platforms / Frameworks / Talen
      • Ontwikkelstraten
      • DSL’s
    • Vragen
  • 3. Wie ben ik
      • André Boonzaaijer
      • - Manager / Coach Professionals
      • - Trainer / Docent
      • - Software Engineer
      • Sogyo: November 2006 (Software Engineer)
      • Hiervoor:
      • Software bedrijf
      • Transportbedrijf
  • 4. Over Sogyo
    • Opgericht in 1995
    • Gevestigd op Landgoed Sandwijck in De Bilt
    • > 90 medewerkers
    • Fascinatie voor software innovaties : het ontwerpen,
    • ontwikkelen, realiseren en integreren van software
  • 5.  
  • 6. Diensten …
    • De kennis en kunde die Sogyo heeft opgebouwd, wordt in drie verschillende pijlers aangeboden:
  • 7.
  • 8. Timeline (1): Mainframe Structured Programming                 
  • 9. Timeline (2): Personal Computers Structured Programming Object Orientation
  • 10. Timeline (3): Client/Server Computing Structured Programming Object Orientation CBD UML
  • 11. Timeline (4): Distributed Computing J2EE - .NET Middleware
  • 12. Timeline (5): Extended Integration Service Oriented Architecture XML
  • 13. Timeline (6): Conclusion          MDD XML (Web) Services SOA CBD OO String test { Doe iets; } Void Main { printline Test; } Structured Programming
  • 14. Software Engineering
    • Architectuur stijlen
    • Patterns
    • Technieken / Tools / Frameworks
  • 15. Architectuurstijlen
    • Wat is architectuur?
    • Wat is een architect?
    • Wat is een architectuurstijl?
  • 16. Architectuurstijl: Layering User Interface ‘ Monoliet’ Database
  • 17. Architectuurstijl: Layering Presentation Layer Data Layer User Interface ‘ Monoliet’ Database
  • 18. Layering (II) Presentation Layer Data Layer Business logic
  • 19. Layering (III) Presentation Layer Data Layer Business logic
  • 20. Layering (IV) Presentation Layer Data Layer Business logic
  • 21. Beyond layering…
    • Domain Driven Design
  • 22. Concepten -> Talen: Patterns
    • Enterprise Application Patterns
    • Martin Fowler
    • Design Patterns
    • Gamma et al (GoF)
  • 23. Pattern example: MVC http://www.martinfowler.com http://www.codeproject.com
  • 24. Anti-Patterns
  • 25. Talen -> Tools / Frameworks
    • Momenteel twee grote ontwikkelplatformen:
      • Sun Java EE 5 / 6 (voorheen J2EE)
      • Microsoft Dotnet 2.0 / 3.0 / 3.5
    • Iets minder groot:
      • Ruby (On Rails)
      • PHP / Zend (hoewel…)
  • 26. “ Standaard” Enterprise applicatie Java EE Dotnet SQL Server (2005 / 2008) Oracle 9i MySQL PostgreSQL DB2 C# Java VB C++ .NET WebServices WCF Remoting Hibernate Axis SCA Metro JPA ADO.NET Entity Framew. Struts JSF Swing Flex JavaFX WPF Silverlight ASP.NET WinForms Linux, Unix, Solaris, MacOS, Windows Windows (MONO – open source)
  • 27. Frameworks
    • Over alle lagen:
      • Spring / Spring.NET (binnenkort college Gong)
      • Rails (  Ruby on Rails), MonoRail
      • AOP: AspectJ, PostSharp Laos
    • Specifieke laag:
      • (N)Hibernate (binnenkort college Gong)
      • Struts
      • ASP MVC Framework
  • 28. Ontwikkelstraat
    • “ Het totaal van tools, methoden, processen en mensen met als doel het effectief en productief ontwikkelen van software.”
  • 29. Een ‘Agile’ ontwikkelstraat Software Engineer, IDE Client tools: Unit tests, Code analysis, frameworks, etc Tester, Use Cases / Scenario’s, User stories, Test tools SVN, Team Foundation Server Cruise Control, Team City, TFS Trac, Team City, TFS Source Control Issue tracking Development Continuous Integration Testing Customer
  • 30. Domain Specific Languages
    • Talen voor een specifiek doel
      • SQL
      • Xpath
    • Zelf definieren voor:
      • Page Flow
      • O/R Mapping
    • Grafisch: Microsoft DSL tools, Eclipse Modeling Framework (Meta-modellering)
    • Textueel: ANTLR
  • 31. Stages
    • DSL Voor AOP
    • Zoeken: grafische LINQ Editor
    • GIS onderzoek
    • WWF voor interactieve video
    • DDD en data validatie
  • 32. Vragen? Feedback? Seminar? Congres? André Boonzaaijer [email_address] www.sogyo.nl