사용한 개발 툴 : SAFEModeler, MSSQL서버2000

2009년 12월 24일

 요구명세서

MJ 주유소는 self 주유소로 고객이 직접 주유를 하는 시스템이다. 고객은 원하는 정유사의 주유기에서 주유를 할 수 있다. 고객이 주유를 할 때 날짜와 주유한 시간, 주유 가격, 결제 방법이 등록된다. 고객은 회원 가입을 할 수 있다. 회원 가입 시 이름, 연락처만 입력하면 회원 가입을 할 수 있다. 고객번호는 자동으로 등록 된다. 만약 회원인 고객은 회원번호를 입력하면 포인트를 모을 수 있다. 포인트는 주유 금액의 1%가 적립된다. 포인트에 따라 상품을 수령 할 수 있다. 100p는 티슈를 2000p는 세차 권을 10000p는 3만 원짜리 주유티켓을 준다. 상품을 수령했을 경우 포인트는 차감 된다.

MJ 주유소의 주유기 소유자들은 좋은 기름을 공급 받을 수 있도록, 각 단말기의 공급자 목록을 관리해야 한다. 공급업자는 사원번호로 식별하고, 정유사, 이름, 연락처, 차량번호, 공급량, 계약기간을 가진다.

MJ 주유소의 주유기 소유자들은 고객들이 안심하고 거래 할 수 있도록 자신의 이름과 연락처를 기록해 놓아야 한다.

ER 다이어그램

 



ER 스키마

<주유기table>

단말기번호

잔여량

소유주이름

소유주연락처

공급자 사원번호

 

<공급자 table>

사원번호

회사

이름

연락처

차량번호

공급량

계약기간

 

<고객 table>

날짜

시간

주유 가격

결제방법

단말기번호

고객번호

 

<회원고객 table>

고객번호

이름

연락처

포인트

 

< 총 포인트 table>

총 포인트

100

2000

10000


DDL 적용사례

// 고객의 번호가 디비에 있는지 검색

create function dbo.sfn_IsSamePass  

@pass1 varchar(6), @pass2 varchar(6)

)

return bit

as

begin tran

declare @err int

declare @count tinyint

declare @asccii1 tinyint

declare @asccii2 tinyint

set @isSame = 0

set @count =1

while @count <= 6

begin

set @ascii1 = ascii(substring(@pass1, @count, 1)

set @ascii2 = ascii(substring(@pass2, @count, 1)

if (@ascii1 is null) or (@ascii2 is null) or (@ascii2 <> @ascii2)

break

else

set @count = @count +1

end

if (@ascii1 is null and @ascii2 is null)

or @count > 6

set @isSame = 1

else

set @isSame = 0

return @isSame

end

go

 

//가격으로 몇 리터를 주유 했는지 알 수 있도록......... 나중에 주유기 테이블의 잔여 량에 빼준다.

 

if object_id('dbo.sfn_cost') is not null

drop function dbo.sfn_cost

go

create function dbo.sfn_cost

(@cost tinyint)

returns tinyint

begin

if @cost is null

set @cost = 0

else

set @cost = @cost / 1500

return @cost

end

Posted by 검지발가락♡

사용한 개발 툴 : ERwin, SAFEModeler
2009년 10월 21일
요구명세서 

S대학은 전기 대학원생(석사과정) 을 모집하고 있다. 더 좋은 대학원생을 모집하기 위해 지원자들을 관리할 수 있는 DBMS를 구축하기로 하였다.

▣ 지원자는 지원번호가 부여된다.

▣ 지원자는 지원 양식에 지원일자 주민등록 번호 성명(한글), 성명(영문) , 성명(한자), 성별, 주소, 본적, 전화번호, 종교, 취미, 혈액형, 윌 수입을 작성해야 한다.

▣ 지원자는 학력에 학교명, 입학 년도, 졸업 년도, 상태(중퇴, 졸업)을 작성해야한다.

▣ 지원자는 군 필 여부 난에 군번, 징집 년도, 군별코드, 병과코트, 계급코드, 체격등위, 입대일, 전역일 을 작성해야 한다.

▣ 지원자는 가족 사항에 가족과의 관계, 성명, 나이, 생년월일, 출신학교, 직업, 근무처, 직위를 작성한다.

지원자는 회사에 근무한 경력이 있으면 입사일자, 퇴사일자, 직위, 담당업무를 작성한다.

▣ 지원자는 수상한 내역이 있으면 수상내역, 수상일, 수상종류를 작성한다.

▣ 지원자는 자격증이 있을 시 원서번호, 주관 사, 자격증명을 작성하고

외국어 능력일 경우 수험번호, 응시일, 취득점수를 작성해 준다.

개념적 모델 설계


논리적 설계


 

Posted by 검지발가락♡

사용한 개발 툴 : SAFEModeler

피자가게 ER다이어그램


SAFE Modeler.zip

ER다이어그램(11.5).erd

Posted by 검지발가락♡