- Elements of
Software Development
- Software Quality
Factors
- Software Life Cycle
- Software
Development Process
- Software
Quality and Software Development Cost
- The
Defect Effects on Software Life Cycle
- Software
Development Process for Efficient Detection and Removal
of Defects

Product systemÀÇ ¼º°ÝÀ» °®´Â ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß
½Ã °í·ÁµÇ¾î¾ß ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ǰÁú ¿ä¼ÒµéÀº
¾Æ·¡¿Í °°´Ù.

¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½°ú °°Àº »ý¸í ÁÖ±âÀÇ ´Ü°è¸¦
°ÅÄ£´Ù.
| 1. Requirements Phase |
- ¹®Á¦ Á¤ÀÇ(Problem Definition)
- ¿ä±¸ ºÐ¼®(Requirements Analysis)
- ¿ä±¸ ¸í¼¼(Requirements Specification)
|
| 2. Development Phase |
- ¼³°è(Design)
- ±¸Çö(Implementation)
- ÅëÇÕ(Integration)
- ½ÃÇè(Testing)
|
| 3. Maintenance Phase |
- ¿î¿µ(Operation)
- À¯Áöº¸¼ö(Maintenance)
|
°¢ ´Ü°è´Â ´ÙÀ½°ú °°Àº ¿ä¼Òµé·Î Á¤ÀǵȴÙ.
- ¸ñÀû: goals, objectives
- ÀÛ¾÷: activities, tasks
- ÀÚ¿ø(resources): ±â°£(time), ÅõÀÔÀοø(personnel),
ºñ¿ë(budget), µµ±¸(tools)
- Inputs
- »êÃâ¹°(deliverables, work products)
- Phase Testing (verification, °ËÁõ)
- ¿Ï·á ±âÁØ: quality control measures, milestone
3.1 ¹®Á¦ Á¤ÀÇ (Problem Statement) ´Ü°è
Objectives
- Software solutionÀÌ ÇÊ¿äÇÑ ÀÌÀ¯¸¦ ±Ô¸íÇÑ´Ù.
- »ç¿ëÀÚ°¡ °®°í ÀÖ´Â ¹®Á¦¸¦ Á¤È®È÷
ÀÌÇØÇÑ´Ù.
- »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ¹®Á¦¿¡ ´ëÇØ ´õ Àß
ÀÌÇØÇϵµ·Ï ÇÑ´Ù.
Activities
- ¹®Á¦¸¦ »ç¿ëÀÚÀÇ °üÁ¡°ú ¿ë¾î·Î Á¤ÀÇÇÑ´Ù.
- ¹®Á¦¸¦ ±â¼úÇÑ´Ù.(Formulate a problem statement.)
- ±â¼úµÈ ¹®Á¦¸¦ Æò°¡ÇÑ´Ù.(Evaluate a problem
statement.)
Inputs
- »ç¿ëÀڷκÎÅÍÀÇ ¿ä±¸ »çÇ×
- ¸¶ÄÉÆÃ ´ã´çÀÚ(marketing representatives)·ÎºÎÅÍÀÇ
¿ä±¸ »çÇ×
»êÃâ¹°
- Problem definition statement
- Á¦¾È¼(Proposal)
- ÁÖ¿ä Á¦¾à »çÇ×(±â°£, ºñ¿ë, ¼º´É, ½ÇÇà
ȯ°æ µî)
3.2 ¿ä±¸ ºÐ¼® ´Ü°è
Objectives
- °³¹ßµÉ ¼ÒÇÁÆ®¿þ¾îÀÇ ¿ä±¸ »çÇ׿¡ ´ëÇÏ¿©
»ç¿ëÀÚ¿Í °³¹ßÀÚ »çÀÌÀÇ ÇÕÀÇ
- °³¹ß °èȹÀÇ ¼ö¸³
Activities
- ¿ä±¸µÇ´Â ±â´Éµé°ú ÀÌ¿¡ ÆÄ»ýµÇ´Â ÇÊ¿ä
±â´ÉµéÀ» ºÐ¼®ÇÑ´Ù.
- ±â´Éµé¿¡ ´ëÇÑ ¿ä±¸ ¹× Á¦¾à Á¶°Ç(¼º´É,
½Å·Ú¼º, usability µî)µéÀ» ºÐ¼®ÇÑ´Ù.
- °³¹ß¿¡ ÇÊ¿äÇÑ ÀÚ¿øÀ» »êÁ¤ÇÏ°í °³¹ß
°èȹÀ» ¼ö¸³ÇÑ´Ù.
- ¿ä±¸ ºÐ¼® ¸í¼¼¿¡ ´ëÇÑ °ËÁõÀ» ÇÑ´Ù. (Phase
testing)
Inputs
- Problem statement
- »ç¿ëÀڷκÎÅÍÀÇ Ãß°¡ Á¤º¸
»êÃâ¹°
- ¿ä±¸ ¸í¼¼(Requirement specification)
- °³¹ß °èȹ¼
3.3 ¼³°è (Design) ´Ü°è
Objectives
- ¼ÒÇÁÆ®¿þ¾îÀÇ ±¸ÇöÀ» À§ÇÑ blueprint
Activities
- ¼ÒÇÁÆ®¿þ¾îÀÇ ±¸Á¶¿Í ±¸¼º ¿ä¼ÒµéÀ»
°áÁ¤ÇÑ´Ù.
- ±¸¼º ¿ä¼Òµé°£ÀÇ »óÈ£ °ü°èµéÀ» °áÁ¤ÇÑ´Ù.
- ÀÚ·á ±¸Á¶¿Í ¾Ë°í¸®ÁòµéÀ» °áÁ¤ÇÑ´Ù.
Inputs
»êÃâ¹°
- ±¸Á¶ ¼³°è ¸í¼¼ (Architecture Design Specification)
- »ó¼¼ ¼³°è ¸í¼¼ (Detailed Design Specification)
À§ÀÇ ¼ÒÇÁÆ®¿þ¾î ÇÁ·Î¼¼½º ¿ä¼ÒµéÀ» ¼·Î
¿¬°áÇÏ¿© ÀÏ·ÃÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß ÇÁ·Î¼¼½º¸¦
Á¤ÀÇÇÒ ¼ö Àִµ¥ À̸¦ ÇÁ·Î¼¼½º ¸ðµ¨À̶ó°í
ºÎ¸¥´Ù. ¼ÒÇÁÆ®¿þ¾î ÇÁ·Î¼¼½º ¸ðµ¨¿¡´Â ´ÙÀ½°ú
°°Àº À¯ÇüÀÌ ÀÖ´Ù.
- ÆøÆ÷¼ö ¸ðµ¨(Waterfall model):
¿ä±¸ºÐ¼®, ¼³°è, ±¸Çö, ÅëÇÕ ¹× ½ÃÇèÀÇ °¢
´Ü°è¸¦ ¼øÂ÷ÀûÀ¸·Î ¼öÇàÇÏ¿© ÃÖÁ¾ ´Ü°èÀÇ
»êÃâ¹°ÀÌ ¿Ï¼ºµÈ ¼ÒÇÁÆ®¿þ¾î Á¦Ç°ÀÌ
µÇµµ·Ï ÇÏ´Â °íÀüÀûÀÎ ÇÁ·Î¼¼½º ¸ðµ¨
- Rapid prototype model: ¿ä±¸µÈ ±â´É,
¼º´É µî¿¡ ´ëÇÑ ÇÙ½ÉÀûÀÎ »çÇ×µéÀ» ¸ÕÀú
ÇÁ·ÎÅäŸÀÔÀ¸·Î ¸ðÇüÈÇϰí À̸¦ ºÐ¼®ÇÑ
°á°ú¸¦ Åä´ë·Î ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ´Â
¸ðµ¨
- Á¡ÁõÀû ¸ðµ¨(Incremental model):
¼ÒÇÁÆ®¿þ¾î¸¦ µÎ°³ ÀÌ»óÀÇ build, version,
¶Ç´Âreleaseµé·Î ³ª´©¾î À̵éÀ» Çϳª¾¿
Á¡Â÷ÀûÀ¸·Î °³¹ßÇØ ³ª°¨À¸·Î½á ÃÖÁ¾ release°¡
¿Ï¼ºµÈ ¼ÒÇÁÆ®¿þ¾î°¡ µÇµµ·Ï ÇÏ´Â ¸ðµ¨
- ³ª¼±Çü ¸ðµ¨(Spiral model):
¿ä±¸ºÐ¼®, ¼³°è, ±¸Çö, ÅëÇÕ, ½ÃÇè µîÀÇ °¢
ÀÛ¾÷À» ¸®½ºÅ©ÀÇ ºÐ¼®°ú ÇØ¼Ò ¹æ¾ÈÀ»
¼ö¸³ÇÏ¿© ¼öÇàÇÏ´Â ¸ðµ¨
- È¥ÇÕÇü ¸ðµ¨(Hybrid model):
µÎ°¡Áö ÀÌ»óÀÇ ÇÁ·Î¼¼½º ¸ðµ¨µéÀ» È¥ÇÕÇÑ
¸ðµ¨
4.1 Unstructured process model (Build and Fix Model)

- ÇÁ·Î±×·¥¿¡ ¿ä±¸µÇ´Â ±â´ÉÀ̳ª ±¸Á¶¿¡
´ëÇÑ ¸í¼¼(specification)°¡ ¾øÀÌ ±¸Çö(implementation)
ÀÛ¾÷ÀÌ ÇàÇØÁø´Ù.
- ÇÁ·Î±×·¥ÀÇ ¿Ï¼ºµµ³ª ¿Ï·á ¿©ºÎ¸¦ ¾Ë ¼ö
¾ø´Ù.
- À¯Áöº¸¼ö ÀÛ¾÷ÀÌ ´ëºÎºÐÀ» Â÷ÁöÇÑ´Ù.
- ÇÁ·Î±×·¥¿¡ ¿ä±¸µÈ ±â´ÉÀ̳ª ½ÇÁ¦·Î
±¸ÇöµÈ ±â´ÉµéÀÇ ÆÄ¾ÇÀÌ ¾î·Æ´Ù.
- ¾ÆÁÖ ÀÛÀº ±Ô¸ðÀÇ ÇÁ·Î±×·¥¿¡¸¸ Àû¿ëµÉ ¼ö
ÀÖ´Ù.
4.2 ÆøÆ÷¼ö ¸ðµ¨(Waterfall or Linear Sequential Model)
¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß °úÁ¤À» ¿ä±¸ºÐ¼®(requirements
analysis), ¼³°è(design), ±¸Çö(implementation), ÅëÇÕ(integration),
¿î¿µ ¹× À¯Áöº¸¼ö(operation and maintenance)ÀÇ
´Ü°èµé·Î ±¸ºÐÇÏ¿© À̵éÀ» ¼øÂ÷ÀûÀ¸·Î ÁøÇàÇÏ´Â
ÇÁ·Î¼¼½º ¸ðµ¨ÀÌ´Ù.

Ư¡
- ´ÙÀ½ ´Ü°è°¡ ½ÃÀ۵DZâ Àü¿¡ ÀÌÀü ´Ü°è°¡
¿Ï·áµÇ¾î¾ß ÇÑ´Ù.
- °¢ ´Ü°èÀÇ »êÃâ¹°µéÀº ¾ö°ÝÇÑ °ËÁõ ÀÛ¾÷À»
°ÅÄ£´Ù.(phase testing)
- Phase testingÀ» °ÅÄ£ »êÃâ¹°µéÀº Á¤½ÄÀÇ º¯°æ
ÀýÂ÷¿¡ ÀÇÇØ¼¸¸ º¯°æ °¡´ÉÇÏ´Ù.(frozen deliverables)
- document-driven development process
ÀåÁ¡
- ÇÁ·ÎÁ§Æ®ÀÇ °ü¸®°¡ ¿ëÀÌÇÏ´Ù.
´ÜÁ¡
- ´ëºÎºÐÀÇ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®µé¿¡¼´Â ¾ö°ÝÇÑ
¼øÂ÷ÀûÀÎ ÁøÇàÀÌ ¾î·Æ´Ù.
- ÀÌÀü ´Ü°è¸¦ ¼öÇà ¿Ï·áÇÏ¿©¾ß¸¸ ÈļÓ
´Ü°èÀÇ ¼öÇàÀÌ °¡´É
- too late working version (user feedbackÀ» ¹Ý¿µÇϱâ
¾î·Æ´Ù)
4.3 Rapid Prototyping Model (Throw-away Prototyping Model)
¼ÒÇÁÆ®¿þ¾î¿¡ ¿ä±¸µÇ´Â ÇÙ½ÉÀûÀÎ ¿ä±¸
»çÇ×µéÀ» ÇÁ·ÎÅäŸÀÔÀ¸·Î ±¸ÇöÇÏ¿© Ÿ´ç¼º°ú
±¸Çö °¡´É¼ºÀ» È®ÀÎÇÑ ÈÄ À̸¦ Åä´ë·Î ÇÏ¿© ºÐ¼®,
¼³°è, ±¸Çö, ½ÃÇè °úÁ¤À» ¹â¾Æ³ª°¡´Â ¸ðµ¨

4.4 Á¡ÁõÀû ¸ðµ¨(Incremental Model: Multiple releases)
¼ÒÇÁÆ®¿þ¾î¿¡ ¿ä±¸µÇ´Â ±â´ÉÀ̳ª ¼º´É
Á¶°ÇµéÀ» ¿ì¼± ¼øÀ§, ³À̵µ, »ó°ü °ü°è µîÀ»
°í·ÁÇÏ¿© ¸î °³ÀÇ ±×·ìÀ¸·Î ³ª´©¾î À̵éÀ»
incremental buildµé·Î Á¡Â÷ÀûÀ¸·Î ±¸Çö, Ãß°¡Çذ¡´Â
¸ðµ¨ÀÌ´Ù.

½ÇÁ¦ »ê¾÷ü¿¡¼ °³¹ßµÇ°í ÀÖ´Â
¼ÒÇÁÆ®¿þ¾îµéÀÇ ¶óÀÌÇÁ »çÀÌŬ¿¡¼ °¢ ÇÁ·Î¼¼½º
¿ä¼Ò¿¡ ¼Ò¿äµÇ´Â ºñ¿ëÀÇ Åë°èÀû ºÐÆ÷´Â ´ÙÀ½°ú
°°´Ù.

- À¯Áöº¸¼ö¿¡ ¼Ò¿äµÇ´Â ºñ¿ëÀÌ ¼ÒÇÁÆ®¿þ¾î
¶óÀÌÇÁ »çÀÌŬ Àüü ºñ¿ëÀÇ ´ëºÎºÐÀ»
Â÷ÁöÇÑ´Ù.
- ÇÁ·ÎÁ§Æ®°¡ ÁøÇàµÊ¿¡ µû¶ó¼ °³¹ß¿¡
¼Ò¿äµÇ´Â ºñ¿ë°ú ±â°£Àº ºÐ¼®, ¼³°è, ±¸Çö,
¹× ½ÃÇè ÀÛ¾÷ ¼øÀ¸·Î Áõ°¡ÇÑ´Ù.
- ºÐ¼®, ¼³°è, ±¸Çö ¹× ½ÃÇèÀÇ °¢ ´Ü°è°¡
¸íÈ®ÇÏ°Ô ±¸ºÐµÇÁö ¾Ê°í ¼·Î º´ÇàÇÏ¿©
ÁøÇàµÇ´Â °æ¿ì°¡ ¸¹´Ù. Áï, ÇÑ ´Ü°è°¡
¿Ï·áµÇ±â ÀÌÀü¿¡ ´ÙÀ½ ´Ü°è°¡ Âø¼öµÈ´Ù.
¼ÒÇÁÆ®¿þ¾îÀÇ °áÇÔÀ» À¯¹ßÇÏ´Â ¿¡·¯ ÇàÀ§´Â
ºÐ¼®, ¼³°è, ±¸Çö, ½ÃÇè ¹× À¯Áöº¸¼öÀÇ Àü °úÁ¤À»
ÅëÇÏ¿© ÇàÇÏ¿©Áú ¼ö ÀÖ´Ù. °¢ ´Ü°è¿¡¼ ¼ÒÇÁÆ®¿þ¾î
°áÇÔÀ» ¹ß°ß, Á¦°ÅÇϴµ¥ ¼Ò¿äµÇ´Â ºñ¿ëÀº
¾Æ·¡¿Í °°Àº ºÐÆ÷¸¦ °®´Â´Ù.

- °áÇÔÀÇ ¹ß°ß ½ÃÁ¡ÀÌ ´Ê¾îÁú¼ö·Ï ±×·¯ÇÑ
°áÇÔÀ» ¹ß°ßÇÏ¿© Á¦°ÅÇϴµ¥ ¼Ò¿äµÇ´Â
ºñ¿ëÀÌ ±Þ°ÝÇÏ°Ô Áõ´ëÇÑ´Ù.
- ƯÈ÷, ¼ÒÇÁÆ®¿þ¾îÀÇ °áÇÔÀÌ À¯Áöº¸¼ö
´Ü°è¿¡¼ ¹ß°ßµÇ¾î Á¦°ÅÇÒ °æ¿ì ±×·¯ÇÑ
ÀÛ¾÷¿¡ ¼Ò¿äµÇ´Â ºñ¿ëÀº ±× ÀÌÀüÀÇ °³¹ß
´Ü°è¿¡¼ ¹ß°ß, Á¦°ÅÇÒ °æ¿ì¿¡ ºñÇØ ÈξÀ
¸¹¾ÆÁø´Ù.
À§ÀÇ Çö»óÀº ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÌ ÁøÇàµÊ¿¡ µû¶ó
¼ÒÇÁÆ®¿þ¾î °áÇÔÀÌ ¾Æ·¡¿Í °°Àº ´©ÀûµÈ ÆÄ±Þ
È¿°ú¸¦ °¡Á®¿À±â ¶§¹®ÀÌ´Ù.

½ÃÇè(testing)À» ¼ÒÇÁÆ®¿þ¾î ¶óÀÌÇÁ»çÀÌŬÀÇ
ƯÁ¤ ´Ü°è¿¡ ±¹ÇÑÇÏÁö ¾Ê°í ¸ðµç ´Ü°è¿¡ °ÉÃļ
°¡´ÉÇÑ ÇÑ Á¶±â¿¡ ¼öÇàÇÑ´Ù.
- °³¹ß ´Ü°è º° ½ÃÇè(Phase testing)
- Á¡ÁõÀûÀÎ ½ÃÇè(Incremental testing)
- Á¶Á÷ÀûÀÎ ½ÃÇè(Planned and Systematic testing)

