๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€/์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™

[์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™] 6์žฅ. ์š”๊ตฌ์‚ฌํ•ญ ๊ฐœ๋…

by xxilliant 2022. 10. 20.
728x90
๋ฐ˜์‘ํ˜•

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์ด๋‹ค.
                                          •  

 

728x90
๋ฐ˜์‘ํ˜•