270 likes | 435 Views
Introduction to Unified Modeling Language (UML). Professor Jason Chen School of Business Administration Gonzaga University Spokane, WA 99258. Methods vs. Modeling Languages. A model has its purpose of structuring our thoughts A method
E N D
Introduction to Unified Modeling Language (UML) Professor Jason Chen School of Business Administration Gonzaga University Spokane, WA 99258
Methods vs. Modeling Languages • A model has its purpose of structuring our thoughts • A method • is an explicit way of structuring one’s thinking and actions • tells us: • What to do • How to do it • When to do it • Why it’s done
Modeling Language METHOD PROCESS Method, Modeling Language and Process + =
Process vs. Method • A process is a group of activities that, if done correctly, will achieve an explicit goal. • A method, in contrast, is normally also considered as a set of related activities, but without explicit goals, resources, and rules.
[VALUE] Rules Documentation, Products, Models etc. Resources Process What is a Process? <<Utilize>> Humans, computers tools, Information What to do, How to do it, When to do it, Why it should be done
Rules Resources Process What is a Process? Software Development: Process CONTEXT, USER, STEPS [VALUE] <<Utilize>> Documentation, Products, Models etc. Humans, computers tools, Information Aprocessis a group of activities that, if done correctly, will achieve an explicit goal. What to do, How to do it, When to do it, Why it should be done
Methods vs. Modeling Language How symbols should look Syntax Reality How symbols are combined (Spelling) Semantics – what each symbol means (meaning) Pragmatic – intentions of symbols used Software System (Aspects) Rules Represent Models Notations Expressed in Generating Modeling Language Method Help Process Document
· · What (the problem is) How (to create a solution) · Logical solution Requirements of the · system Physical solution · · Investigation of · Technical implementation domain solution (code) (Understanding the problem) Analysis vs. Design Oriented Analysis-Oriented Design-Oriented
What is the UML? • UML is only a modeling language without a process • it is a lot easier to comprehend than a natural language • Most modeling languages cover only syntax and semantics • Pragmantics is a bit difficult to decide since it can’t be formalized; it can only act as a guideline.
UML (conti.) • The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive systems.
What does UML give you? • The UML gives you a standard way to write a system’s blueprints covering conceptual things, such as business processes and system functions, as well as concrete thins, such as classes written in a specific programming language, database schemas, and reusable software components.
How Applicable of UML? • The UML is applicable to anyone involved in the production, deployment, and maintenance of software.
What is Visual Modeling? • VISUAL MODELING is a way of thinking about problems using (graphical) models organized around real-world idea. • UML is a product of VISUAL MODELING language.
Models are useful for .. • understanding problems, • communicating with everyone involved with project (customer, domain experts, analysts, designers, etc.) • modeling enterprise, • preparing documentation, and • designing programs and databases
Objectives of the Modeling Modeling promotes: • better understanding of requirements, • cleaner designs, and • more maintainable systems.
What is a Good Model? A model is good when: • it is a relevant model • it is possible to communicate • it fits its purpose • it captures the essentials
1. it is a relevant model • a relevant model captures the important aspect of whatever is being studied.
2. it is possible to communicate • a good model should be easy to communicate, have an explicit goal, be easy to maintain, be consistent , and have integrity. Issues such as name conventions and model coordination/integration should be enforced.
3. it fits its purpose • a good model should have an explicit purpose that everybody using it recognizes.
4. it captures the essentials • a good model should be able to capture the essence of the business (the core) and model around those core concepts, and to be able to handle changes properly (not just involves and /or creates documents.)
Business and Modeling Environment Examples: Model Meta-Data Invoice Core/Essence Data Debt Furniture Store Business Reality
Business and Modeling Environment Examples: Model Meta-Data Invoice Core/Essence Data Debt Furniture Store Business Reality
Other Problems? • No matter which method and modeling language have been used, there are other problems. • When we make the models and we become a part of business. Therefore, other problems should be taken into consideration: internal politics, social patterns, informal structure, and power surrounding the customers.
A System Model for UML System Model Analysis Design Implementation Deployment Model Model Model Model Physical Architecture A system is described in several models
Analysis: functional requirements • Design: working technical solutions • Implementation: source code • Deployment: description of how the system is deployed UML is phase independent and it is a modeling language (NOT a method) Tool vendors now can spend more time improving on the tools and less time on defining methods and languages.
OO-D OO-A OO-P Development of Object Technology UML C++, JAVA SmallTalk, etc.