자료구조

[자료구조] 02 소프트웨어 개발

juju824 2020. 9. 16. 22:57

✔️소프트웨어 개발 주기 

 

요구사항 ==>  분석 ==>  설계  ==> 구현  ==> 검증 ==>yes면 끝, no 면 다시 요구사항으로 

 

 

📌요구사항 명세 (Requirement specification) 

프로젝트의 목표를 정의하는 명세서 제작

명세서 내용 : 목표 프로그램의 사용환경 (platform) , 주요 기능 (function) , 입출력 정보 (input/output) , 사용자 인터페이스(user interface) 등 포함

if, 요구 사항에서 누락되는 부분이 있으면 이 단계를 다시 반복해야 함

 

 

📌문제 분석 (Analysis)

추상적으로 기술된 요구사항들을 용이하도록 구체적, 적당한 크기의 세부 문제로 분할

👇 상향식

기본 단위 조합 => 중간 단위의 서브 시스템 구축 => 서브 시스템 결합, 최종 목표 시스템 구축 

👇하향식

프로젝트 최상위 목표에서 출발 => 필요한 하위 모듈 구성 => 최종적으로 모듈의 전체 hierchy 생성

 

 

📌기능 설계 (Design)

문제 분석 단계에서 생성된 각 모듈에서 필요한 객체, 연산자 정의 

객체 : 속성 정보 (property) + 연산자 (method)

ex) 학교 시스템의 객체 : 학생, 교수, 교과목 

이 객체의 생성, 속성 변경, 객체 삭제를 위한 연산자 필요

 

 

📌구현 (Implementation)

각 모듈 기능 상세화, 실행 가능한 코드로 변환 

 

 

📌검증 (Verification)

testing 방법을 이용

👇블랙박스 시험 (black box test)

입력 값으로부터 발생하는 출력 값을 보고 정확도 판단

👇화이트박스 시험 (white box test)

프로그램 내부 루틴을 포함하여 오류 검사 

 

+ document 화 하는게 굉장히 중요하다 

 

이는 소프트웨어 공학 수업에서도 배우는 중요한 단계이다