해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학 개론' 수업에서 진행하는 프로젝트입니다.
프로젝트는 주어진 소프트웨어 요구사항 명세서 (SRS, Software Requirement Specification) 를 기반으로 V-model 의 각 활동을 수행하며 진행됩니다.
※ SRS 은 IEEE-Std-830 기반으로 작성
한 학기 동안 진행하며 해당 프로젝트에서 수행한 활동 및 활동에 대한 설명은 다음과 같습니다.
※ 소프트웨어 요구사항 예제
소프트웨어 요구사항 분석 (Software Requiremetn Analysis)
소프트웨어 요구사항 분석 단계에서는 구조적 분석 (SA, Structure Analysis) 방법을 이용하여 소프트웨어 요구사항 분석을 수행하고 수행한 내용을 기반으로 해당 활동의 최종 산출물인 소프트웨어 요구사항 분석 (SRA, Software Requirement Analysis) 문서를 작성합니다.
해당 프로젝트에서의 구조적 분석(SA)은 프로젝트 대상의 Context Diagram 과 외부 요소와의 Interface 를 정의한 후 Context 의 기능을 Top-Down 형태로 분석하여 데이터 흐름도 (DFD, Data Flow Diagram) 를 작성하고 DFD 의 Control Process 를 상태 전이 다이어그램 (STD, State Transition Diagram) 으로 정의하는 순으로 진행합니다.
※ 데이터 흐름도 (DFD, Data Flow Diagram)
※ 대중교통시스템 대상 소프트웨어 요구사항 분석 단계 산출물
소프트웨어 설계 (Software Design)
소프트웨어 설계 단계는 구조적 설계 (SD, Structured Design) 방법을 이용하여 앞서 분석한 요구사항 분석 결과물을 기반으로 SW 설계를 수행하고 수행한 내용을 기반으로 해당 활동의 산출물인 SDS (Software Design Specification) 문서를 작성합니다.
해당 프로젝트 에서의 구조적 설계 (SD)는 DFD 를 기반으로 Data Process 와 Control Process 구역을 나눠 구조도 (ST, Structured Chart) 를 정의하는 순으로 진행하였습니다.
※ 구조도 (ST, Structured Chart)
※ 대중교통시스템 대상 소프트웨어 설계 단계 산출물
구현 (Software Implementation) & 유닛 테스팅 (Software Unit Testing)
구현 & 유닛 테스팅 단계는 설계한 구조도 (ST, Structured Chart) 를 기반으로 Code 를 작성하여 실제 동작하는 SW 를 구현하고 해당 SW 를 실행시키고 사용하기 위한 프로그램 메뉴얼을 작성합니다.
해당 프로젝트에서의 실습 (구현) 정보
언어 : C Language
Development Environment : Cygwin + vi + gcc
소프트웨어 요구사항 분석 결과 (SRA), 소프트웨어 설계 결과 (SDS) 를 이용하여 구현한 SW 의 각 함수의 테스트 케이스를 설계 및 구체화 하여 SW 유닛 테스팅을 계획하고 유닛 테스팅 계획 (UTP, Unit Testing Plan) 문서 양식에 맞춰 UTP 문서를 작성합니다.
유닛 테스팅 계획을 기반으로 구현한 SW 의 각 함수의 테스팅을 수행하고 테스팅 결과를 유닛 테스팅 결과 리포트 (UTR, Unit Testing Report) 문서 양식에 맞춰 UTR 문서를 작성합니다.
※ 대중교통시스템 대상 소프트웨어 구현 & 유닛 테스팅 단계 산출물
SW 테스팅 (Software Requirement Testing)
SW 테스팅 단계는 프로그램 사용 메뉴얼, 소프트웨어 요구사항 명세서(SRS)를 기반으로 구현한 SW 의 테스트 케이스를 설계 및 구체화 하여 SW 테스팅을 계획하고 SW 테스팅 계획 (STP, Software Testing Plan) 문서 양식에 맞춰 STP 문서를 작성합니다.
SW 테스팅 계획을 기반으로 구현한 SW를 대상으로 테스팅을 수행하고 테스팅 결과를 SW 테스팅 결과 리포트 (STR, Software Testing Report) 문서 양식체 맞춰 STR 문서를 작성합니다.
※ 대중교통시스템 대상 소프트웨어 테스팅 단계 산출물
정리
프로젝트는 각 단계 별 1번 그리고 최종으로 1번 총 5번의 발표를 하며 발표를 진행할 때마다 수업 조교에게 피드백을 받고 다음 발표때 피드백을 기반으로산출물의 업데이트를 진행하게 되어 SRA 의 경우 3~4번의 업데이트를 진행하게 됩니다.
프로젝트의 전체 산출물은 아래에서 확인 가능