free mini course: applying uml 2.0 with magicdraw

21
Free Mini Course: Applying UML 2.0 with MagicDraw

Upload: zenia

Post on 10-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Free Mini Course: Applying UML 2.0 with MagicDraw. Why Modeling Is Important?. Modeling is the core of modern software development, and speeds up implementation while elevating quality and user satisfaction. It applies to all software development activities – from requirements to testing. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Free Mini Course:   Applying UML 2.0 with MagicDraw

Free Mini Course: Applying UML 2.0 with MagicDraw

Page 2: Free Mini Course:   Applying UML 2.0 with MagicDraw

2

Why Modeling Is Important?

Modeling is the core of modern software development, and speeds up implementation while elevating quality and user satisfaction.

It applies to all software development activities – from requirements to testing.

Without efficient modeling skills you cannot be successful in today’s software development!

Did You Know?

Software Development magazine Salary Survey 2005 has surveyed over 4000 software developers and managers and has identified that the MOST important skills needed to produce quality projects and products are architecture modeling and design (59% of the staff and 56% of the managers indicated this). The survey ranked this higher than programming, QA, testing, and requirements management. Therefore, don't miss your chance to spend your training budget on the right education!

Page 3: Free Mini Course:   Applying UML 2.0 with MagicDraw

3

UML in the Software Development Process

Implementation architecturePackage structureInteraction scenariosDetailed class and data modelsUser interface “maps”

Code generation from UMLVisualization of code structureModel transformationsCode model analysis

Test case action flowsTest data object structuresInteractions for test scenarios

Domain analysis modelVisual concept dictionaryUse case scenariosActivity trails

Page 4: Free Mini Course:   Applying UML 2.0 with MagicDraw

4

Application of Modeling Skill Sets

Business Analysts Increase modeling efficiency of

business processes that capture user desires

Perform domain analysis Participate in creating UML and

other standards based models …

Database Designers Design database architecture Introspect existing databases Generate database tables Transform class diagrams to

database schemas …

System Analysts & Architects Apply UML for different

architectural views Transition system models from

business models Manage modeling teamwork …

Developers Define package structure Prepare detailed class models Model interactions Visualize deployment Reverse and visualize code …

Page 5: Free Mini Course:   Applying UML 2.0 with MagicDraw

5

A Case Study: Domain Analysis

Perform domain analysis by modeling domain entities and their relationships using simplified class diagram. This diagram will serve as a visual dictionary of concepts. It will also be a starting point for your design-level data model.

With MagicDraw you can generate dictionary in HTML format

Reservation

Reader

Item

Loan

Category

Return

Penalty

is given for11

classified by1..*0..*

inactivates11

performs1

0..*

books

0..*

1

given for overdue0..1

1

Page 6: Free Mini Course:   Applying UML 2.0 with MagicDraw

6

A Case Study: Use Case Model

Register items' return

extension pointsoverdue

Make item's reservation

Register items' loan

Review reader's history

Find item

Penalize for overdue

Librarian

Reader

<<extend>>(overdue)

<<include>>

<<include>>

Analyze functional requirements by identifying user roles – actors – and associating them to their use cases.

With MagicDraw you can document use cases and generate use case documentation from model.

Page 7: Free Mini Course:   Applying UML 2.0 with MagicDraw

7

A Case Study: Activity Diagram for Use Case Scenarios

Select returned items

Identify reader

Show list ofloaned items

Record return data

Penalize for overdue [overdue]

[on time]

Model abstract use case implementation by creating activity diagrams visualizing activity flows for primary and secondary use case scenarios.

You can hyperlink use cases to the activity diagrams modeling their scenarios

You can decompose activity diagram elements using hyperlinks to detailed diagrams

Assign activity diagrams as use case primary and secondary scenarios, which includes them in use case documentation

Page 8: Free Mini Course:   Applying UML 2.0 with MagicDraw

8

A Case Study: Robustness Analysis

Perform the robustness analysis to identify the major components in layered architecture: user interface boundaries, business logic controls, and data entities.

SystemAccessService

NotificationService

ItemSearchForm

ItemBrowser SearchService

ReaderProfile LoanService

LoginDialog

Librarian

Reader

Loan

Item

Penalty

User

Page 9: Free Mini Course:   Applying UML 2.0 with MagicDraw

9

A Case Study: Package Dependencies

Prepare package dependencies diagram to group your implementation classes in appropriate way. This will help you maintain the code well structured and avoid design flaws such as cyclic dependencies or dependencies on unstable parts.

gui

persistence

services

web

domain

Specifics

Stability

Page 10: Free Mini Course:   Applying UML 2.0 with MagicDraw

10

A Case Study: Interactions

Model component interactions for use case scenarios in order to find out new methods in existing classes or even new classes with specific responsibilities.

[for each reservation ]

loop

<<control>>: NotificationService

<<boundary>>: ReaderProfile

<<control>>: LoanManager

: Reader <<entity>>: Loan

Loginref

cancelReservation()3:

inactivate()4:

getWaitingOrder5:

notifyUser(-)6:

select rezervations for canceling1:

cancelReservations()2:

[for each reservation ]

loop

Loginref

Page 11: Free Mini Course:   Applying UML 2.0 with MagicDraw

11

A Case Study: Detailed Class Model

Create detailed class diagrams to capture your object-oriented data model. Later you will be able to transform them into executable code – database DDL scripts, XML schemas, Java code, etc.

Reader

-firstName : String-lastName : String-birthday : date-email : String

Loan

-dateReturned : date = null-dateLoaned : date = null-dateReserved : date

Book

-numberOfPages : int

-published : date

-ISBN : String

-edition : int

Penalty

-suspendedUntil : date

Item

-description : String-price : float

-title : String

AudioRecord

-released : date

-artist : String-label : String

Category

-description : String-name : String

-overdueLoan1

-categories1..*

0..*

-reader1

-book1

-childs0..*

-parent0..1

-loaner1

Page 12: Free Mini Course:   Applying UML 2.0 with MagicDraw

12

A Case Study: Implementation Architecture

J2EE Application Server

<<artifact>>JSP pages

<<EJB-JAR>>EJBServices.jar

<<EJB-JAR>>EJBEntities.jar

Database Server

<<artifact>>Database

Local Client

<<artifact>>AdminGUI.jar

Web Client

<<artifact>>Browser

TCP/IP

HTTP

JDBC

Define the major artifacts that manifest implementation of your components.

Indicate how they are deployed on hardware nodes, their inter-dependencies and communication protocols.

Page 13: Free Mini Course:   Applying UML 2.0 with MagicDraw

13

A Case Study: Prepare Platform Specific Models

<<EJBSessionBean>>SystemAccessService

+login( username : String, password : String ) : boolean

<<dao>>User

+comparePassword( password : String ) : boolean+getUser( username : String ) : User

<<server page>>LoginHandler.jsp

<<client page>>main.html

<<client page>>index.html

<<client page>>error.html

<<form>>login

<<builds>> <<builds>>

<<submit>>{parameters = name, password}

Identify implementation technologies and software component types.

Prepare models that are ready for code generation!

Page 14: Free Mini Course:   Applying UML 2.0 with MagicDraw

14

Learn MagicDraw Features!

Organize your model elements and hyperlink them for easy navigation

Prepare model content diagrams for easy model navigation

Find all generalized, associated, and dependent classes for a given class

Reuse model element in multiple diagrams with different level of details

Document your use case models and generate use case specification

Transform OO data models to database structure and XML schemas

Create business process and system documentation following style guidelines and using layout tools

Visualize and analyze code structure after reversing it to UML model

Decompose large models into independent modules and profiles

Compare model versions and find out changes in model and diagrams

Create and associate analysis-, design-, and implementation- level models

…and much more!

Increase efficiency of tool usage by learning how to:

Page 15: Free Mini Course:   Applying UML 2.0 with MagicDraw

15

Sample MagicDraw Feature: Comparison of Two Model Versions (1)

Deleted elements

Modified element – a diagram

Added element

Page 16: Free Mini Course:   Applying UML 2.0 with MagicDraw

16

Sample MagicDraw Feature: Comparison of Two Model Versions (2)

Find out modified parts in diagrams!

Page 17: Free Mini Course:   Applying UML 2.0 with MagicDraw

17

ANNOUNCING New Open Enrollment Classes from No Magic

Check the upcoming open enrollment classes“Applying UML 2.0 with MagicDraw”in multiple locations.Check detailed info at www.magicdraw.com !

We are offering you regular Open

Enrollment classes at a site near you, to

compliment our Onsite training curriculum.

MagicDraw training open enrollment

classes are offered initially in the USA,

Europe, and Thailand.

Onsite training is available in all the

world with the possibility to choose

specialized course that suites best your

needs!

Do you need MagicDraw training for just yourself or several

employees?

Want MagicDraw training for a small group but want to get away?

Page 18: Free Mini Course:   Applying UML 2.0 with MagicDraw

18

Use MagicDraw Open Enrollment Courses: Locations and Dates

Location Apr May Jun Jul Aug Sep Oct Nov Dec

USA1-5

Seattle, WA5-9

Plano, TX10-14

Seattle, WA4-8

Plano, TX16-20

Seattle, WA4-8

Plano, TX

Europe10-14

Kaunas, Lithuania

29-02TBD,

Germany

21-25Kaunas,

Lithuania

2-6TBD,UK

27-1Kaunas,

Lithuania

Asia8-12

Bangkok,Thailand

24-28,Bangkok,Thailand

18-22,Bangkok,Thailand

13-17Bangkok,Thailand

Page 19: Free Mini Course:   Applying UML 2.0 with MagicDraw

19

Also Available: On Site Custom MagicDraw & UML Training Courses

Page 20: Free Mini Course:   Applying UML 2.0 with MagicDraw

20

Why Train with Us?

1. Our instructors are MagicDraw experts – people who participate in development of the product.

2. We have applied UML in numerous projects including development of MagicDraw itself. We practice what we preach!

3. Our instructors are certified by OMG as UML professionals.4. We always get good reviews by our customers.

Remember to order Training with every MagicDraw purchase. Consider adding one of our Professional Services consultants as an on-staff

mentor in your first MagicDraw project.

“Course used our own project as case study and this was very effective. Darius and the team were very good at understanding our issues and showing how UML and MagicDraw can help us. Very impressive, friendly and helpful instructor.”

Colin Manning, Lead Engineer, ts.com

Page 21: Free Mini Course:   Applying UML 2.0 with MagicDraw

21

Instructor

Darius has been working with No Magic from 1998. He participated as Java developer in

multiple international projects. Darius has developed a modeling case study MagicLibrary

and leaded multiple MagicDraw training courses worldwide. He also taught commercial

courses on Requirements Management with UML, Software Design with UML, and Java/J2EE

Programming. Darius received PhD from Vytautas Magnus University, where he teaches

courses Software Development Methodology and Software Engineering. Darius participates

frequently in various conferences and presents talks on UML and other software

development topics. He holds the following professional certificates:

Microsoft Certified Professional Sun Certified Programmer for the Java 2 Platform 1.4 OMG-Certified UML Professional Intermediate

Dr. Darius Šilingas

MagicDraw Training Group Leader