1. 개요 ¶
ì˜�ì œ : Object Oriented Analysis and Design
대ìƒ� : ê°�체지향 ë¶„ì„�/설계ì—� 대해서 좀ë�” ëŠ�ë�¼ê³ ì‹¶ì�€ë¶„, Java를 í• ì¤„ 알면 좋ì�Œ
목표 : �체지향 프로그래�� 대해 좀� 친숙해지�.
대ìƒ� : ê°�체지향 ë¶„ì„�/설계ì—� 대해서 좀ë�” ëŠ�ë�¼ê³ ì‹¶ì�€ë¶„, Java를 í• ì¤„ 알면 좋ì�Œ
목표 : �체지향 프로그래�� 대해 좀� 친숙해지�.
2. ì ˆì°¨ ¶
ì˜ˆì œ 프로ì �트를 한개 ì„ ì •í•˜ì—¬ ì œìž‘í•´ 보는 방향으로 ê°€ìž�.
EX> ìˆ˜ê°•ì‹ ì²í”„로그램, ë�„서관 좌ì„�예약 프로그램..
EX> ìˆ˜ê°•ì‹ ì²í”„로그램, ë�„서관 좌ì„�예약 프로그램..
2.1. 프로ì �트ì�˜ 요구사í•ì�„ ì •í•˜ìž� ¶
프로ì �트ì�˜ 목표는 여러가지로 ì •í• ìˆ˜ 있다. ì�´ 프로ì �트를 통해 ì–»ê³ ìž� 하는 비지니스 요구사í•, ì�´ 프로ì �트를 사용하는 사용ìž�ê°€ 얻기 위한 사용ìž� 요구사í•, ê·¸ë¦¬ê³ ê°œë°œìž� 요구사í•등ì�´ 있ì�„ 수 있다.
2.2. ìœ ì¦ˆì¼€ì�´ìŠ¤ë¥¼ ì„ íƒ�하ìž� ¶
세 가지 요구사í•중 우리는 사용ìž�ì�˜ 요구사í•ì—� 귀를 기울ì�´ë©´ ë�œë‹¤.
ë¨¼ì € Actor를 ì„ ì •í•œë‹¤. Actor를 잘 ì„ íƒ�하면 추후ì—� ìœ ì¦ˆì¼€ì�´ìŠ¤ë¥¼ êµ¬ë¶„í• ë•Œì—� ë�„움ì�´ ë�œë‹¤.
ìœ ì¦ˆì¼€ì�´ìŠ¤ëŠ” ê°� 단위 업무를 ë§�하며 ì�´ì—� 합당한지 검사하는 방법ì�€ 다ì�Œê³¼ 같다.
>
ë¨¼ì € Actor를 ì„ ì •í•œë‹¤. Actor를 잘 ì„ íƒ�하면 추후ì—� ìœ ì¦ˆì¼€ì�´ìŠ¤ë¥¼ êµ¬ë¶„í• ë•Œì—� ë�„움ì�´ ë�œë‹¤.
ìœ ì¦ˆì¼€ì�´ìŠ¤ëŠ” ê°� 단위 업무를 ë§�하며 ì�´ì—� 합당한지 검사하는 방법ì�€ 다ì�Œê³¼ 같다.
- 시작과 �� 존재하며 카운팅� 가능한가.
- � 단위업무가 가치 있는 업무�가.
- 한 사람(Actor)ì�´ 한 순간ì—� 한 장소ì—�서 ìˆ˜í–‰í• ìˆ˜ 있는 업무ì�¸ê°€.
- 예외1 : 여러 작업ì—�서 중복ë�˜ëŠ” ë³´ì¡° 업무를 ìœ ì¦ˆì¼€ì�´ìŠ¤ë¡œ 뽑기ë�„ 한다. ex> Login/Logout
- 예외2 : CRUDì—� 해당하는 ìœ ì¦ˆì¼€ì�´ìŠ¤ëŠ” 하나로 묶기ë�„ 한다.
2.3. ìœ ì¦ˆì¼€ì�´ìФ 명세서를 작성하ìž� ¶
ì„ íƒ�한 ìœ ì¦ˆì¼€ì�´ìФì—� ê°�ê°� ìœ ì¦ˆì¼€ì�´ìФ 명세서를 작성하여 주ìž�. 다ì�Œê³¼ ê°™ì�€ ë‚´ìš©ì�´ í�¬í•¨ë�œë‹¤.
ìœ ì¦ˆì¼€ì�´ìФ ì�´ë¦„ :
ê´€ë ¨ Actor : ì�´ ìœ ì¦ˆì¼€ì�´ìФì—� 참여하는 Actor
ì‚¬ì „ì¡°ê±´ : ì�´ ìœ ì¦ˆì¼€ì�´ìŠ¤ê°€ ë°œìƒ�하기 ì „ì—� ë�˜ì–´ìžˆì–´ì•¼ 하는 ë‚´ìš©
사후조건 : ì�´ ìœ ì¦ˆì¼€ì�´ìŠ¤ê°€ 종료ë�œ 후ì—� ë�˜ì–´ìžˆì–´ì•¼ 하는 ë‚´ìš©
기본�름(*) : 기본 사용 시나리오
대안í��름 : 기본 사용 시나리오중 분기가 ë°œìƒ�í• ìˆ˜ 있는 경우
예외í��름 : 기본 사용 시나리오중 예외가 ë°œìƒ�í• ìˆ˜ 있는 경우
UI Prototype : 대략ì �ì�¸ UI모습
기본í��름, 대안í��름, 예외í��름ì�€ Actor로부터 시작하는 것ì�´ ì›�ì¹™ì�´ë‹¤. Actor로부터 시작하여 ì�¼ì–´ë‚˜ëŠ” ì�¼ì�„ ì •ë¦¬í•œë‹¤.
기본í��름, 대안í��름, 예외í��름ì�€ Actor로부터 시작하는 것ì�´ ì›�ì¹™ì�´ë‹¤. Actor로부터 시작하여 ì�¼ì–´ë‚˜ëŠ” ì�¼ì�„ ì •ë¦¬í•œë‹¤.
2.4. Persistance Data ì„ íƒ� ¶
ì˜�구ì �으로 ì €ìž¥ë�˜ëŠ” ë�°ì�´í„°ë¥¼ ì„ íƒ�한다. ì�´ ìž�료들ì�€ Entity í�´ëž˜ìŠ¤ê°€ ë�œë‹¤.
2.5. Robustness ë¶„ì„� ¶
ê°� í�´ëž˜ìŠ¤ê°„ì�˜ ìƒ�관관계를 ë¶„ì„�, Control í�´ëž˜ìŠ¤ì™€ Boundaryí�´ëž˜ìŠ¤ë¡œ 나누어 ì„ íƒ�한다.
Control �래스 : DB와� 연결, �체� 컨트롤� 담당하는 �래스
Boundary �래스 : 화면 UI를 담당하는 �래스
2.6. SequenceDiagram 작성 ¶
위ì�˜ ë¶„ì„�ì�„ 바탕으로 하여 Sequence Diagramì�„ 개략ì �으로 작성한다. ì—시 Actor와 ê°� í�´ëž˜ìŠ¤ë“¤ì�„ 미리 배치한 다ì�Œ 필요한 조작들ì�„ë¶„ì„�한다.









