Rose교육.ppt

Similar documents
UML

소프트웨어개발방법론

Something that can be seen, touched or otherwise sensed

06.AnalysisModeling.key

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

Intro to Servlet, EJB, JSP, WS

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

ecorp-프로젝트제안서작성실무(양식3)

Joseph Hwang, IBM Rational Software

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

1.장인석-ITIL 소개.ppt

PCServerMgmt7

thesis

04-다시_고속철도61~80p

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

03.Agile.key

Manufacturing6

SchoolNet튜토리얼.PDF

untitled

PowerPoint 프레젠테이션

DW 개요.PDF

01-OOPConcepts(2).PDF

1

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000_ docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_1000 ver2.docx

APOGEE Insight_KR_Base_3P11

Service-Oriented Architecture Copyright Tmax Soft 2005

final_thesis

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

ETL_project_best_practice1.ppt

Orcad Capture 9.x

Oracle Apps Day_SEM

감각형 증강현실을 이용한

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

001지식백서_4도

BSC Discussion 1

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

F1-1(수정).ppt

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer


학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

Microsoft PowerPoint - AC3.pptx

Microsoft PowerPoint - Ieee standard pptx

untitled

15_3oracle

PowerPoint 프레젠테이션

untitled

untitled

untitled

0125_ 워크샵 발표자료_완성.key

thesis

DocsPin_Korean.pages

김기남_ATDC2016_160620_[키노트].key

강의10


歯두산3.PDF

2

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Ver. 4.0 OOPT Stage 1000 <Plan and Elaboration> Version 4.0 Project Team T7 Team Date Team Information 오세욱 임현유

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

소프트웨어 개발의 성공 열쇠 - 오브젝트 디자인

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

歯I-3_무선통신기반차세대망-조동호.PDF

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

PowerPoint 프레젠테이션

PMP수험서_8-2쇄

#Ȳ¿ë¼®

04_오픈지엘API.key

Corporate PPT Template

장양수

untitled

정보기술응용학회 발표

No Slide Title

I 1 1) TESCO, 1993, ( 96, 98, 99) - : : 354 (19993 ~ , 1 =1737 ) - : 845 ( : 659 ) - : ) CM 9 (CM), CM , 2 CM, -

원고스타일 정의

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

PowerPoint 프레젠테이션

thesis

PowerPoint 프레젠테이션

2 KHU 글로벌 기업법무 리뷰 제2권 제1호 또 내용적으로 중대한 위기를 맞이하게 되었고, 개인은 흡사 어항 속의 금붕어 와 같은 신세로 전락할 운명에 처해있다. 현대정보화 사회에서 개인의 사적 영역이 얼마나 침해되고 있는지 는 양 비디오 사건 과 같은 연예인들의 사

step 1-1

6주차.key

Coriolis.hwp

DBPIA-NURIMEDIA

논리적 구조 설계: 패키지도

DBPIA-NURIMEDIA

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: A study on Characte

슬라이드 제목 없음

Security Overview

Microsoft PowerPoint - 3.공영DBM_최동욱_본부장-중소기업의_실용주의_CRM

PowerPoint 프레젠테이션

Buy one get one with discount promotional strategy

PowerPoint 프레젠테이션

solution map_....

DIY 챗봇 - LangCon

매력적인 맥/iOS 개발 환경 그림 A-1 변경 사항 확인창 Validate Setting... 항목을 고르면 된다. 프로젝트 편집기를 선택했을 때 화면 아 래쪽에 있는 동일한 Validate Settings... 버튼을 클릭해도 된다. 이슈 내비게이터 목록에서 변경할

제 출 문 국방부 장관 귀하 본 보고서를 국방부 군인연금과에서 당연구원에 의뢰한 군인연금기금 체 계적 관리방안 연구용역의 최종보고서로 제출합니다 (주)한국채권연구원 대표이사 오 규 철

KYO_SCCD.PDF

<31B1E8C0B1C8F128C6ED2E687770>

Transcription:

UML RUP RUP consulting@kicco.com

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

Concept of Object Object-Oriented View What is a Object? Object Fundamental Benefit of Object-Oriented

Traditional View of Software Data a b c Function f1() f2() f3() Data(Structure) + Procedure(Algorithm) = Software

Object-Oriented View of Software Object Object Object a f1() b c f2() d e f3() Data(Structure) + Operation(Algorithm) = Object Object + Object = Software

What is a Object? ( ( ) ),

What is a Object? (2) State Behavior Identity

What is State? State. Behavior.

What is Behavior? Behavior State Interaction Message..

What is Identity? Identity.. identity.

What is Class? A class is Object is the instance of class. 1 2 3 4

Abstraction Class Object Object (ex) :,,, Real World Abstraction Object Abstraction Class

Class Object Object Class instance & Class Object Data structure behavior Object Class

Class Class..

Object Fundamental Encapsulation Information Hiding Inheritance Polymorphism Message

What is Encapsulation? Data Operation Class. Transaction actions commit() rollback()

What is Information Hiding?

What is Inheritance? )

What is Inheritance? (2)

What is Inheritance? (3)

What is Polymorphism? One interface, multiple implementation. It provides another dimension of separation of interface from implementation, to decouple what from how. Dynamic binding, late binding, run-time binding

What is Polymorphism? Shape Draw() Class Shape { Void draw() {} } Square Draw() Class Square extends Shape { Void draw() { // print( Square ); } } Triangle Draw() Class Triangle extends Shape { Void draw() { // print( Triangle ); } } Shape[] s = new Shape[2]; s[0] = new Square(); s[1] = new Triangle(); for (int I = 0; I < s.length; I++) s[i].draw(); // if I = 0, print( Square ); if I = 1, print( Triangle );

What is Message?

Benefit of Object-Oriented

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

Introduction of UML UML UML UML UML Common mechanism Building Blocks of UML UML Diagrams

UML (1) UML(Unified Modeling Language),,,

UML (2) Visualizing Constructing round-trip UML Specifying / Documenting,,

UML (1) James Rumbaugh : OMT Grady Booch : Booch Ivar Jacobson : OOSE Method War UML

UML (2) UML 1.3

UML Notation

UML Common mechanism (1) Specifications Textual statement of the syntax and semantics of each building block Adornments + : public - : private # : protected

UML Common mechanism (2) Extensibility Mechanism Stereotypes Tagged Values Constraints

UML Common mechanism (3) Extensibility Mechanism Example Stereotype <<exception>> Overflow EventQueue {version=3.2 Author = egb } add() remove() flush() Tagged Value {ordered } Constraint

Building Blocks of UML UML Building blocks Things Relationships Diagrams Structural things Behavioral things Grouping things Annotational things Dependency Association Static Structure Diagrams Dynamic Behavior Diagrams Class Interface Collaboration Use case Interaction State machine Packages Note Generalization Realization Class diagram Object diagram Component diagram Use case diagram Sequence diagram Collaboration diagram Active Classes Component Node Deployment diagram Statechart diagram Activity diagram

Diagrams Use Case Diagram Sequence Diagram Collaboration Diagram Class Diagram Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram

Use Case Diagram (Behavior)

Use Case Diagram Actor Use Case Association Extend Include Generalization

Use Case Diagram - Actor, Use Case User

Use Case Diagram Use Case Use Case, Actor Use Case Use Case Actor

Use Case Diagram Association Actor Use case Actor Use case Communication Association..

Use Case Diagram extend Use Case (Extension Point) Use Case Extension Point Use Case Extension points additional requests : after creation of the order <<extend>> The salesperson asks for the catalog Place Order Request Catalog

Use Case Diagram include Use case A Use case B include A B Supply Customer Data Order Product Arrange Payment <<include>> <<include>> <<include>> Place Order

Use Case Diagram generalization Child Elements Parent Element

Sequence Diagram (Use Case) Message Object Object Lifeline Focus of control Message

Sequence Diagram - Object Class Instance Object Name Class Name Object Name : Class Name Package :: Object1 : class1

Sequence Diagram Object Lifeline Object Create Destroy Object1 : class1

Sequence Diagram Focus of control Object Object Create Object1 : class1

Sequence Diagram - Message System Objects Message Object Message Object Object1 : class1 Object2 : class2 Do it

Sequence Diagram -

Collaboration Diagram Message Sequence Diagram Collaboration Diagram Path, Sequence Number Object Link Message

Collaboration Diagram Object Class Instance Name ObjectName / ClassfierRoleName : ClassfierName Attribute Value List Attribute Name : type = value Class Name Package :: Tutor / Teacher : Person queue : List of Call source : Object waitalarm : Alarm Capacity : Integer

Collaboration Diagram Link Object Object : Window color : Color location : Area :Observer:SlidingBarlcon color : Color range : Interval

Collaboration Diagram Message System Objects Message Message Object Tutor / Teacher : Person / Student : Person 1:namesOfTeachers()

Collaboration Diagram -

Class Diagram

Class Diagram - Class Attribute, Operation, Relationship, Attribute Operation

Class Diagram - Association has-a Class Association ( ) (Role name) (Multiplicity)

Class Diagram - Aggregation a part-of Destroy Destroy Whole Part

Class Diagram - Composition a part-of Whole Part

Class Diagram - Generalization is-a kind-of

Class Diagram - Realization Interface Implementation Class Realization <<interface>> DataStructure StackA

Class Diagram - Dependency Client/Server

Class Diagram

Statechart Diagram (1) Event : Action :

Statechart Diagram (2)

Statechart Diagram (3) event/action

Statechart Diagram (4) Conditions/Arguments/Do

Statechart Diagram (5) Chess Game

Activity Diagram Workflow Flow chart Activity Activity Decision Swimlane Synchronization Bar

Activity Diagram - Activity Workflow ( ) Drive to work

Activity Diagram - Decision boolean transitions Calculate Total cost [cost < $50 ] Charge customer s account [cost > $50 ] = Get authorization

Activity Diagram - Swimlane Activity Diagram Swimlane Activity

Activity Diagram - Synchronization Bar Activity Work Flow Put Filter in Machine Add Water To Reservoir Turn on Machine

Component Diagram Execute File, Library, Database Table, File, Document Component Interface Dependency

Component Diagram - Component Component

Component Diagram - Interface operation

Component Diagram - Dependency Software Component Component Component Component Dependency

Deployment Diagrams Node computer Memory Connection Components Dependencies

Deployment Diagrams

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

6 Best Practices Develop Iteratively Manage Requirements Use Component Architecture Model Visually Continuously Verify Quality Manage Change

Software Risk

Iterative software development

Manage requirements traceability. Positioning Needs Use case Test Design, User Documentation traceability

Use component-based architecture Component :. Architecture.. Componet based Architecture with layer

Visually Model software,

Continuously Verify Software Quality Software problems are 100 to 1000 times more costly to find and repair after deployment.

Manage Change

History Process Plug-in e-business Solutions SPC/PMI Project Management Performance testing Business Engineering Configuration & Change Mgmt Requirements College Rational Unified Process 2002 2002 Rational Unified Process 2000 1999 Rational Unified Process 5.5 1998 Rational Unified Process 5.0 1997 Rational Unified Process 4.1 1996 Rational Unified Process 4.0 Objectory UI design Data Engineering UML 1.1 SQA Process OMT Booch 1995 Rational Approach UML 0.8 Objectory Process 3.8

Process Architecture

Features in RUP Iterative and incremental Architecture Centric Use-Case Driven

Iterative and Incremental Inception Elaboration Construction Transition Phases U C 1 U C 2 U C 3 orkflows

Architecture Centric Software 4 + 1 View,.,,,, Software Architecture Multiple Views

4+1 View Logical View End User Implementation View Programmers Use Case View Process View System Integrators Deployment View System Engineering,,

Use Case Driven Process

Models in RUP Roles + Activities + Artifacts Workflow Process component

Disciplines in RUP Core Workflows Business modeling, Requirements, Analysis and Design, Implementation, Test, Deployment Support Workflows Project Management, Configuration and change management, Environment

Iterative lifecycle Water fall R D C T Iterative lifecycle R D C T R D C T R D C T R D C T R: Requirements Analysis D: Design C: Coding, Unit Testing T: Integration, Test Time

Benefit of Iterative Lifecycle Risk..

Phases & Milestones Inception Elaboration Construction Transition Time Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Relea Milestone

Inception 10%

Lifecycle Objective Milestone, Stakeholder. Requirements.,,..

Elaboration 30%

Lifecycle Architecture Milestone Vision? Architecture? Risk? Construction phase?

Construction Use Case - - 50% /

Initial Operational Capability Milestone Product release? stakeholder Transition?

Transition, (.) 10%

Product Release Milestone?.

Core Workflow - Business Modeling

Core Workflow - Requirements

Core Workflow - Analysis & Design,

Core Workflow - Implementation (layer) Component Component

Core Workflow - Test Component

Core Workflow - Deployment,

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

Business Modeling? Business Modeling. System Modeling.

..,,..

Workflow

Business Modeling Business Use Case Model - Business / - Business Actor - Business Use Case Business Object Model - Business Role Things - Business Worker - Business Entity - (Organization Unit)

Business Actor (Role) (External entities)

Business Use Case Business Actor Workflow

Business Worker Business Role Role Worker Realization Business Entity <<business worker>>

Business Entity Business Worker Things (ex),

Business Use Case Model

Business Object Model Business Use Case Realization.

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

What is a Requirement? : A condition or capability to which a system must perform Quality attributes of a software system Functionality Usability Reliability Performance Supportability

What is Requirements Management? Needs Problem Problem Space Features Use Cases and Software Requirements Traceability Solution Space The Product To Be Built Test Procedures Design User Docs

Analyze the problem

Develop Vision

Develop Vision Detail Steps

Fish born Diagram Trading price too high/not competitive Poor customer access Losing customers to competition We Need Online Stock Trading Customers want More services Brokers too costly Insufficient trading process

Exercise : Develop Vision....(Fish Born Diagram )

Find Actor and Use Cases

Find Actors & Use Cases Detail Steps. System

Actors, Actor

Actor,,,

Capture a Common Vocabulary

Develop Requirements Managements Plan

Requirements Types Requirement Type Document Type Document Name Actor TERM REP STRQ FEAT SUPL UC None *.GLS *.RMP *.STR *.VIS *.SUPL *.UCS Actors(in database only) Glossary Reqts. Mgmt. Plan Stakeholder Request Vision Supplementary Specification Use Case Specification

Develop Requirement Management Plan Detail Steps Traceability Requirements Attributes Plan.

: RequisitePro Requirement Type Attribute Word Traceability matrix

Understand Stakeholder Needs

Elicit Stakeholders Request

Techniques for Eliciting Stakeholder Needs Interviews Role playing Requirements workshop Brainstorming Storyboards Prototypes Business Models

Define the System

Define the System

Develop Vision Detail Step System features features

Find Actors and Use Cases

Find Actors and Use Cases Detail Steps Outline

Use Case Actor Modeling

Use Case Actor,,, Actor Use Case,,, Actor Actor Use Case Use Case

Use Case Diagram <<include>> <<include>> <<include>> <<extend>>

Use Case Model Use Case Diagram + Use Case Report Actors Use Cases Use Case Reports

Flows of Events - (1). Actor Use Case. UI. Use Case..

Flows of Events (2) Basic Flow. Alternative Flow (Error) Use Case size

Use Case Outline Use case name Brief description Basic Flow First step Second step Third step Alternative flow1 Alternative flow2 Alternative flow3

Use Case Outline - Example Basic flow Customer logs on Customer selects Get Quote function Customer selects stock trading symbol Get desired quote from Quote System Display quote Customer gets other quotes Customer logs off Alternative Flows A1.Unidentified Trading Customer A2. Quote System Unavailable A3. Quit

Manage Scope

Prioritize Use Cases

Prioritize Use Cases Detail Steps Prioritieze Use Cases Document Use Case View in SAD

Manage Dependencies

Manage Dependencies Detail Steps Assign Attributes Establish and Verify Traceability

Refine the system definition

Detail a Use Case & Detail the Software Requirements

Detail a Use Case Detail Steps Detail the Flow of Events of the Use Case Structure the Flow of Events of the Use Case Illustrate Relationships with Actors and Other Use Cases Describe the Special Requirements of the Use Case Describe Communication Protocals Describe Preconditions of the Use Case Describe Postconditions of the Use Case Describe Extension Points

Detail Step Detail the Software Requirements Detail the Software Requirements Generate Supporting Reports

SRS SRS Actors Use Cases Use Case Reports Use-Case Model Supplementary Specification

Detailing Use Case <Use Case Name> 1. Brief Description 2. Flow of Events 1. Basic Flow of Events 2. Alternative Flows of Events 3. Special Requiremnts 4. Pre-Conditioin 5. Post-Condition 6. Extension Points 7. Relationship 8. Use-Case Diagrams 9. Other Diagrams/Enclosures

Detail Use Case - Example Basic Flow Customer Logs on The use case starts when the Trading Customer logs on. The system validates the customer id and password Customer Selects Get Quote Function The Trading Customer chooses to Get Quote. The system displays the list of securities on which it has quotes Customer Gets Quote The Trading Customer selects from the list of securities or enters the trading symbol for a security. The system sends the trading symbol to the Quote System, and receives the Quote System Response. Customer Logs off The Trading Customer logs off the system. The use cases ends.

Detail Use Case - Example Alternative Flows A1 Unidentified Trading Customer In Step1, Customer Logs On, in the Basic flow, if the system determines that the customer id and/or password are not valid A1 Quote System Unavailable In Step3, Customer Gets Quote, in the Basic flow, if the system is unable to communicate with the Quote System, the system A3 Quit The System allows the Trading Customer to quit at any time during the use case. The use case ends Quote System Cannot Locate Information In Step3, Customer Gets Quote, in the Basic Flow, if the Quote System responds that it does not have the requested information

Supplementary Specification Non-functional Requirements Usability Reliability Performance Supportability

Concept of Object Introduction of UML Introduction of RUP Business Modeling Requirements Analysis & Design

. Architecture..

Analysis vs Design Analysis Problem Design Solution Operation Attribute Object Lifecycle

Architecture System Structure. Architecture,,,.

Define Candidate Architecture

Architectural Analysis

Architectural Analysis Detail Step Define the High-Level Organization of Subsystems Identify Analysis Mechanisms Identify Key Abstraction Create Use-Case Realization

Typical Layering Approach

Identify Analysis Mechanisms Persistency Communication(IPC and RPC) Message routing Distribution Transaction management Process control and synchronization Security Error detection/handling/reporting Redundancy Legacy Interface

Identify Key Abstraction Key Abstraction System handling. Key Abstraction Source Domain knowledge Requirements Glossary Domain Model

Describing Analysis Mechanisms

Use-Case Analysis =

Use-Case Analysis Detail Steps Supplement the Use-Case Description For each use-case realization Find Classes from Use-Case Behavior Distribute Use-Case Behavior to Classes For each resulting analysis classes Describe Attributes and Associations Describe Responsibilities Qualify Analysis Mechanisms Unify Analysis Classes

Analysis Class Responsibility Attribute Relation 3 Stereo type - Boundary Class, Control Class, Entity Class

System 3 Interface Part Control Part Control Part Store Part

Stereotype and Class Interface Part <<boundary>> Control Part Control Part <<Control>> Store Part <<Entity>>

Boundary Class <<Boundary>>

Control Class Use Case Event Use Case <<Control>>

Entity Class <<Entity>>

Use Case Report and Class <<boundary>> <<Control>> <<boundary>> <<Entity>> <<Entity>>

Use Case Realization Use Case Use Case object Use Case flow interaction

Use Case Realization Diagram Realization Traceability Use-Case Model Analysis & Design Model

Sequence Diagram - (1) Sequence Sequence Logical View Use Case

Sequence Diagram - (2) Sequence Diagram Object Class Object Name Object Name and Class Name : Object Name :

Sequence Diagram - (3) Object:Class Message Time Lifeline Focus of control

Sequence Diagram - (4) - Diagram Note, Script - Diagram

Collaboration Diagram Object Link

Interaction Diagram (1) Interaction Diagram Sequence Diagram Collaboration Diagram

Interaction Diagram (2) Sequence Diagram - - Collaboration Diagram - -

Class Diagram Class Class Method, Attribute Class Name2 -Attributes Class Name1 -Attributes +Methods -Methods Class Name3 -Attributes #Methods + : public - : private # : protected

Relationships (Association) (Aggregation) Composition (Dependency) (Inheritance) Reflexive

(Association) Class Multiplicity 1 0..n 0 1..n 0..1 0 5..8 4..7,9

(Aggregation) ( has-a ) Member Class

Multilevel aggregation

Association Class

- (Aggregation) Aggregation Association

(Dependency)

(Interaction Diagram). Interation Diagram Class Diagram

Reflexive

Inheritance (1) ( is-a-kind-of )

Inheritance (2) Generalization (Encapsulation) SuperClass Specialization Superclass Subclass

Inheritance (3)

Homogenize Class Class Class

Homogenize Use Case Class,,.

Class. Logic Control Class Control Class.

Class Class. Attribute.

Class Class Class Use case Control Class

Refine the Architecture

Identify Design Elements

Identify Design Elements Detail Steps Identify classes and subsystems Identify subsystem interfaces

Incorporate Existing Design Elements

Incorporate Existing Design Elements Detail Steps Identify Reuse Opportunities Update the organization of the design model

Identify Design Mechanisms

Identify Design Mechanisms Detail Steps Categorize Clients of Analysis Mechanisms Inventory the Implementation Mechanisms Map Design Mechanisms to Implementation Mechanisms Document Architectural Mechanisms

Describe Run-Time Architecture

Describe Run-Time Architecture Detail Steps Analyze concurrency requirements Identify processes and threads Identify process lifecycles Map processes onto the Implementation Distribute model elements among process

Describe Distribution

Describe Distributions Detail Steps Define the Network Configuration Allocate Processes to Nodes

Design Components

Use-Case Design

Use Case Design Detail Steps Describe interaction between design objects Simplify sequence diagrams using subsystems Describe persistence related behavior Refine the flow of events description Unify classes and subsystems

Subsystem Design

Subsystem Design Detail Steps Distribute subsystem behavior to subsystem elements Document subsystem elements Describe subsystem dependencies

Class Design

Class Design - Detail Steps Create Initial Design Classes Define operations Define Methods Define States Define Attributes Define Dependencies Define Associations Define Generalizations Resolve Use-Case Collisions Handle Non-Functional Requirements in General