DB구현-데이터 모델링과 사용자 요구사항 분석

조정우·2022년 5월 6일
0

DB구현

목록 보기
4/16
post-thumbnail

2022.05.06
국비지원교육 DB구현 인터넷강의 4강

데이터베이스 모델링

데이터베이스 모델링 과정

1.애플리케이션 프로그램 개발 과정
-애플리케이션 개발 관점
개발 목표 : 소프트웨어 개발이 체계적이고 공학적인 방법으로 이루어져 추정된 비용과 기간에 사용자가 원하는 품질 높은 소프트웨어 개발
-소프트웨어 개발 전 과정에 걸쳐 필요한 이론, 개념 및 기술 분석
-소프트웨어의 개발, 운용, 유지보수 및 폐기에 대한 체계적인 접근 방법 제시
-데이터베이스 개발 관점
개발 목표 : 시스템의 대상이 되는 업무를 분석하여 정보시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원할 수 있도록 필요한 데이터를 저장 및 운용할 수 있는 구조 개발
-실세계의 데이터를 일정한 형식에 맞추어 추상화하여 모호함을 제거하고 정확하게 기술

데이터 모델링

1.데이터 모델
-데이터 모델의 정의 : 모형 또는 축소형의 의미로 업무에서 발생하는 데이터에 대한
다양한 현상에 대해 일정한 표기법의 의해 표현해 놓은 모형
-커뮤니케이션의 효율성을 극대화한 진보적인 표현방법
-데이터 모델의 특징
추상화 : 실세계를 일정한 형시에 맞추어 표현
단순화 : 실세계에서 약속된 규약 또는 규칙에 의해 제한사항을 표기법이나 언어로 쉽게 이해할 수 있도록 표현
명확화 : 다수의 사용자가 애매모호함 없이 정확하게 현상을 이해할 수 있는 표현
2.데이터 모델링의 개념과 관점
-데이터 모델링의 개념 : 시스템 대상이 되는 업무를 분석하여 정보 시스템을 구축하는
설계 과정에서 업무의 내용을 데이터 모델에서 제공하는 적절한 표기법으로 표현하는 과정
-데이터 모델링의 관점
데이터 관점 : 업무와 관련된 데이터는 무엇인지, 데이터 간의 관계는 무엇인지 모델링
프로세스 관점 : 업무를 통해 어떤 일을 처리하는지 모델링
데이터와 프로세스 상관 관점 : 업무 처리를 통해 데이터가 어떻게 영향을 받는지 모델링
3.데이터 모델링의 단계
-개념적 데이터 모델링 : 개념 모델을 사용하여 개념 스키마 생성, 사용자 요구사항이 잘못 해석되는 오류를 피하기 위해 추상화 기법 사용, 실세계의 데이터들을 개념적으로 일반화시킨 데이터타입, 속성, 관계, 제약조건을 이끌어내는 과정, 카네기 멜론 대학의 peter chen이 제안한 모델로 실세계의 속성들로 이루어진 개체와 개체사이의 관계를 정형화시킨 ER모델을 사용
-논리적 데이터 모델링 : 논리 모델을 사용하여 논리 스키마를 생성, 특정 DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정, sql의 데이터 정의 언어로 기술된 논리 스키마 생성
-물리적 데이터 모델링 : 물리 스키마를 생성, 논리 스키마가 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 표현, 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덳, 접근 경로, 사용지 및 권한, 백업 및 복원 정책 등을 결정

사용자 요구사항 분석

사용자 요구사항의 이해

1.사용자 요구사항(User Requirements)
-사용자 요구사항의 필요성 : 데이터베이스 활용 초기 물리적 요소를 최소화하는 것이 주 목적 but 데이터베이스의 활용 범위가 확대됨에 데이터베이스의 효율적 운용에 초점,
데이터베이스에 대한 의존도가 높아짐에 따라 데이터베이스의 구조가 점차 복잡해지고 수명이 짧아짐에 따라 충분한 사전 분석 없이 적절한 설계가 불가능
=> 어떤 데이터가 사용되는지 뿐만 아니라 데이터가 어떻게 사용되는지 파악하는데 필요
-사용자 요구사항의 정의 : 구축하려는 시스템이 어떤 기능을 제공해야 하는지를 기록한
문서로 프로젝트 시작 전 단계에서 반드시 참조해야 하는 절대적 단계,
시스템 개발 및 운영 시 발주자가 프로젝트를 수행하는데 필요한 조건과 능력을 체계적으로 정리,
시스템 개발 분야 측면에서 어떤 과제를 수행하기 위하여 필요한 조건이나 능력을 파악하기 위한 단계,
제안자가 요구사항 번호를 붙여서 해당 요구사항에 맞춰 요구사항 명세서를 작성하고 개발자가 이를 분석하여 사용자 요구사항 정의서를 도출
-사용자 요구사항의 중요성 : 요구사항을 명확히 거치지 않고 데이터베이스 설계 및 개발을 진행
=> 결과물이 부정확하고 완성도가 저하되어 사용자의 신뢰를 얻지 못함, 해당 영역을 추후에 정정하더라도 발생하는 에러를 수정하는데 많은 부담이 됨
일방적인 요구를 수용하는 것이 아닌, 사용자와의 합의를 통해 요구사항을 도출하고 합의된 요구사항 명세서를 승인
사용자의 프로젝트의 참여도를 향상시킬 수 있으며 프로젝트 수행 과정 중 또는 수행 완료 후 발생하는 분규에 대한 책임소재를 분명히 할 수 있음
-사용자 요구사항의 유형
기능 요구사항 : 시스템이 수행해야 하는 행위를 구체화 한것
수행될 기능과 관련되어 입력과 출력 및 그들 사이의 처리과정
목표로 하는 제품의 구현을 위해 소프트웨어가 가져야 하는 기능적 속성
유스케이스 모델과 ER 모델을 통해 분석
비기능 요구사항 : 행위와 관련된 제약사항으로써 시스템이 가져야 하는 성능, 신뢰성, 편의성, 보안 및 인증체계, 시스템 특성, 설계 제약사항 등의 요구사항
아키텍처 설계 단계에서 고려
-사용자 요구사항의 범위
요구사항 프로세스 : 추출, 분석, 명세, 검증, 유지보수 단계로 수행
IEEE-Std-830에서 표준화

사용자 요구사항 명세서

1.사용자 요구사항 일람표 : 시스템 개발과정에서 사용자의 요구에 대한 기능적, 기술적 분류
및 해당하는 코드
2.사용자 요구사항 명세서 내용
-요구사항들의 분석 후 기록하는 산출물 양식
-구성 항목
• 요구사항의 기능적 종류를 기록
• 요구사항의 기능에 해당하는 코드와 ID를 부여
• 내용에 대한 이름 부여
• 기능에 대한 정의와 구체적은 기능에 대한 사용
방법, 결과물 형식 등을 기술
• 해당 요구사항과 관련된 요구사항을 기록하여
수정용이성과 추적성을 향상

사용자 요구사항 분석 과정

1.사용자 요구사항 정의서
-사용자 요구사항 정의서의 이해 : 사용자와 개발자가 협의하에 분석된 요구사항을 명확하고
정확하게 기록하는 문서
사용자 요구사항 정의서 작성 방법 : 현재 운용되고 있는 시스템의 사용자 지침서나 인터뷰 결과와 같은 요구사항 관련 문서를 토대로 기술서 개요를 작성 > 프로젝트 목적, 기능 및 비기능 요구사항, 가정과 위험 요소, 용어와 데이터 정의 및 사용자 인터페이스 식별 등을 명세화 > 사용자와 내용을 합의하고 하나의 업무 단위로서 가치를 가지고 수행될 수 있는 단위로서 업무를 도출하여 업무 내용을 기술
-사용자 요구사항 정의서의 속성
정확성 : 실제 시스템 구현에 필요한 사항인지 알 수 있도록 명확하게 서술
명확성 : 모호하지 않게 단 한기로만 해석될 수 있도록 서술
완전성 : 시스템이 구현될 때 필요하고 요구되어진 모든 것을 표현
일관성 : 요구사항들 간에 충돌이 발생하지 않도록 서술
수정용이성 : 구조와 스타일의 일관성이 유지되면서 요구사항의 변경이 용이하도록 구조화
추적성 : 각각의 요구사항들 간 관련 있는 다른 요구사항과 유기적으로 연결되도록 서술, 요구사항 변경이나 유지 보수에 매우 중요
2.사용자 요구사항 정의서 양식
-요구사항별로 유일한 ID를 부여하여 기입
-도출된 요구사항을 요약할 수 있는 명칭을 기입
-도출된 요구사항을 정보시스템 개요 및 기능 목록, 기능 요구사항, 성능 요구사항, 품질 요구사항, 인터페이스 요구사항, 데이터 요구사항, 운영 요구사항, 제약사항 中 선택하여 기재
-사용자 요구사항을 구체적이고 상세하게 기술
-요구사항이 제시된 문서에 대하여 문서번호와 문서명을 기술
-요구사항이 수행되기 위하여 필요로 하는 법적 또는 기술적인 조건을 기술
-해당 요구사항의 전체 시스템 구현 측면에서의 중요도를 기술(일반적으로 상, 중, 하 中 선택)
-요구사항의 해결방안을 구체적으로 기재
-요구사항을 구현한 후 구현에 대한 품질을 정량적 또는 정성적으로 측정할 수 있는 기준을 기술
-위의 항목에 포함되지 않으나, 고려해야 할 사항이 있으면 기술

profile
코딩관광

0개의 댓글