본문 바로가기
기타/Toy Project

[소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동

by 멘토_ 2021. 4. 6.
반응형

해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학 개론' 수업에서 진행하는 프로젝트입니다.

 

프로젝트는 주어진 소프트웨어 요구사항 명세서 (SRS, Software Requirement Specification) 를 기반으로 V-model 의 각 활동을 수행하며 진행됩니다.

 

※ SRS 은 IEEE-Std-830 기반으로 작성

 

 

V 모델 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. V 모델의 소프트웨어 개발 프로세스. V 모델(V-model)은 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나로 볼 수 있다. 아래 방향으로 선형적으로

ko.wikipedia.org

 

한 학기 동안 진행하며 해당 프로젝트에서 수행한 활동 및 활동에 대한 설명은 다음과 같습니다.

 

소프트웨어 요구사항 예제

 

대중교통시스템 (PTS) - 소프트웨어 요구사항 (SRS: Software Requirement Specification)

프로젝트 설명 [소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동 해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학

ji-se.tistory.com

 

소프트웨어 요구사항 분석 (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)

 

데이터 흐름도 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

대중교통시스템 대상 소프트웨어 요구사항 분석 단계 산출물

 

대중교통시스템 (PTS) - 구조적 분석 기반의 소프트웨어 요구사항 분석 (SRA: Software Requirement Analysis

프로젝트 설명 [소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동 해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학

ji-se.tistory.com

 

소프트웨어 설계 (Software Design)

소프트웨어 설계 단계는 구조적 설계 (SD, Structured Design) 방법을 이용하여 앞서 분석한 요구사항 분석 결과물을 기반으로 SW 설계를 수행하고 수행한 내용을 기반으로 해당 활동의 산출물인 SDS (Software Design Specification) 문서를 작성합니다.

해당 프로젝트 에서의 구조적 설계 (SD)는 DFD 를 기반으로 Data Process 와 Control Process 구역을 나눠 구조도 (ST, Structured Chart) 를 정의하는 순으로 진행하였습니다.

 

※ 구조도 (ST, Structured Chart)

 

구조도 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

※ 대중교통시스템 대상 소프트웨어 설계 단계 산출물

 

대중교통시스템 (PTS) - 구조적 분석 기반의 소프트웨어 설계 (SD : Software Design)

프로젝트 설명 [소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동 해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학

ji-se.tistory.com

 

구현 (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 문서를 작성합니다.

 

※ 대중교통시스템 대상 소프트웨어 구현 & 유닛 테스팅 단계 산출물

 

대중교통시스템 (PTS) - 구현 (Software Implementation ) & 유닛 테스팅 (Software Unit Testing)

프로젝트 설명 [소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동 해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학

ji-se.tistory.com

 

SW 테스팅 (Software Requirement Testing)

SW 테스팅 단계는 프로그램 사용 메뉴얼, 소프트웨어 요구사항 명세서(SRS)를 기반으로 구현한 SW 의 테스트 케이스를 설계 및 구체화 하여 SW 테스팅을 계획하고 SW 테스팅 계획 (STP, Software Testing Plan) 문서 양식에 맞춰 STP 문서를 작성합니다.

 

SW 테스팅 계획을 기반으로 구현한 SW를 대상으로 테스팅을 수행하고 테스팅 결과를 SW 테스팅 결과 리포트 (STR, Software Testing Report) 문서 양식체 맞춰 STR 문서를 작성합니다.

 

※ 대중교통시스템 대상 소프트웨어 테스팅 단계 산출물

 

대중교통시스템 (PTS) - 소프트웨어 테스팅 (Software Requirement Testing)

프로젝트 설명 [소프트웨어 공학 개론] 구조적 분석 및 설계(SASD) 기반의 C 개발 프로젝트 설명 - 각 단계 별 활동 해당 프로젝트는 건국대학교 컴퓨터공학과 학부 2학년 2학기 - '소프트웨어 공학

ji-se.tistory.com

 

정리

프로젝트는 각 단계 별 1번 그리고 최종으로 1번 총 5번의 발표를 하며 발표를 진행할 때마다 수업 조교에게  피드백을 받고 다음 발표때 피드백을 기반으로산출물의 업데이트를 진행하게 되어 SRA 의 경우 3~4번의 업데이트를 진행하게 됩니다.

 

프로젝트의 전체 산출물은 아래에서 확인 가능

 

'Toy Project/대중교통시스템 (PTS)' 카테고리의 글 목록

대학교-대학원-현재까지 했던 내용을 정리하는 블로그!

ji-se.tistory.com

 

반응형