1. UML U M L(Unified Modeling Language)BYCh. Vishwa MohanProject ManagerVision Krest Embedded Systems
2. Software Development Life Cycle (SDLC) Requirement Definition Requirement Analysis. System Design Prototyping Construction Integration Testing Implementation Documentation Maintenance.
4. What are the Life Cycle Types ? Structured Methods Code and Fix (Traditional) Waterfall Spiral Ward & Mellor (Real Time & Embedded Systems) Object Oriented Methods OOA/OOD By Coad & Yourdon OOD By Booch OMT By Rambaugh OOSE by Jacobson
5. Drawbacks of Traditional Methods ! Adaptability to change is very poor. Bugs. Person Dependency No way to communicate with team members. No way to model the system Limited user involvement. Persons involved in the analysis will required to go for coding and further phases.
6. Benefits of the Object Oriented Methodologies: New requirements can be added at later stage and their integration will be very easy. It’s possible to deal with more complex systems. Easy way to make communication between software developers and experts. Seen over the whole of their lifetime, OO models are more stable and thus easier to modify. OO abstraction allows increases reusability of work outcomes. Finally it’s more fun.
7. Steps involved in the OO Software Development: Identify the objects and their attributes. Study operations associated with the objects. Design classes from objects having similar characteristics. Establish relationship between classes. Implement the classes and relationships between them.
8. UML What is Model ? Representation in a certain medium of some thing in the same or other medium. A model represents the blueprint of the system. It is an abstract representation of a system. What is In a Model ? Semantics: It captures the classes, associations, states, use cases and messages. Visual Representation: How to represent model elements. Different tool vendors shows different representation for the same model.
9. What is UML ? UML is a general purpose visual modeling language that is used to specify, visualize, construct, and document the artifacts of a software intensive system. UML enables system builders to create blue prints that capture their vision in a standard easy-to understand way and communication them to others. UML can be used with all processes, throughout the development life cycle, and across different implementation technologies. UML captures the static and dynamic behavior of systems.
10. What is a Visual Modeling ? Basically, the modeling captures the essential parts of the system. Computer system basically automate business processes. However, it’s not easy to build software systems on time and within budget. Building a complex software system requires blueprint. You don’t construct a building without a blueprint. Visual modeling is the blueprint for software systems. Finally we can say, Visual Modeling is the key to successful software development.
12. Benefits of Visual Modeling? Visual Modeling captures business process Use case analysis is a technique to capture business process from users perspective. Visual Modeling is a communication tool. Use visual modeling to capture business objects and logic. Use visual modeling to analyze and design your application. Visual Modeling manages complexity. Visual Modeling defines software architecture. With the help of Visual modeling language your model your system independent of implementation language. Visual Modeling promotes reuse. Here Visual Modeling can be used as component browser and it can also be used to model component assembly.
17. Reveal the physical implementation architecture with component & deployment diagrams
18.
19. Different Diagrams in UML Use Case Diagram Class Diagram Sequence Diagram Collaboration Diagram State Transition Diagram Activity Diagram Component Diagram Module Diagram Deployment Diagram. Presentation Diagram
20.
21.
22. Static View is the foundation of UML. It captures the object Structure. It doesn’t contains details of dynamic behavior.
27. Actor Registrar Faculty Student Billing System An actor is someone or some thing that must interact with the system under development. An Actor is a stereo type of class. An actor is represented with a sticky man.
42. Attributes CourseOffering number loation time The structure of a class is represented by its attributes. Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge. Each course offering has a number, location and time
43. Operations registration registration form manager RegistrationManager 3: add course(joe, math 01) addCourse(Student,Course) The behavior of a class is represented by its operations. Operations may be found by examining interaction diagrams.
44. Relationships Relationships provides pathway for communication between objects. Sequence and/or collaboration diagrams are examined to determine what links between objects need to exist to accomplish the behavior. If two objects need to “talk” there must be a link between them. Three types of relationships are: Association, Aggregation and Dependency.
62. Stereotypes can be sued to extend the UML notational elements. Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components. Examples of stereotypes: Class Stereotypes: Actor, boundary, entity, utility, exception. Inheritance Stereotypes: uses and extends. Component Stereotypes: subsystem.
63. Constraints A Constraint is an expression which restricts the possible contents, states are the semantics of a model element which must always be satisfied. Constraints are always enclosed in braces. The below represents constraint on association. Bank Teller Customer Servers {ordered} Chooses .NET Course Student {Or} Java Course Chooses
70. Sequence Diagram registration registration math 101 math 101 : Student form manager section 1 1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) A Sequence diagram displays the object interaction arranged in a time sequence.
82. Deployment Diagram Registration Database Main Library Building Dorm The deployment diagram shows the configuration or run-time processing elements and the software processes living on them. The deployment diagram visualizes the distribution of components across the enterprise.
Sequential:Only one call to an instance may be outstanding at once. Guarded: Multiple calls from concurrent threads may occur simultaneously to one instance, but only one is allowed to commence. The others are blocked until the performance of the first operation is complete. (Designers to ensure that deadlocks can’t occur)Concurrent: Multiple calls from concurrent threads may occur simultaneously to one instance on any concurrent operation. All of them may process concurrently with correct semantics. (Inside the method implementation synchronization problems are correctly addressed.)