λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
λ°˜μ‘ν˜•

Basics/Concepts27

논리 데이터 λͺ¨λΈλ§μ΄λž€? μ—”ν„°ν‹°, 관계, 속성 λ“± 이번 ν¬μŠ€νŒ…μ€ μ €λ²ˆ 데이터 λͺ¨λΈλ§μ— 이어 논리 데이터 λͺ¨λΈλ§μ„ μžμ„Ένžˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 논리 데이터 λͺ¨λΈλ§ - λ°μ΄ν„°λ² μ΄μŠ€ 개발 κ³Όμ •μ˜ 첫 λ‹¨κ³„λ‘œ μ „λž΅μˆ˜λ¦½ 및 뢄석 λ‹¨κ³„μ—μ„œ μ‹€μ‹œν•œλ‹€. - κ°œλ… 데이터 λͺ¨λΈμ„ 상세화 ν•˜μ—¬ 논리적인 데이터 집합, 관리 ν•­λͺ©, 관계λ₯Ό μ •μ˜ν•œλ‹€. - 논리적 λͺ¨λΈμ€ H/Wλ‚˜ S/W에 독립적이닀. - μ΄ν•΄λ‹Ήμ‚¬μžλ“€κ³Ό μ˜μ‚¬μ†Œν†΅μ˜ 보쑰자료둜 E-R λͺ¨λΈμ„ ν™œμš©ν•œλ‹€. - 데이터 ꡬ쑰에 λŒ€ν•œ 논리적 μ •μ˜λ‹¨κ³„λ‘œμ„œ μ •ν™•ν•œ 업무 뢄석을 ν†΅ν•œ 자료의 흐름을 λΆ„μ„ν•˜μ—¬ ν˜„μž¬ μ‚¬μš© 쀑인 양식, λ¬Έμ„œ, μž₯ν‘œλ₯Ό μ€‘μ‹¬μœΌλ‘œ μžλ£Œν•­λͺ©μ„ μΆ”μΆœν•˜μ—¬ μΆ”μΆœλœ μ—”ν„°ν‹°(Entity)와 속성(Attribute)λ“€μ˜ 관계(Relation)λ₯Ό ꡬ쑰적으둜 μ •μ˜ν•˜λŠ” 단계이닀. μ—”ν„°ν‹° Entity - 관리할 λŒ€μƒμ΄ λ˜λŠ” 싀체이.. 2022. 2. 23.
데이터 λͺ¨λΈλ§μ΄λž€? κ°œλ…λͺ¨λΈλ§, 논리λͺ¨λΈλ§, 물리λͺ¨λΈλ§ 절차 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ‹œμŠ€ν…œ 개발 μ ˆμ°¨μ— λ”°λ₯Έ 데이터 λͺ¨λΈλ§κ³Ό κ·Έ 절차λ₯Ό μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 일반적으둜 μ‹œμŠ€ν…œ κ°œλ°œμ€ 데이터 관점과 ν”„λ‘œμ„ΈμŠ€ κ΄€μ μ˜ λ‘κ°€μ§€λ‘œ μ§„ν–‰λ˜λŠ”λ°, κ°œλ… λͺ¨λΈλ§μ„ 톡해 개발 λ²”μœ„λ₯Ό νŒŒμ•…ν•˜κ³ , 업무 μ€‘μ‹¬μ˜ 뢄석(논리 데이터 λͺ¨λΈλ§, 뢄석 λͺ¨λΈ 링)단계λ₯Ό 거쳐 κ°œλ°œν•˜κ³ μž ν•˜λŠ” ν™˜κ²½μ„ κ³ λ €ν•œ 섀계(물리 데이터 λͺ¨λΈλ§, 섀계 λͺ¨λΈλ§) λ‹¨κ³„λ‘œ κ΅¬μ²΄ν™”λ˜μ–΄ 개발(λ°μ΄ν„°λ² μ΄μŠ€ ꡬ좕, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발)λ‹¨κ³„λ‘œ μ§„ν–‰λ©λ‹ˆλ‹€. 첫째둜 λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ„ 뢄석/ ν™•μΈν•œ λ’€, κ·Έ μš”κ΅¬μ‚¬ν•­μ— 따라 κ°œλ…λͺ¨λΈλ§μ„ μ§„ν–‰ν•©λ‹ˆλ‹€. κ·Έ ν›„ 업무 μ€‘μ‹¬μ˜ 뢄석 단계인 논리 데이터 λͺ¨λΈλ§μ„ μˆ˜ν–‰ν•˜κ³ , 섀계 단계인 물리 데이터 λͺ¨λΈλ§μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ μ‹€μ œ 개발 λ‹¨κ³„λ‘œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜κ²Œ λ©λ‹ˆλ‹€. 이제, 이 데이터 .. 2022. 2. 22.
μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ ν’ˆμ§ˆ νŠΉμ„± 및 평가 ν•­λͺ© : μš”κ΅¬μ‚¬ν•­ μ •μ˜ 이전 ν¬μŠ€νŒ…μ—μ„œ μ†Œν”„νŠΈμ›¨μ–΄μ˜ μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€ 쀑 λ§ˆμ§€λ§‰ 단계인 확인 λ‹¨κ³„μ˜ μš”κ΅¬μ‚¬ν•­ 확인 기법듀을 μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­μ„ ν™•μΈν•˜κ³  평가할 λ•Œ 기쀀이 λ˜λŠ” ν’ˆμ§ˆ νŠΉμ„±κ³Ό 평가 ν•­λͺ©λ“€μ„ 이번 ν¬μŠ€νŒ…μ—μ„œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ ν’ˆμ§ˆ λͺ¨λΈ μ •λ³΄ν†΅μ‹ λ‹¨μ²΄ν‘œμ€€ TTAK.KO-11.0103 에 λ”°λ₯Έ μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ ν’ˆμ§ˆ λͺ¨λΈμž…λ‹ˆλ‹€. μ™„μ „μ„±, μ •ν™•μ„±, λͺ…ν™•μ„±, 일관성, νŠΉμ΄μ„±, 검증 κ°€λŠ₯μ„±, μˆ˜μ • μš©μ΄μ„±, 좔적성, 이해 κ°€λŠ₯μ„± 9개의 μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ ν’ˆμ§ˆ λͺ¨λΈλ‘œ κ΅¬μ„±λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ ν’ˆμ§ˆ νŠΉμ„± 1. μ™„μ „μ„± Completeness λˆ„λ½λœ μš”κ΅¬μ‚¬ν•­μ˜ 쑴재 μ—¬λΆ€ 2. μ •ν™•μ„± Correctness μš”κ΅¬μ‚¬ν•­μ„ λ…Όλ¦¬μ μœΌλ‘œ μ •ν™•ν•˜κ²Œ κΈ°μˆ ν•˜μ˜€λŠ”μ§€ μ—¬λΆ€ 3. λͺ…ν™•μ„± Unambigu.. 2022. 2. 22.
μš”κ΅¬μ‚¬ν•­ 확인 기법(κ²€ν† , ν”„λ‘œν† νƒ€μ΄ν•‘, μΈμˆ˜ν…ŒμŠ€νŠΈ λ“±) : μš”κ΅¬μ‚¬ν•­ μ •μ˜ 이번 ν¬μŠ€νŒ…μ€ μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€ 쀑 λ§ˆμ§€λ§‰ 단계인 μš”κ΅¬μ‚¬ν•­ 확인 λ‹¨κ³„μ—μ„œ μ“°μ΄λŠ” μš”κ΅¬μ‚¬ν•­ 확인 기법듀에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μ„€λͺ…은 이전 ν¬μŠ€νŒ…(https://iworldt.tistory.com/93)을 ν™•μΈν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. 1. μš”κ΅¬μ‚¬ν•­ κ²€ν† (Requirement Reviews) μš”κ΅¬μ‚¬ν•­ κ²€μ¦μ˜ κ°€μž₯ 일반적인 λ°©λ²•μœΌλ‘œ, μ—¬λŸ¬ κ²€ν† μžλ“€μ΄ μ—λŸ¬, 잘λͺ»λœ κ°€μ •, 뢈λͺ…ν™•μ„±, ν‘œμ€€κ³Όμ˜ 차이 등을 μ°Ύμ•„λ‚΄λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ©°, κ²€ν† μž 그룹을 μ–΄λ–»κ²Œ κ΅¬μ„±ν•˜λŠλƒκ°€ μ€‘μš”ν•˜λ‹€. κ²€ν† λŠ” μ‹œμŠ€ν…œ μ •μ˜μ„œ(System Definition Document), μ‹œμŠ€ν…œ μ‚¬μ–‘μ„œ(System Specification), μ†Œν”„νŠΈμ›¨μ–΄ μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ(SRS: Software Requirements Sp.. 2022. 2. 22.
μš”κ΅¬μ‚¬ν•­ 뢄석 기법 (λΆ„λ₯˜, κ°œλ…λͺ¨λΈλ§, ν• λ‹Ή λ“±) : μš”κ΅¬μ‚¬ν•­ μ •μ˜ 이번 ν¬μŠ€νŒ…μ€ μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€μ˜ λ‘λ²ˆμ§Έ 단계인 μš”κ΅¬μ‚¬ν•­ λΆ„μ„μ—μ„œ μ–΄λ–€ 기법을 ν™œμš©ν•  수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μ„€λͺ…은 이전 ν¬μŠ€νŒ… (https://iworldt.tistory.com/93)을 ν™•μΈν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€. 1. μš”κ΅¬μ‚¬ν•­ λΆ„λ₯˜(Requirement Classification) - μš”κ΅¬μ‚¬ν•­μ΄ κΈ°λŠ₯인지 λΉ„κΈ°λŠ₯인지 - μš”κ΅¬μ‚¬ν•­μ΄ ν•˜λ‚˜ μ΄μƒμ˜ κ³ μˆ˜μ€€ μš”κ΅¬μ‚¬ν•­μœΌλ‘œλΆ€ν„° μœ λ„λœ 것인지 λ˜λŠ” μ΄ν•΄κ΄€κ³„μž λ‚˜ λ‹€λ₯Έ μ›μ²œ(Source)μœΌλ‘œλΆ€ν„° 직접 λ°œμƒν•œ 것인지 - μš”κ΅¬μ‚¬ν•­μ΄ μ œν’ˆμ— κ΄€ν•œ 것인지 ν”„λ‘œμ„ΈμŠ€μ— κ΄€ν•œ 것인지 - μš°μ„ μˆœμœ„κ°€ 더 높은 것인지 μ—¬λΆ€ - μš”κ΅¬μ‚¬ν•­μ˜ λ²”μœ„(μš”κ΅¬μ‚¬ν•­μ΄ μ†Œν”„νŠΈμ›¨μ–΄μ— λ―ΈμΉ˜λŠ” 영ν–₯의 λ²”μœ„) - μš”κ΅¬μ‚¬ν•­μ΄ μ†Œν”„νŠΈμ›¨μ–΄ 생λͺ… μ£ΌκΈ° λ™μ•ˆμ— 변경이 λ°œμƒν•˜λŠ”μ§€.. 2022. 2. 22.
μš”κ΅¬κ³΅ν•™, μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€ : μš”κ΅¬μ‚¬ν•­ μ •μ˜ 이번 ν¬μŠ€νŒ…μ€ μš”κ΅¬κ³΅ν•™κ³Ό μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ³ , 이 μš”κ΅¬μ‚¬ν•­μ„ κ°œλ°œν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. μš”κ΅¬κ³΅ν•™μ΄λž€? μš”κ΅¬κ³΅ν•™(Requirements Engineering)μ΄λž€ μš”κ΅¬μ‚¬ν•­μ„ μ •μ˜ν•˜κ³ , λ¬Έμ„œν™”ν•˜κ³ , κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μ˜λ―Έν•œλ‹€. μ—¬κΈ°μ„œ μ„€λͺ…ν•˜λŠ” μš”κ΅¬μ‚¬ν•­μ„ μ •μ˜ν•˜κ³  λ¬Έμ„œν™”ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λŠ” 4λ‹¨κ³„λ‘œ 정리할 수 μžˆλ‹€. λ°”λ‘œ μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™ 지식체계(SWEBOK: SoftWare Engineering Body of Knowledge)μ—μ„œ μ •μ˜ν•œ λ„μΆœ, 뢄석, λͺ…μ„Έ, 확인 이닀. μš”κ΅¬μ‚¬ν•­ 개발 ν”„λ‘œμ„ΈμŠ€ μš”κ΅¬μ‚¬ν•­ λ„μΆœ(Requirement Elicitation) (κ°€) μš”κ΅¬μ‚¬ν•­ λ„μΆœμ€ μ†Œν”„νŠΈμ›¨μ–΄κ°€ ν•΄κ²°ν•΄μ•Ό ν•  문제λ₯Ό μ΄ν•΄ν•˜λŠ” 첫 번째 λ‹¨κ³„λ‘œμ„œ μš”κ΅¬μ‚¬ν•­μ΄ 어디에 있고, μ–΄λ–»κ²Œ μˆ˜μ§‘ν•  것인가와 .. 2022. 2. 22.
Spring MVC : κ°œλ…, 처리 κ³Όμ •(흐름), νŠΉμ§• Spring MVC의 κ°œλ…κ³Ό Model, View, Controller, Dispatcher Servlet, Handler Mapping λ“±μ˜ ν΄λž˜μŠ€μ™€ κ·Έ 역할듀에 λŒ€ν•˜μ—¬ ν¬μŠ€νŒ…ν•˜λ„λ‘ ν•˜κ² λ‹€. ν˜„μž¬ μ›Ήν”„λ ˆμž„μ›Œν¬ κ°•μ’Œλ₯Ό μˆ˜κ°•μ€‘μΈλ°, κ°•μ˜ν•˜μ‹œλŠ” κ΅μˆ˜λ‹˜κ»˜μ„œ 맀 μ£Ό μˆ˜μ—…λ§ˆλ‹€ 항상 λ‚˜λ₯Ό μΌκΉ¨μ›Œμ£ΌλŠ” 말씀을 ν•˜λ‚˜μ”© ν•΄μ£Όμ‹ λ‹€. κ΅μˆ˜λ‹˜κ»˜μ„œ, 젊음의 κ°€μž₯ 쒋은 점은 κΈ°νšŒκ°€ λ§Žμ€ 것이라고 ν•˜μ…¨λ‹€. λ°˜λŒ€λ‘œ, 젊음의 κ°€μž₯ 큰 λ¬Έμ œλŠ” 두렀움이 λ§Žμ€ 것이라고 ν•˜μ…¨λ‹€. κ·ΈλŸ¬λ―€λ‘œ λ”μš±λ” 자기 μžμ‹ μ˜ ν•œκ³„λ₯Ό 정해놓지 말라고 ν•˜μ…¨λ‹€. 무척 감λͺ…κΉŠμ€ λ§μ΄μ—ˆλ‹€. 본둠으둜 λ“€μ–΄κ°€μž! Spring MVC의 κ°œλ… μ›Ή 개발 μ‹œμ— data 둜직과 λΉ„μ¦ˆλ‹ˆμŠ€λ‘œμ§μ„ λΆ„λ¦¬ν•˜μ—¬ κ°œλ°œν•˜λŠ” λͺ¨λ“ˆμ΄λ‹€. Model은 dataλΆ€λΆ„, ViewλŠ” 말 κ·ΈλŒ€λ‘œ ν™”λ©΄μœΌλ‘œ 처리.. 2020. 11. 9.
Spring AOP : 관점 지ν–₯ ν”„λ‘œκ·Έλž˜λ° μ €λ²ˆ ν¬μŠ€νŒ…(iworldt.tistory.com/13)에 이어, 이번 ν¬μŠ€νŒ… μ—­μ‹œ λ―Έλ””μ—„(meduim.com)μ—μ„œ λ³Έ 글을 λ²ˆμ—­ν•΄λ³΄λŠ” ν¬μŠ€νŒ…μ΄λ‹€. μ €λ²ˆ ν¬μŠ€νŒ…μ˜ μ£Όμ œλŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ˜ μ˜μ‘΄μ„± μ£Όμž…μ΄μ—ˆλ‹€. 이번 ν¬μŠ€νŒ…μ˜ μ£Όμ œλŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ˜ 관점지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λ‹€. μ£Όμ œλŠ” What is Spring AOP? 이닀. (medium.com/@raffai.89.zoltan/what-is-spring-aop-f5191cc1b54c)이 원본이닀! μš°λ¦¬κ°€ Aspect Oriented Programming, 즉 관점 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•œ 정보λ₯Ό λ°œμ·Œν•  수 μžˆλŠ” λΆ€λΆ„μ˜ λ²ˆμ—­λ§Œ μž‘μ„±ν•˜λ„λ‘ ν•˜κ² λ‹€. λ¬Όλ‘  λ‚˜μ˜ 주관적인 해석이 λ“€μ–΄κ°€ μžˆμœΌλ―€λ‘œ, λ‚˜μ˜ 해석을 μ°Έκ³ ν•˜μ—¬ 단어듀을 κ²€μƒ‰ν•˜λ©° μ •ν™•ν•œ 정보λ₯Ό μ°Ύμ•„κ°ˆ 수 있기λ₯Ό.. 2020. 10. 25.
Dependency Injection: Concept of Spring Framework 과제λ₯Ό ν•˜λ©΄μ„œ, μ•„μ£Ό 쒋은 μ‚¬μ΄νŠΈλ₯Ό ν•˜λ‚˜ μ•Œκ²Œ λ˜μ—ˆλ‹€. κ΅μˆ˜λ‹˜κ»˜μ„œ μ†Œκ°œν•˜μ‹  λ―Έλ””μ—„! λ‹€μ–‘ν•œ λΆ„μ•Όμ˜ 전문가듀이 μ“΄ 글을 λ³Ό 수 μžˆλŠ” μΌμ’…μ˜ λΈ”λ‘œκ·Έ, λ―Έλ””μ—„(meduim.com)이닀. λ¬Όλ‘ ! λŒ€λΆ€λΆ„μ΄ μ˜μ–΄λ‘œ μž‘μ„±λ˜μ–΄ μžˆλ‹€. λ‚˜λ¦„ ν•΄μ„ν•΄λ³΄μ•˜κ³ , κ·Έ λ‚΄μš©μ΄ μ œμ–΄μ˜ 역전을 μ΄ν•΄ν•˜κ³  μŠ€ν”„λ§ν”„λ ˆμž„μ›Œν¬κ°€ μ œκ³΅ν•˜λŠ” μ˜μ‘΄μ„± μ£Όμž…μ— λŒ€ν•˜μ—¬ μ „λ°˜μ μΈ 이해λ₯Ό 돕기 쒋을 것 κ°™μ•„ λ²ˆμ—­μ„ κ³΅μœ ν•˜λ € ν•œλ‹€. Dependency Injection: Concept of Spring Framework (μ˜μ‘΄μ„± μ£Όμž… : μŠ€ν”„λ§ ν”„λ ˆμž„ μ›Œν¬μ˜ κ°œλ…)의 제λͺ©μœΌλ‘œ μ“΄ λ―Έλ””μ—„μ˜ κΈ€, (medium.com/analytics-vidhya/dependency-injection-concept-of-spring-framework-d9c3688005f8) 이.. 2020. 10. 25.
728x90
λ°˜μ‘ν˜•