개인 프로젝트 - 컴퓨터 쇼핑몰 1 - 기본 세팅 및 정보

이정우·2021년 12월 24일
2

프로젝트

목록 보기
2/3

세팅 환경 ( 버전 및 사용 툴)

저는 이클립스에서 JSP(view)와 서블릿(controller)과 DAO 등(model)을 사용해서 프로그램을 만들었습니다. DB 같은 경우에는 오라클을 사용하였지만, 나중에 CAFE 24에서 웹 호스팅을 위하여 다른 DB 버전도 만들었습니다. 서버는 톰캣을 사용하였으며 윈도우 10 환경에서 작업하였습니다. 또한 웹 페이지(view)를 제작할 때는 부트스트랩의 CSS를 적극적으로 이용해서 작업하였는데 JSP 환경에서는 작업 하는 게 불편하여 우선 vsc로 웹 페이지 부분만 따로 만들어서 JSP로 바꾼 후 작업을 진행하였습니다.

다이어그램

Use case 다이어그램

우선 액터는 크게 소비자, 판매자, 관리자로 나눴습니다. 판매자와 관리자는 소비자가 할 수 있는 모든 작업을 할 수 있습니다. 판매자는 판매자만의 기능(제품 등록 및 제품 수정)을, 관리자는 관리자만의 기능을 (회원 정보 조회 및 판매자 권한 부여) 사용할 수 있습니다.

소비자는 회원가입을 한 후에 로그인을 통해 사용자 인증을 거쳐야지만 여러 기능을 사용할 수 있도록 하였습니다. 기능에는 게시글 작성이나 상품 검색, 장바구니 관련 기능이 존재합니다. 부품 호환성 기능의 경우에는 원래 구현하고자 하였으나 시간 문제로 인해 구현하지 못했습니다.

판매자는 추가로 상품 등록 기능을 통해 상품을 등록하고 수정할 수 있습니다.

관리자는 추가로 관리자 전용 아이디로 로그인을 하여 모든 회원의 정보를 볼 수 있으며 특정 회원에게 판매자 권한을 부여할 수 있도록 하였습니다.

Sequence 다이어그램


회원 가입, 로그인 시퀀스 다이어그램에서는 소비자가 회원 가입 데이터를 입력하면 해당 데이터가 쇼핑몰을 통해 DB로 전달됩니다. 그 후 저장이 완료되고 회원 가입이 끝나도록 하였습니다.

로그인을 할 때 사용자가 로그인 정보(ID, PWD)를 입력하면 해당 정보를 DB에서 비교하여 해당 정보가 존재하면 로그인 완료 절차를 진행하여 session 값을 부여해주었습니다. 하지만 틀린 정보를 입력하면 다시 로그인을 진행하도록 하였습니다.

회원 정보 수정에서는 소비자가 수정 페이지를 클릭하면 session 값에 저장된 id 값을 db에 전달해줘서 해당하는 회원의 정보를 출력해주었습니다. 그 후 소비자가 회원 정보를 수정하고 수정이 끝나면 해당 정보를 db에 전달해줘서 새로운 정보로 UPDATE 시키도록 하였습니다.

기타 몇 가지 기능에 대한 시퀀스 다이어그램이 더 존재하지만 흐름이 중복되기에 따로 올리지는 않겠습니다.

클래스 다이어그램

클래스 다이어그램은 크게 vo 클래스에 현재 로그인 중인 회원의 정보를 세팅하고 DAO 클래스의 여러 메소드를 통해 DB에 데이터를 업데이트 해줬습니다.
그리고 여러 servlet 클래스를 통하여 JSP와 DAO 클래스를 연결해줘서 그때그때 필요한 메소드를 불러오고 정보를 JSP로 전달해줬습니다.

클래스는 크게 회원 정보를 관리하는 MEMBER클래스와 상품 정보를 관리하는 PRODUCT 클래스로 나눴습니다.

DB 다이어그램

DB는 크게 상품 관련 product 테이블과 회원 정보를 관리하는 member 테이블을 만들었습니다.
member 테이블의 id는 해당 회원의 id(로그인 시 입력하는)입니다. 나머지는 영어 그대로 이름, 성별 등이며 admin은 해당 회원의 권한입니다. 0 1 2 로 해서 소비자, 판매자, 관리자로 나눴습니다.

product 테이블의 id는 member 테이블과 조인을 할 경우 사용하고자 만들었으며 code는 상품 고유 번호입니다. productCount는 조회수이고 Type은 cpu, ram 같은 부품의 타입이며 pictureurl은 이미지를 저장할 경로입니다. 마지막으로 productinfo는 해당 상품의 설명입니다.

출처

profile
프로그래밍 공부 중!

0개의 댓글