팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미 신학기 도서구매 시스템 팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
Contents Introduction – 신학기 도서구매 시스템 Requirement Analysis Class Analysis Class Design Change of Requirements Summary
Introduction - 신학기 도서구매 시스템 신학기 도서구입으로 인한 서점의 혼잡을 줄이고 학생들에게 편의 제공 [ 시스템 개발의 목적 ] 한꺼번에 많은 사람들로 인해 서점이 혼잡 기다리는 시간으로 인해 도서를 제때 구입하는 것이 불가능 재고확인 불가능으로 인해 불필요한 서점 방문 [ 시스템의 필요성 ] 회원가입 (학생지원시스템으로부터 수강정보를 읽어옴) 도서 검색 수강도서 조회 도서 구매 도서 예약 [ 시스템의 주요기능 ]
Introduction - 신학기 도서구매 시스템 Usecase Modeling: Usecase Diagram Usecase Inspection Report [ Requirement ] Class Analysis – Devise a General Solution: Class Diagram Sequence Diagram System Architecture Modeling: Deployment Diagram [ Analysis ] Class Design – Devise a specific Solution: [ Design ]
Requirement Analysis [1/4] - Usecase Diagram 회원가입 회원은 자신의 수강정보(학생지원시스템에서 불러온 학과, 과목, 교수정보)를 이용하여 자신이 수강 신청한 과목의 도서를 조회할 수 있다 도서검색 고객은 학과목, 과목명, 교수명을 선택하거나 직접 도서명을 입력하여 필요한 도서를 검색할 수 있다. 도서예약 고객은 장바구니에 담긴 도서 중 구매할 도서를 선택하여 예약할 수 있다 도서예약취소 고객은 자신이 예약한 내역을 취소할 수 있다. 장바구니 담기 회원은 장바구니에 있는 도서를 구매 요청 받으면 시스템은 결제 시스템에게 결제를 요청하고 마일리지를 적립하여 구매내역에 정보를 등록한다. 장바구니 관리 비회원은 장바구니에 담긴 도서목록을 확인하고 수량을 수정하고 삭제할 수 있다. 주문내역 확인 비회원은 예약 또는 구매한 내역을 확인할 수 있다. 도서예약 고객은 장바구니에 담긴 도서 중 구매할 도서를 선택하여 예약할 수 있다 도서구매 회원에게 장바구니에 있는 도서를 구매 요청 받으면 시스템은 결제를 실행하고 마일리지를 적립한다. 장바구니담기 회원은 장바구니에 있는 도서를 구매 요청 받으면 시스템은 결제 시스템에게 결제를 요청하고 마일리지를 적립하여 구매내역에 정보를 등록한다. 장바구니 관리 회원은 장바구니에 담긴 도서목록을 확인하고 수량을 수정하고 삭제할 수 있다 주문내역 확인 회원은 예약 또는 구매한 내역을 확인할 수 있다. 마일리지 사용 회원은 마일리지를 사용해 구매할 수 있다 신용카드결재 회원은 신용카드 결재를 선택해 결제한다. 실시간 계좌이체 회원은 실시간 계좌이체 결재를 선택해 결제한다. 로그인 회원은 시스템 사용권한을 획득하기 위해 로그인을 할 수 있다. 회원정보수정 회원은 저장되어 있는 자신의 정보를 수정하기 위해 저장된 기존 정보를 불러와서 수정할 수 있다. 회원탈퇴 회원은 자신의 정보를 삭제할 수 있는 회원 탈퇴기능을 이용할 수 있다. 수강과목도서조회 회원은 자신의 수강정보(학생지원시스템에서 불러온 학과,과목,교수정보)를 이용하여 자신이 수강 신청한 과목의 도서를 조회할 수 있다 도서검색 고객은 학과목, 과목명, 교수명을 선택하거나 직접 도서명을 입력하여 필요한 도서를 검색할 수 있다. 로그인 시스템으로 부터 인증 받은 서점관리자는 시스템 사용권한을 획득하기 위해 로그인을 할 수 있다. 로그아웃 로그인이 되어있는 서점관리자는 시스템 사용권한을 해제하기 위해 로그아웃을 할 수 있다. 전체주문내역조회 서점관리자는 전체 주문내역을 확인하고 주문 처리 상태를 바꿀 수 있다.
Requirement Analysis [2/4] – Usecase Specification 수강과목도서조회 도서검색
Requirement Analysis [3/4] – Usecase Specification 도서예약
Requirement Analysis [4/4] – Usecase Specification 도서구매
Class Analysis - Policies Class Type Naming Rule Example Boundary Class ~Form Control Class ~Controller Entity Class ~Info [ 클래스 분석 단계 시 고려 사항] - - Naming 규칙 : boundary class는 ~Screen, Entity class는 ~Info라 명명 Boundary Class는 ~Screen이라 명명 System Interface는 ~SI라 명명 Control Class는 ~Controller라 명명
Class Analysis [1/4] - Class & Sequence Diagram [ 수강도서조회 ] Alternative 경우 2가지일 경우
Class Analysis [2/4] - Class & Sequence Diagram [ 도서검색 ] Alternative 경우 2가지일 경우
Class Analysis [3/4] - Class & Sequence Diagram [ 도서예약 ] Alternative 경우 2가지일 경우
Class Analysis [4/4] - Class & Sequence Diagram [ 도서구매 ] Alternative 경우 2가지일 경우
Class Design [1/7] - 고려사항 [ 설계 시 결정 요소 ] 고려사항 선택 이유 플랫폼과 언어 J2EE (java) 전사적 차원에서 필요로 하는 웹 어플을 개발, 구축 및 관리를 위해 필요한 솔루션을 제공하는 플랫폼 구현기술 EJB 3.0 대량의 분산 트랜잭션 및 보안을 지원 재사용 가능한 컴포넌트 웹 서버 Windows 2008 server 웹 어플을 개발, 적용 및 관리가 용이 뛰어난 보안 기능, 포괄적인 확장성을 제공 DBMS MySQL 5.X 모든 운영체제를 지원,대용량 데이터 처리 가능j Apach 1.3 php 5 mysql 5.x 이상 엑티비티 인텐드 Context : 리소스 공유 설정
Class Design [2/7] - 고려사항 [ 스테레오 타입 ] Stereo type Description EJB Session Bean 업무 로직을 구현하며 인스턴스 풀 사용 클라이언트의 상태를 유지 EJB Remote 클라이언트에서 호출할 Business Method를 선언해 놓은 인터페이스 servlet 서버에서 수행되는 작은 프로그램 JSP Java에서 사용하는 스크립트 방식의 언어 DAO Data Access Object로 데이터에 접속하는 객체 VO Value Object로 데이터의 값 그 자체
Class Design [3/7] - Deployment Diagram 서버3개
Class Design [4/7] - Class Diagram [수강과목도서조회] System Boundary vo Design의 클래스 다이어그램과 시퀀스 다이어그램 넣을 것!
Class Design [5/7] - Class Diagram [도서검색] System Boundary vo
Class Design [6/7] - Class Diagram [도서예약] System Boundary vo
Class Design [7/7] - Class Diagram [도서구매] System Boundary vo
Change of Requirements 1. 도서구매 : 회원/비회원과 관계 없이 구매가 가능 주소와 연락처 및 배송에 필요한 인적사항을 입력하는 번거로움이 회원가입의 번거로움보다 더 크다고 생각 -> 도서 구매는 회원만 가능하도록 설계 2. 관리자 액터 관리자의 역할이 미미하다고 판단 -> 관리자를 두지 않고 시스템이 자동으로 수행할 수 있는 방향으로 설계 Project Proposal: 도서 구매 - 회원/비회원과 관계 없이 구매가 가능 비회원의 구매 : 주소와 연락처 및 배송에 필요한 인적사항을 입력하는 번거로움이 회원가입의 번거로움보다 더 크다고 생각 -> 도서 구매는 회원만 가능하도록 설계 제안서 수정사항 1) 관리자의 역할을 명확하게 구분해 주면 좋겠다 => 관리자 역할이 미미하기 때문에 따로 관리자를 두지 않고 시스템이 자동으로 수행할 수 있도록 하게 하였다. 2) client가 너무 많다 => 관리자 client를 없앴다. 3) 서점 DB와 서점 client를 합쳐도 될 것 같다 => 서점 client역할을 명확히 설정하였기 때문에 서점 DB와 서점 client 를 합치지 않았다. 4) 결제 시스템을 외부 대행으로 한다면 책 배송기능은 시스템 기능으로 들어가지 않는 것 같다 => 결제 시스템을 외부 대행으로 하여 결재까지만 시스템이 관리하고 배송은 관여하지 않기로 하였다.
Summary
Q&A 감사합니다.