λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“š 전곡 곡뢀/μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™

[μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™] 6μž₯. μš”κ΅¬μ‚¬ν•­ κ°œλ…

6μž₯. μš”κ΅¬μ‚¬ν•­ κ°œλ…


what-analysis(problem)

how-design(solution)

 

[ μš”κ΅¬κ³΅ν•™ : Requirements Engineering (RE) ]

 

RE Tasks

  • Understanding what the customer wants
  • Analyzing needs
  • Assessing feasibility (타당성 평가)
  • Negotiation a reasonable approach (합리적 접근방식 ν˜‘μƒ)
  • Specifying the problem unambiguously (문제λ₯Ό λͺ…ν™•ν•˜κ²Œ 지정)
  • Validating the specification (사양 μœ νš¨μ„± 검사)
  • Managing the requirements (μš”κ΅¬μ‚¬ν•­ 검증관리)

RE Process (7 Tasks) ☠️

  1. Inception (착수)
  2. Elicitation (μΆ”μΆœ)
  3. Elaboration (상세)
  4. Negotiation (ν˜‘μƒ)
  5. Specification (λͺ…μ„Έ)
  6. Validation (검증)
  7. Management (관리)

1. Inception - 착수

A set of context free question

→ Better understanding of the problem

→ Effectiveness of communication activity

2. Elicitation - μΆ”μΆœ

λͺ©ν‘œ, μš”κ΅¬μ‚¬ν•­μ— λΆ€ν•©ν•˜λŠ”μ§€, μ‚¬μš©λ²• 등을 λ¬Όμ–΄λ΄„.

Difficulties of Elicitation

Problems of Scope : 경계가 뢈λͺ…ν™•ν•  λ•Œ

Problems of Understanding : 뭐가 ν•„μš”ν•œμ§€ μ΄λ†ˆλ“€μ΄ ν™•μ‹€ν•˜κ²Œ λͺ¨λ₯Ό λ•Œ

Problems of Volatility (변동성/νœ˜λ°œμ„±) : μš”κ΅¬ λ³€κ²½

3. Elaboration - 상세(μ •κ·œν™”)

μ •κ·œν™”ν•˜λŠ” λ™μ•ˆ 정보(데이터)κ°€ ν™•μž₯ 및 μ •μ œλ¨

analysis modeling action - Data(Information), Function, Behavior

 

πŸ’‘ Requirement analysis에 λŒ€ν•œ μ„€λͺ…

  1. information, function, behavior
  2. basis for SW design
  3. means to assess quality

(not : focus on why, not how → ν‹€λ¦Ό. how에 집쀑해야함)

4. Negotiation - ν˜‘μƒ

reconcile the conflicts

각 μ£Όμž₯ 및 κ°ˆλ“±μ„ μ‘°μ •ν•˜κ³ , 각 μš”κ΅¬μ‚¬ν•­μ˜ 영ν–₯을 평가

이해관계 식별 및 win-win condition μ°ΎκΈ°

5. Specification - λͺ…μ„Έ(ꡬ체화)

Standard template

Consistent, understandable (λ…Όλ¦¬μ μœΌλ‘œ μΌκ΄€μ„±μžˆκ³ , 이해가λŠ₯ν•˜λ„λ‘)

6. Validation - 검증

Quality, standards established

애맀함 없이 μ™„λ²½ν•˜κ²Œ

μš”κ΅¬μ‚¬ν•­μ΄ μ œν•œμ μ΄κ³  λͺ…ν™•ν•œμ§€?

μš”κ΅¬μ‚¬ν•­ λͺ¨λΈμ΄ μ‹œμŠ€ν…œμ˜ μ •λ³΄, κΈ°λŠ₯, 행동을 적절히 λ°˜μ˜ν•˜κ³  μžˆλŠ”κ°€?

7. Management - 관리

ν”„λ‘œμ νŠΈ 진행 μ‹œ μ–Έμ œλ“ μ§€ μš”κ΅¬μ‚¬ν•­ 및 변경사항을 식별할 수 있게 관리

 

[ μ‹œμŠ€ν…œ λΆ„μ„κ°€μ˜ 자격 ]

  • 좔상적, 논리적 κ°œλ…ν™” λŠ₯λ ₯
  • μ• λ§€ν•˜κ±°λ‚˜ λͺ¨μˆœλœ κ²ƒλ“€λ‘œλΆ€ν„° μ •ν™•ν•œ 사싀을 μ΄λŒμ–΄ λ‚Ό λŠ₯λ ₯
  • 고객의 ν™˜κ²½μ„ 이해할 λŠ₯λ ₯
  • HW, SW μš”μ†Œλ₯Ό 고객의 ν™˜κ²½μ— μ μš©μ‹œν‚¬ λŠ₯λ ₯
  • λŒ€ν™” λŠ₯λ ₯, To see the forest for the tree

-

 

< Requirements Analysis > : μš”κ΅¬μ‚¬ν•­ 뢄석

  1. Specification of operation characteristics, interface, constraints
  2. Allows the SW engineer to elaborate on basic requirements established during earlier requirement engineering tasks and build models that depict user scenarios, function activities, problem classes and their relationships, system and class behavior, and the flow of data as it is transformed.
  3. Provides the SW designer with information, function, and behavior for architectural, interface, and component-level design
  4. Provides the developer and customer with the means to assess quality
  5. Focus is on "What" not "how"
  1. μž‘λ™ νŠΉμ„±, μΈν„°νŽ˜μ΄μŠ€, μ œμ•½ 쑰건의 ꡬ체화.
  2. SW μ—”μ§€λ‹ˆμ–΄λŠ” 이전 μš”κ΅¬μ‚¬ν•­ μ—”μ§€λ‹ˆμ–΄λ§ μž‘μ—… 쀑에 수립된 κΈ°λ³Έ μš”κ΅¬μ‚¬ν•­μ„ μƒμ„Ένžˆ μ„€λͺ…ν•˜κ³  μ‚¬μš©μž μ‹œλ‚˜λ¦¬μ˜€, κΈ°λŠ₯ ν™œλ™, 문제 클래슀 및 문제 클래슀의 관계, μ‹œμŠ€ν…œ 및 클래슀 λ™μž‘, λ³€ν™˜λ˜λŠ” 데이터 흐름을 μ„€λͺ…ν•˜λŠ” λͺ¨λΈμ„ ꡬ좕.
  3. SW μ„€κ³„μž(λ””μžμ΄λ„ˆ)μ—κ²Œ μ•„ν‚€ν…μ²˜, μΈν„°νŽ˜μ΄μŠ€ 및 κ΅¬μ„±μš”μ†Œ μˆ˜μ€€ 섀계λ₯Ό μœ„ν•œ 정보, κΈ°λŠ₯ 및 λ™μž‘μ„ 제곡.
  4. κ°œλ°œμžμ™€ κ³ κ°μ—κ²Œ ν’ˆμ§ˆμ„ 평가할 수 μžˆλŠ” μˆ˜λ‹¨μ„ 제곡.
  5. "μ–΄λ–»κ²Œ"κ°€ μ•„λ‹ˆλΌ **"무엇"**에 μ΄ˆμ μ„ 맞좀.

 

Overall objectives and philosophy : μ „λ°˜μ μΈ λͺ©ν‘œμ™€ μ² ν•™

  1. To describe what the customer requires : 고객이 μš”κ΅¬ν•˜λŠ” 것을 μ„€λͺ…
  2. To establish a basic for the creation of a software design : SW λ””μžμΈ μž‘μ„±μ„ μœ„ν•œ 기초 확립
  3. To define a set of requirements that can be validated once the software is built. : SWꡬ좕 ν›„ 검증할 수 μžˆλŠ” μš”κ΅¬μ‚¬ν•­ μ •μ˜

< Analysis Modeling Rules > : 뢄석 λͺ¨λΈλ§ κ·œμΉ™

  1. The model should focus on requirements that are visible within the problem or business domain. The level of abstraction should be relatively high.
  2. Each element of the analysis model should add to an overall understanding of SW requirements and provied insight into the information, function and behavior of the system.
  3. Delay consideration of infrastructure and other non-functional models until design.
  4. Minimize coupling throughout the system.
  5. Be sure that the analysis model provides value to all stakeholders.
  6. Keep the model as simple as it can be.
  1. λͺ¨λΈμ€ 문제 λ˜λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­ λ‚΄μ—μ„œ λ³Ό 수 μžˆλŠ” μš”κ΅¬μ‚¬ν•­μ— μ΄ˆμ μ„ λ§žμΆ°μ•Ό ν•©λ‹ˆλ‹€. μΆ”μƒν™”μ˜ μˆ˜μ€€μ€ μƒλŒ€μ μœΌλ‘œ λ†’μ•„μ•Ό ν•œλ‹€.
  2. 뢄석 λͺ¨λΈμ˜ 각 μš”μ†ŒλŠ” SW μš”κ΅¬ 사항에 λŒ€ν•œ μ „λ°˜μ μΈ 이해와 μ‹œμŠ€ν…œμ˜ 정보, κΈ°λŠ₯ 및 λ™μž‘μ— λŒ€ν•œ 톡찰λ ₯을 μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  3. 인프라 및 기타 λΉ„κΈ°λŠ₯ λͺ¨λΈμ— λŒ€ν•œ κ³ λ €λ₯Ό 섀계 μ‹œκΉŒμ§€ μ—°κΈ°ν•©λ‹ˆλ‹€.
  4. μ‹œμŠ€ν…œ μ „μ²΄μ—μ„œ μ»€ν”Œλ§μ„ μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.
  5. 뢄석 λͺ¨λΈμ΄ λͺ¨λ“  μ΄ν•΄κ΄€κ³„μžμ—κ²Œ κ°€μΉ˜λ₯Ό μ œκ³΅ν•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
  6. λͺ¨λΈμ„ κ°€λŠ₯ν•œ ν•œ λ‹¨μˆœν•˜κ²Œ μœ μ§€ν•˜μ„Έμš”.

< Domain Analysis > : 도메인 뢄석

“SW 도메인 뢄석”

→ νŠΉμ • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ„λ©”μΈμ˜ 곡톡 μš”κ΅¬μ‚¬ν•­μ„ λΆ„μ„ν•˜λŠ” 것, 일반적으둜 ν•΄λ‹Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 도메인 λ‚΄μ˜ μ—¬λŸ¬ ν”„λ‘œμ νŠΈμ—μ„œ μž¬μ‚¬μš©ν•˜κΈ° μœ„ν•œ 것

“객체 지ν–₯ 도메인 뢄석”

→ κ³΅ν†΅ 객체, 클래슀, ν•˜μœ„ μ–΄μ…ˆλΈ”λ¦¬ 및 ν”„λ ˆμž„μ›Œν¬ μΈ‘λ©΄μ—μ„œ νŠΉμ • μ‘μš© ν”„λ‘œκ·Έλž¨ 도메인 λ‚΄μ—μ„œ 곡톡적이고 μž¬μ‚¬μš© κ°€λŠ₯ν•œ κΈ°λŠ₯을 λΆ„μ„ν•˜λŠ” 것

< Requirement Modeling approaches > : μš”κ΅¬μ‚¬ν•­ λͺ¨λΈλ§ 뢄석법

  1. Structured analysis : ꡬ쑰화 뢄석
  • Data and the processes that transform the data as separate entities. : 데이터 & 데이터λ₯Ό κ°œλ³„ μ—”ν„°ν‹°λ‘œ λ³€ν™˜ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€
  • Data object are modeled in a way that defines their attributes and relationships. : 데이터 κ°œμ²΄λŠ” μ†μ„±κ³Ό 관계λ₯Ό μ •μ˜ν•˜λŠ” λ°©μ‹μœΌλ‘œ λͺ¨λΈλ§
  • Processes that manipulate data objects are modeled in a manner that shows how they transform data as data objects flow through the system.
  • : ν”„λ‘œμ„ΈμŠ€λŠ” μ‹œμŠ€ν…œμ„ 톡과할 λ•Œ κ°œμ²΄κ°€ λ°μ΄ν„°λ‘œ μ–΄λ–»κ²Œ λ³€ν™˜ν•˜λŠ”μ§€ λ³΄μ—¬μ£ΌλŠ” λ°©μ‹μœΌλ‘œ λͺ¨λΈλ§
  •  
  • 2. Object-oriented analysis : 객체지ν–₯ 뢄석
  • Focus on the definition of classes and the manner in which they collaborate with one another to effect customer requirement.
  • : 클래슀의 μ •μ˜μ™€ ν΄λž˜μŠ€κ°€ 고객 μš”κ΅¬μ‚¬ν•­μ— 영ν–₯을 미치기 μœ„ν•΄ ν˜‘λ ₯ν•˜λŠ” 방식에 초점.
  • UML and the Unified Process(UP)

OOA(Object-oriented analysis) is to define all classes that are relevant to the problem to be solved : λ¬Έμ œμ™€ κ΄€λ ¨λœ λͺ¨λ“  클래슀λ₯Ό μ •μ˜ν•¨

  1. Basic user requirements must be communicated between the customer and the software engineer : 고객과 μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄ 간에 기본적인 μ‚¬μš©μž μš”κ΅¬ 사항을 전달
  2. Classes must be identified : ν΄λž˜μŠ€λŠ” μ‹λ³„λ˜μ–΄μ•Όν•¨
  3. A class hierarchy is defined : 클래슀 계측 μ •μ˜
  4. Object-to-object relationships : 객체 μ‚¬μ΄μ˜ 관계
  5. Object behavior must be modeled : 객체 λ™μž‘μ€ λͺ¨λΈλ§λ˜μ–΄μ•Όν•¨
  6. Tasks 1 through 5 are reapplied iteratively until the model is complete. : λͺ¨λΈμ΄ μ™„λ£Œλ λ•ŒκΉŒμ§€ 반볡

1. Scenario-based Modeling

(1) Use-cases λŠ” μ‹œμŠ€ν…œ 외뢀에 μ‘΄μž¬ν•˜λŠ” 것과 μ‹œμŠ€ν…œμ΄ μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 것을 μ •μ˜ν•˜λŠ” 데 도움이 λœλ‹€.

  • μ΄ν•΄κ΄€κ³„μžμ˜ μš”μ²­μ— μ‘λ‹΅ν•˜λŠ” μ‹œμŠ€ν…œμ˜ λ™μž‘ ν˜Ήμ€ μ΅œμ’…μ‚¬μš©μžκ°€ μ‹œμŠ€ν…œκ³Ό μƒν˜Έμž‘μš©ν•˜λŠ” 방식에 λŒ€ν•œ 사둀λ₯Ό λ³΄μ—¬μ€Œ

(2) UML : Activity Diagram μ€ νŠΉμ • μ‹œλ‚˜λ¦¬μ˜€ λ‚΄μ—μ„œ μƒν˜Έμž‘μš©μ˜ κ·Έλž˜ν”½ ν‘œν˜„μ„ μ œκ³΅ν•˜μ—¬ Use-caseλ₯Ό λ³΄μ™„ν•œλ‹€.

(3) UML : Swinlane Diagram μ€ Activity Diagram의 μœ μš©ν•œ λ³€ν˜•μ΄λ©° λͺ¨λΈλŸ¬κ°€ μ‚¬μš© 사둀에 μ˜ν•΄ μ„€λͺ…λœ ν™œλ™μ˜ 흐름을 ν‘œν˜„ν•˜λŠ” λ™μ‹œμ— ν™œλ™ μ‚¬κ°ν˜•μ— μ˜ν•΄ μ„€λͺ…λœ ν™œλ™μ— λŒ€ν•΄ μ–΄λ–€ 뢄석 ν΄λž˜μŠ€λ‚˜ ν–‰μœ„μžκ°€ μ±…μž„μ΄ μžˆλŠ”μ§€λ₯Ό ν‘œμ‹œν•  수 μžˆλ‹€.

2. Class-based Modeling

ν΄λž˜μŠ€κ°„μ˜ 관계 : aggregate(합계/λΆ€λͺ¨&μžμ‹), multiplicity(μ—°κ΄€), dependencies(쒅속/ν΄λΌμ΄μ–ΈνŠΈ&μ„œλ²„), package

Identifying analysis classes : 뢄석 클래슀 식별

Specifying attributes : 속성 지정

Defining operations : μž‘μ—… μ •μ˜

Modeling CRC (Class-Responsibility-Collaborator) : 클래슀 μ±…μž„ κ³΅λ™μž‘μ—…μž(CRC) λͺ¨λΈλ§

 

< Class >

object-oriented thinking begins with the definition of a class, often defined as:

  • template : 견본
  • generalized description : 일반적인 μ„€λͺ…
  • blueprint, describing a collection of similar items : 청사진(μœ μ‚¬ν•œ ν•­λͺ©λ“€μ˜ λͺ¨μž„)

a meta-class (superclass) establishes a hierarchy of classes : μŠˆνΌν΄λž˜μŠ€λŠ” 클래슀의 계측 ꡬ쑰 μ„€μ •

once a class of items is defined, a specific instance of the class can be identified : ν΄λž˜μŠ€κ°€ μ •μ˜λ˜λ©΄ 클래슀의 νŠΉμ • μΈμŠ€ν„΄μŠ€ 식별 κ°€λŠ₯

 

What is a Class? → occurrences, things, external entities, roles, organizational units, places, structures

(λ°œμƒ, 사물, μ™ΈλΆ€ μ—”ν„°ν‹°, μ—­ν• , 쑰직 λ‹¨μœ„, μž₯μ†Œ, ꡬ쑰)

 

< Encapsulation / Information Hiding >

κ°œμ²΄λŠ” 데이터와 데이터λ₯Ό μ‘°μž‘ν•˜λŠ” 데 ν•„μš”ν•œ 논리적 절차λ₯Ό λͺ¨λ‘ μΊ‘μŠν™”ν•©λ‹ˆλ‹€.

 

< Methods(Operations, Services) >

ν΄λž˜μŠ€μ— μΊ‘μŠν™”λ˜κ³  ν•˜λ‚˜ μ΄μƒμ˜ 데이터 μ†μ„±μ—μ„œ μž‘λ™ν•˜λ„λ‘ μ„€κ³„λœ μ‹€ν–‰ 절차.

λ©”μ†Œλ“œλŠ” λ©”μ‹œμ§€ 전달을 톡해 호좜됨.

  • Entity Class : model / business class, 문제의 λ¬Έμž₯μ—μ„œ 직접 μΆ”μΆœλ¨(ex: 평면도, μ„Όμ„œ)
  • Boundary Class : μ‚¬μš©μžκ°€ SWμ‚¬μš© μ‹œ 보고 μƒν˜Έμž‘μš©ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“œλŠ” 데에 μ‚¬μš©(ex: λŒ€ν™”ν˜• ν™”λ©΄/ 인쇄물)
  • Controller Class : μ²˜μŒλΆ€ν„° λκΉŒμ§€μ˜ μž‘μ—… λ‹¨μœ„ 관리.
    • μ—”ν‹°ν‹° 개체의 생성/μ—…λ°μ΄νŠΈ
    • κ°μ²΄λ‘œλΆ€ν„° 정보λ₯Ό 얻을 λ•Œ 경계 객체의 μΈμŠ€ν„΄μŠ€ν™”
    • κ°μ²΄κ°„μ˜ λ³΅μž‘ν•œ 톡신
    • 개체 κ°„/ μ‚¬μš©μžμ™€ ν”„λ‘œκ·Έλž¨ κ°„ ν†΅μ‹ λ˜λŠ” λ°μ΄ν„°μ˜ μœ νš¨μ„± 검사 등을 κ΄€λ¦¬ν•˜λ„λ‘ μ„€κ³„λœλ‹€.

Responsibilities

  • System IntelligenceλŠ” 문제의 μš”κ΅¬λ₯Ό κ°€μž₯ 잘 ν•΄κ²°ν•  수 μžˆλ„λ‘ 클래슀 전체에 λΆ„μ‚°λ˜μ–΄μ•Όν•¨
  • 각 μ±…μž„μ€ κ°€λŠ₯ν•œ 일반적으둜 λͺ…μ‹œλ˜μ–΄μ•Ό 함
  • 정보 및 정보와 κ΄€λ ¨λœ λ™μž‘μ€ λ™μΌν•œ 클래슀 내에 μžˆμ–΄μ•Ό 함
  • ν•œκ°€μ§€μ— λŒ€ν•œ μ •λ³΄λŠ” 단일 클래슀둜 μ§€μ—­ν™”λ˜μ–΄μ•Ό ν•˜λ©°, μ—¬λŸ¬ 클래슀둜 λΆ„μ‚°λ˜λ©΄ μ•ˆλ¨
  • κ΄€λ ¨ 계측 κ°„ μ±…μž„μ„ μ μ ˆν•  λ•Œμ— λΆ„λ‹΄ν•΄μ•Ό 함

< Collaborations >

ν΄λž˜μŠ€λŠ” λ‹€μŒ 두 방법 쀑 ν•˜λ‚˜λ‘œ κ·Έλ“€μ˜ μ±…μž„μ„ λ‹€ν•œλ‹€.

  1. ν΄λž˜μŠ€λŠ” 자체 μž‘μ—…μœΌλ‘œ 자체 속성을 μ‘°μž‘ν•¨
  2. ν΄λž˜μŠ€λŠ” λ‹€λ₯Έ ν΄λž˜μŠ€μ™€ ν˜‘λ ₯함.

Collaboration은 클래슀 κ°„μ˜ 관계λ₯Ό μ‹λ³„ν•œλ‹€.

κ³΅λ™μž‘μ—…μžλ₯Ό μ‹λ³„ν•˜λŠ”λ°μ— 도움이 λ˜λ„λ‘ 클래슀 κ°„μ˜ 관계λ₯Ό 쑰사.

  1. is-part-of relationship (aggregate) : 합계
  2. has-knowledge-of relationship (associate) : μ—°κ΄€
  3. depends-upon relationship (dependency) : 의쑴

 

3. Data Modeling

데이터 λͺ¨λΈλ§

  • Data Object
    • SWκ°€ 이해해야 ν•˜λŠ” 거의 λͺ¨λ“  λ³΅ν•©μ •λ³΄μ˜ ν‘œν˜„
    • λ‹€λ₯Έ 볡합 속성 정보 λ˜λŠ” 속성에 μ˜ν•΄ λ‹€μŒ μš”μ†Œλ₯Ό 가진 것듀을 μ˜λ―Έν•œλ‹€.
    • Entity, thing, Occurrence, Event, Role, Organizational unit, Place, Structure
    • 데이터 κ°œμ²΄λŠ” λ°μ΄ν„°λ§Œ μΊ‘μŠν™”ν•œλ‹€.

데이터 개체 및 속성

: 데이터 κ°œμ²΄μ—λŠ” 개체의 μΈ‘λ©΄(aspect), ν’ˆμ§ˆ, νŠΉμ„±, μ„€λͺ…μž 역할을 ν•˜λŠ” νŠΉμ • 집합이 ν¬ν•¨λœλ‹€.

이름 속성, μ‹λ³„μž, μ„€λͺ… 속성, μ°Έμ‘° 속성 λ“±

 

  • Data attributes
    • 데이터 개체의 속성 μ •μ˜
      1. 데이터 개체의 μΈμŠ€ν„΄μŠ€ 이름
      2. μΈμŠ€ν„΄μŠ€ μ„€λͺ…
      3. λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ μΈμŠ€ν„΄μŠ€ μ°Έμ‘°
    • μ‹λ³„μž : 데이터 개체의 μΈμŠ€ν„΄μŠ€λ₯Ό 찾고자 ν•  λ•Œ “key”κ°€ λœλ‹€.
  • Relationships
    • 데이터 κ°œμ²΄λŠ” μ„œλ‘œ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ μ—°κ²°λœλ‹€.
    • 개체/관계 쌍 : μ‚¬λžŒμ€ μ°¨λ₯Ό μ†Œμœ ν•œλ‹€, μ‚¬λžŒμ€ μš΄μ „λ³΄ν—˜μ— κ°€μž…λ˜μ–΄ μžˆλ‹€.
  • Cardinality & Modality
    • 농도 : 데이터 λͺ¨λΈμ€ 주어진 κ΄€κ³„μ—μ„œ 개체의 호좜 횟수λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆμ–΄μ•Ό ν•œλ‹€.
    • 양상 : 관계가 λ°œμƒν•  ν•„μš”κ°€ μ—†κ±°λ‚˜ 선택사항일 경우 관계가 0이닀. / 관계 λ°œμƒμ΄ ν•„μˆ˜μΈ 경우 관계가 1이닀.
                                          •