Top-Down Design

by Kwang-Soo Hahn, kshahn@kmu.kookmin.ac.kr
Dept. of Computer Science, Kookmin University
910-4794, http://kshahn.kookmin.ac.kr


Top-down design and stepwise refinement

º¹ÀâÇÑ ¹®Á¦´Â º¸´Ù ´Ü¼øÇÑ ¿©·¯ °³ÀÇ ¹®Á¦µé·Î ºÐÇØÇÏ¿© ÇØ°áÇÑ´Ù. ¹®Á¦ÀÇ ¼¼ºÐÈ­ °úÁ¤Àº ºÐÇÒµÈ °³°³ÀÇ ¹®Á¦°¡ Å« ¾î·Á¿ò ¾øÀÌ ÇÁ·Î±×·¥ °¡´ÉÇÑ ¼öÁرîÁö °è¼ÓÇÏ¿© ÁøÇàÇÑ´Ù.

¿¹) »ç¿ëÀڷκÎÅÍ ³âµµ¸¦ ÀÔ·Â¹Þ¾Æ ÇØ´ç ³âµµÀÇ ´Þ·ÂÀ» Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ ÀÛ¼º

  1. »ç¿ë ¹æ¹ýÀ» displayÇÑ´Ù.
  2. »ç¿ëÀڷκÎÅÍ printÇÒ ³âµµ¸¦ ÀԷ¹޴´Ù.
  3. ÇØ´ç ³âµµÀÇ ´Þ·ÂÀ» printÇÑ´Ù.
          void main()
          {
             int  year;
             GiveInstruction();
             year = GetYearFromUser();
             PrintCalendar(year);
          }

  1. 1¿ùºÎÅÍ 12¿ù±îÁö °¢ ´ÞÀÇ ´Þ·ÂÀ» printÇÑ´Ù.
          void PrintCalendar(int year)
          {
             int  month;

             for (month = 1; month <= 12; month++) {
                PrintCalendarMonth(month, year);
                printf("\n");
             }
          }

  1. ³â, ¿ù, ¿äÀÏÀ» printÇÑ´Ù.
  2. ÇØ´ç ´ÞÀÇ Àϼö¸¦ °è»êÇÑ´Ù.
  3. ù° ³¯ÀÇ ¿äÀÏÀ» °áÁ¤ÇÑ´Ù.
  4. ù° ³¯ ÇØ´ç ¿äÀϺÎÅÍ ÀÏÁÖÀÏ ´ÜÀ§·Î ³¯Â¥¸¦ printÇÑ´Ù.

ù° ³¯ÀÇ ¿äÀÏ Ã£±â : 1900³â 1¿ù 1ÀÏÀÌ ¿ù¿äÀÏ À̹ǷΠÀ̸¦ ±âÁØÀ¸·Î ¸ÅÇØ ³¯¼ö¸¦ 7·Î ³ª´²°¡¸ç ¿äÀÏ °è»ê.

À§ °¢ ´Ü°èµéÀÇ ÇÁ·Î±×·¥ ºÎºÐµéÀ» ÅëÇÕÇÏ¿© ¿ÏÀüÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù. (calendar.c)