β» μ΄ μΉ΄ν κ³ λ¦¬μ κΈλ€μ knu HK.Lee κ΅μλμ <μννΈμ¨μ΄ μ€κ³> μμ μ λ£κ³ νμκ° λλ¦λλ‘ μ 리ν κΈμ λλ€.
β» λΆμ‘±ν μ€λͺ μ΄ μκ±°λ, μλͺ» μκ³ μμ±ν λΆλΆμ΄ 보μΈλ€λ©΄ λκΈλ‘ μλ €μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€π
<νμ΅ λͺ©μ°¨>
- Systems development life cycle (SDLC) μμ€ν
κ°λ° μλͺ
μ£ΌκΈ°
- μμ€ν κ°λ° μλͺ μ£ΌκΈ°μ μΌλ°μ μΈ λ€ λ¨κ³(κ³ν, λΆμ, μ€κ³, ꡬν)μ λν΄ μμλ΄ μλ€.
- μμ€ν κ°λ° μλͺ μ£ΌκΈ°μ λ°λ₯Έ λ€μν κ°λ° λ°©λ²λ‘ μ λν΄ μμλ΄ μλ€.
Introduction
μννΈμ¨μ΄λ₯Ό λ§λλλ° μ 곡μμ μΈ νλ‘μΈμ€(formal process)κ° νμν κΉμ?
- μ€ν¨κ° μμ£Ό λ°μν μ μμ΅λλ€. μμ° μ΄κ³Ό, μΌμ μ§μ° λ±μ μ΄μ λ‘ μ’ μ’ μννΈμ¨μ΄κ° λ μμ±λ μ± κ°λ°μ΄ λ§λ¬΄λ¦¬λ μ μμ΅λλ€.
- μννΈμ¨μ΄λ₯Ό λ§λλ κ²μ μ§κ΄λ§μΌλ‘ ν΄κ²°νκΈ° μ΄λ ΅κ³ 볡μ‘ν κ³Όμ μ΄ μλ°λ©λλ€.
- μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ νλ‘μ νΈμ λν λͺ νν νλ‘μΈμ€μ κ³νμ΄ νμν©λλ€.
μμ€ν λΆμκ°λ ν΅μ¬ μν μ ν©λλ€.
- μμ€ν λΆμκ°λ μμ€ν μ μ€κ³νκ³ , λΉμ¦λμ€ νλ‘μΈμ€λ₯Ό μ΄ν΄νμ¬ κ·Έμ λ§λ μ루μ μ μ 곡νλ μ€μν μν μ ν©λλ€.
- μ΄λ₯Ό μννκΈ° μν΄μλ λΉμ¦λμ€ νλ‘μΈμ€μ λν μ΄ν΄λΏλ§ μλλΌ, κΈ°μ μ μλκ³Ό λΆμ λ₯λ ₯ λν νμν©λλ€.
Software Development Life Cycle (SDLC)
- SDLCλ λ€ κ°μ§ μ£Όμ λ¨κ³(κ³ν, λΆμ, μ€κ³, ꡬν)λ‘ κ΅¬μ±λλ©°, κ° λ¨κ³λ μννΈμ¨μ΄ κ°λ° κ³Όμ μμ μ€μν μν μ ν©λλ€.
- κ° μ£Όμ λ¨κ³λ μ¬λ¬ νμ λ¨κ³λ‘ λλλ©°, κ° λ¨κ³λ§λ€ κ²°κ³Όλ¬Όμ λ¬Έμλ‘ κΈ°λ‘νμ¬ νλ‘μ νΈμ μ§ν μν©μ μΆμ νκ³ κ²ν ν μ μμ΄μΌ ν©λλ€. λ¬Έμλ‘ κΈ°λ‘λ κ²°κ³Όλ¬Όμ μ°μΆλ¬Ό(deliverables)λΌκ³ ν©λλ€.
- SLDCμ κ° λ¨κ³λ μμ°¨μ , μ μ§μ , λ°λ³΅μ λ± λ€λ₯Έ ν¨ν΄μΌλ‘ μ€νλ μ μμ΅λλ€.
SDLC: 1. Planning κ³ν (λ§λλ μ΄μ ? μ μ΄ μμ€ν μ λ§λ€μ΄μΌ νλκ°?)
1. νλ‘μ νΈ κ°μ (project initiation)
- Develop/receive a system request: μλ‘μ΄ μμ€ν μ λν μμ²μΌλ‘ νλ‘μ νΈκ° μμλ©λλ€.
- conduct a feasibility analysis: νλ‘μ νΈκ° νμ€μ μΌλ‘ μ€ν κ°λ₯νμ§ λΆμν΄μΌν©λλ€. (λΉμ©, μκ°, κΈ°μ μ κ°λ₯μ±, μμ₯ μꡬλ±μ νκ°)
2. νλ‘μ νΈ κ΄λ¦¬ (project management)
- Develop the work plan: νλ‘μ νΈλ₯Ό ν¨μ¨μ μΌλ‘ μ§ννκΈ° μν κ³νμ μ립ν©λλ€.
- staff the project: νλ‘μ νΈλ₯Ό μ§νν νμ ꡬμ±νκ³ , νμν κΈ°μ κ³Ό κ²½νμ κ°μ§ μΈλ ₯μ λ°°μ ν©λλ€.
SDLC: 2. Analysis λΆμ (무μμ λ§λλκ°? μμ€ν μ΄ μ΄λ€ κΈ°λ₯μ ν΄μΌ νλκ°?)
1. λΆμ μ λ΅ κ°λ° (Develop an analysis strategy)
- νμ¬ μ¬μ© μ€μΈ μμ€ν μ λΆμνμ¬ λ¬Έμ μ κ³Ό κ°μ μ μ λ°κ²¬νκ³ , ν₯νμ κ°λ°λ μλ‘μ΄ μμ€ν μ μ€κ³λ₯Ό ꡬμν©λλ€.
2. μꡬμ¬ν μμ§ (Gather the requirements)
- μμ€ν μ΄ μ 곡ν΄μΌ νλ κΈ°λ₯κ³Ό μλΉμ€λ₯Ό μ μνλ μμ€ν κ°λ μ κ°λ°ν©λλ€.
- λΉμ¦λμ€ λ°μ΄ν°λ₯Ό μ²λ¦¬νκ³ λΉμ¦λμ€ νλ‘μΈμ€λ₯Ό μ§μνλ λͺ¨λΈμ κ°λ°ν©λλ€.
3. μμ€ν μ μμ κ°λ° (Develop a system proposal)
- μμ€ν μ μμλ μꡬμ¬ν λͺ νν μ μν λ¬Έμλ‘, κ°λ°ν μμ€ν μ ꡬ체μ μΈ λ΄μ©κ³Ό κΈ°λ₯μ ν¬ν¨νκ³ μμ΅λλ€.
- μ΄ μ μμλ μꡬμ¬ν λͺ μΈμ(Requirement Specification)μ κ°μ μν μ νλ©°, μμ€ν κ°λ°μ κ°μ΄λλΌμΈμ΄ λ©λλ€.
SDLC: 3. Design μ€κ³ (μ΄λ»κ² λ§λ€κΉ?)
1. μ€κ³ μ λ΅ κ°λ° (Develop a design strategy): μμ€ν μ μ€κ³νκΈ° μν μ 체μ μΈ μ λ΅μ μ립ν©λλ€.
2. μν€ν μ²μ μΈν°νμ΄μ€ μ€κ³ (Design architecture and interfaces): μμ€ν μ μ 체μ μΈ κ΅¬μ‘°λ₯Ό μ μνκ³ , μμ€ν λ΄λΆ λ° μΈλΆμ μνΈμμ©νλ μΈν°νμ΄μ€λ₯Ό μ€κ³ν©λλ€.
3. λ°μ΄ν°λ² μ΄μ€ λ° νμΌ μ¬μ κ°λ° (Develop databases and file specifications): μμ€ν μ΄ λ°μ΄ν°λ₯Ό μ΄λ»κ² μ μ₯νκ³ κ΄λ¦¬ν μ§ μ€κ³ν©λλ€.
4. νλ‘κ·Έλ¨ μ€κ³ (Develop the program design): μμ€ν μ ꡬμΆνκΈ° μν΄ μ΄λ€ νλ‘κ·Έλ¨λ€μ΄ νμνμ§, μ΄λ€ μμ μ μνν κ²μΈμ§, μ€κ³ λͺ μΈμλ₯Ό μμ±ν©λλ€.
SDLC: 4. Implementation ꡬν
1. μμ€ν ꡬμΆ(Construct the system): μ€κ³λ λ΄μ©μ λ°νμΌλ‘ μ€μ μ½λλ₯Ό μ¬μ©νμ¬ μμ€ν μ κ°λ°ν©λλ€. κ°λ°λ μμ€ν μ΄ μ λλ‘ μλνλμ§ νμΈνλ ν μ€νΈ κ³Όμ μ΄ νμν©λλ€.
2. μμ€ν μ€μΉ(Install system): μμ±λ μμ€ν μ μ¬μ©μλ€μκ² μ€μΉνκ³ , μ¬μ©λ²μ μλ €μ€λλ€.
3. μμ€ν μ§μ(Support the system): μμ€ν μ΄ μ΄μλλ©΄μ λ°μν μ μλ λ¬Έμ λ₯Ό ν΄κ²°νκ³ , μΆκ°μ μΈ μꡬμ¬νμ λ°μνλ μ μ§λ³΄μ μμ μ μνν©λλ€.
SDLC: Methodologies
- νλ‘μΈμ€ μ§ν₯ (Process oriented – Structured λ°©λ²λ‘ ): μ΄ λ°©λ²λ‘ μ μννΈμ¨μ΄ κ°λ°μ μΌλ ¨μ μμ°¨μ λ¨κ³λ‘ ꡬλΆνμ¬ μ²΄κ³μ μΌλ‘ μ§ννλ λ°©λ²μ λλ€. ꡬ쑰νλ λ°©μμΌλ‘ νλ‘μΈμ€μ νλ¦μ μ€μνλ©°, μλ₯Ό λ€μ΄ νν¬μ(Waterfall) λͺ¨λΈμ΄ μ¬κΈ°μ μν©λλ€.
- λ°μ΄ν° μ€μ¬ (Data centered – DB): λ°μ΄ν° μ€μ¬ λ°©λ²λ‘ μ μμ€ν μ΄ μ²λ¦¬ν λ°μ΄ν°μ ꡬ쑰μ κ΄κ³λ₯Ό μ€μ¬μΌλ‘ μ€κ³νλ λ°©μμ λλ€. λ°μ΄ν°λ² μ΄μ€(DB) μ€κ³λ₯Ό κΈ°λ°μΌλ‘ μμ€ν μ΄ κ΅¬νλλ©°, λ°μ΄ν°μ 무결μ±κ³Ό ν¨μ¨μ±μ μ€μνκ² μκ°ν©λλ€.
- κ°μ²΄ μ§ν₯ (Object-oriented – OO λ°©λ²λ‘ ): κ°μ²΄ μ§ν₯ λ°©λ²λ‘ μ μμ€ν μ κ°μ²΄(Object)λΌλ λ 립λ λ¨μλ‘ λλμ΄ μ€κ³νκ³ κ΅¬ννλ λ°©μμ λλ€. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)μ κ°λ μ μ¬μ©νμ¬ μ¬μ¬μ© κ°λ₯νκ³ νμ₯μ±μ΄ λμ μμ€ν μ κ°λ°ν μ μμ΅λλ€.
κΈ°ν λ°©λ²λ‘
- λΉ λ₯Έ κ°λ° λ°©λ²λ‘ (Rapid Action Development): RADλ μ μν κ°λ°μ λͺ©νλ‘ νλ©°, λΉ λ₯΄κ² νλ‘ν νμ μ λ§λ€κ³ μ¬μ©μ νΌλλ°±μ λ°μνμ¬ μμ€ν μ μ μ§μ μΌλ‘ κ°μ νλ λ°©μμ λλ€.
- μ μμΌ κ°λ° (Agile Development): μ μμΌμ λ°λ³΅μ μ΄κ³ μ μ§μ μΈ μ κ·Ό λ°©μμ κ°μ‘°νλ©°, κ°λ° κ³Όμ μμ μ μ°νκ² μꡬμ¬νμ λ³κ²½νκ³ μ§μμ μΈ νΌλλ°±μ λ°μν μ μλ λ°©λ²λ‘ μ λλ€. λΉ λ₯Έ μ£ΌκΈ°λ‘ μννΈμ¨μ΄λ₯Ό λ°°ν¬νμ¬ κ°λ° μλμ νμ§μ λμ΄λ κ²μ λͺ©νλ‘ ν©λλ€.
'πCS > πSoftware Design' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μννΈμ¨μ΄ μ€κ³] Use Case Diagram (3) | 2024.10.20 |
---|---|
[μννΈμ¨μ΄ μ€κ³] Activity Diagram (1) | 2024.10.20 |
[μννΈμ¨μ΄ μ€κ³] μ μ°¨ν νλ‘κ·Έλλ° vs κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° (0) | 2024.10.20 |
[μννΈμ¨μ΄ μ€κ³] 0μ₯. Overview (0) | 2024.10.18 |