리그캣의 개발놀이터

소프트웨어 설계 - 설계 단계 본문

프로그래밍 기본/소프트웨어 설계

소프트웨어 설계 - 설계 단계

리그캣 2018. 1. 25. 19:37

기본구성(추상적 단계)

Specification -> Design&Implementation -> Validation -> Evolution

구체적 단계

요구사항 -> 분석 및 설계 -> 구현 -> 시험 -> 배치

반복적 개발(중요-폭포수 모델과 비교)

장점

주요 기능이나 기술적 위험이 높은 기능을 먼저 구현함으로써 프로젝트의 불확실성을 초기에 감소시킬 수 있고 실패의 위험을 줄일 수 있다. 뿐만 아니라 요구사항 변화에 효과적으로 대응할 수 있다.

Business Modeling

  • feasibility study - 타당성 조사

  • cost estimation - 경제성 조사

  • planning - 계획 판단

Requirements 요구사항

end-user 입장에서 ??

  • Functions of the system

  • Characteristics of the system

Analysis & Design

  • Analysis(분석) : 문제가 무엇인지(개발자 입장에서) vs Requirement (소비자 입장)

  • Design : how to solve the problem 설계?? 데이터베이스 테이블 what?

Implementation (설계된 것을 실행.)

  • Coding

  • Unit testing(단위 자체를 테스트)

Testing

  • Integration testing

  • System testing

Deployment

기민한(aAgile) 프로세스(중요)

문서를 최소한으로 줄이자. 개발에 더 투자. 테스트를 강조


Software Design

시스템의 설계는 처음부터 끝까지 나누는 작업.

Coupling (결합도) : 모듈간의 의존도. 결합도는 낮게

Cohesion (응집도) : 한개의 목적. 응집도는 높게.



Comments