본문 바로가기
Project/Stack Over Flow-Clone

프로젝트 개발 단계

by 2D3 2022. 10. 22.
728x90

Contents

     

    프로젝트 개발 단계

     

    순서

    분석 -> 설계 -> 구현 -> 시험

    1. 분석
       1-1. 사용자 요구사항 정의서
    
    2. 설계
       2-1. 화면 정의서  
       2-2. 테이블 명세서
    
    3. 구현
       3-1. API 명세서

     


     

    SRS

    소프트웨어가 무엇을 하며, 어떻게 작동할 것인지에 대한 예상을 나타낸 문서

     

    SRS 구성

     

    소개

    목적, 문서 규칙, 프로젝트 범위, 참조 등

     

    전체 설명

    제품 조망, 기능, 사용자 계층과 특징, 운영 환경, 설계 및 구현의 제약 사항, 사용자 문서 등

     

    시스템 특징

    기능에 대한 설명, 자극/응답 순서, 기능 요구사항

     

    외부 인터페이스 요구사항

    사용자 인터페이스, 하드웨어 인터페이스, 소프트웨어 인터페이스, 통신 인터페이스

     

    그 외 요구사항

    성능, 안전, 보안, 소프트웨어 품질 등

     


     

    사용자 요구사항 정의서 (분석)

     

    작성목적

    시스템의 요구사항을 도출하여 발주자와 합의하고, 수행될 수 있는 업무를 도출하여 업무 내용을 기술한다.

     

    작성방법

    표를 이용하여 해당 항목에 기술한다.

    기능과 비기능 요구사항을 나누어 쉽고 구체적인 언어표현을 지향한다.

     

    항목설명 예시

    요구사항 ID 요구사항 명 구분 요구사항 설명 중요도 비고
    SS_RF0001 현금 출금 기능 사용자의 계좌에서 입력받은 금액만큼 차감하여 현금으로 전환시킨다.
    이후 현금출금 한다.
    CD/ATM 자동화 기기의 공동 인터페이스(출금)
    SS_RQ0001 권한 변경 용이성 부기능 시스템 관리자가 조직 변경에 따른 권한 변경이 있을 경우, 이를 1분 이내에 적용할 수 있어야 한다. -
    • 구분: 기능 / 성능 / 품질 / 인터페이스 / 데이터 / 운영 / 제약사항

     


     

    화면 정의서 (설계)

     

    작성 목적

    시스템이 제공하는 사용자 인터페이스의 전체 구조와 메뉴 형식, 화면 목록과 화면의 상세 설계 내역을 기술

     

    작성 방법

    전체 시스템에 대한 사용자 인터페이스의 구조를 사용자에게 제공하는 메뉴 형식으로 기술하고, 화면 및 출력으로 구분하여 목록을 작성하며, 화면의 상세 설계 내용을 화면별로 기술한다.

     

    항목 설명 예시

    • 화면 유형: 입력, 출력
    • 유효성 체크: 기능이 동작하는 동안 화면 내에서 필수적으로 사용되어야 하는 데이터에 대한 유효성 체크

     

    테이블 명세서 (설계)

     

    작성 목적

    최종적으로 설계된 테이블과 인덱스를 DB 공간에 맵핑시키고 저장공간 등의 물리 모델을 기술

     

    작성 방법

    부서에서 운영하는 DB 목록을 작성하고, 물리적 상세 내용을 기술

     

    항목 설명 예시

    • NOT NULL : 필수항목 여부
    • PK (Primary Key) : 주키 여부
    • FK (Foreign Key) : 외래키
    • INX (Index) : 인덱스

     


     

    API 명세서 (구현)

     

    RESTFUl한 API?

    모든 리소스에 고유한 URI를 부여하고, HTTP Method를 적절히 사용하여 리소스를 제어할 수 있는 수단

     

    REST API 규칙

    규칙 X O
    /로 끝나지 않게 한다. http://test.com/users/ http://test.com/users
    _말고 -를 사용한다. http://test.com/item/spring_boot http://test.com/item/spring-boot
    소문자를 사용한다. http://test.com/item/SPRING-BOOT http://test.com/item/spring-boot
    동사의 사용을 피한다. http://test.com/add/user http://test.com/user
    확장자를 포함시키지 않는다. http://test.com/groups/2/face.png http://test.com/groups/2/faceAccept:image/png

     

    관계 나타내기

    http://test.com/groups/1/users

    • Collection: groups, users처럼 복수로 표현되는 것들은 여러개의 리소스를 가질 수 있다.
    • Document: 1처럼 Collection에 포함된 대상 리소스는 단수형으로 표시한다.
    • /groups/1/users : Collection과 Document의 관계를 /를 통해 나타낸다. 그룹이라는 Collection 안에 ‘1’ Document를 나타내고, 해당 Document가 갖고 있는 사용자들을 나타낸다.

     

    HTTP Method

    예시 GET (SELECT) POST (INSERT) PUT (UPDATE) DELETE
    /users 사용자 전체 조회 신규 사용자 등록 실행 불가 사용자 전체 삭제
    /users/1 1사용자 조회 실행 불가 1사용자 수정 1사용자 삭제
    728x90

    댓글