2011년 6월 2일 목요일

소프트웨어 설계

PLT 15 소프트웨어 설계
정의
  • 정해진 일정과 목표를 성취하기 위해서 명세화된 요구사항을 만족시키는 방법을 결정하는 과정
  • 분석단계의 요구명세를 기초로 어떻게 시스템으로 구현할 것인가를 기술하는 과정

필요성
  • 소프트웨어의 잘못된 설계에서 발생하는 Overhead 최소화하여, 시스템 구현, 유지보수 단계에서의 관리 효용성 필요
  • 유지보수 단계에서 기하급수적으로 증가되는 변경비용을 설계단계에서 줄이기 위해

기본원리
  • 추상화 : 복잡한 문제를 이해 또는 기술시 문제의 핵심부분만 개념화
    • 기능추상화 : 함수, 메소드
    • 자료추상화 : 자료형, 클래스
    • 제어추상화 : 명령, 이벤트
  • 정보은닉 : 모듈을 사용하기 위한 최소한의 접근 정보만 외부에 표시하고, 자세한 내용과 기능은 모듈의 내부에 숨김
  • 구조화 : 분할의 원리, 복잡한 문제영역을 기능모듈 별로 세분화, 모듈관계 구조화, 세분화는 이해를 용이하게 하고 유지보수성을 향상시킨다.
  • 모듈화 : 소프트웨어 구성요소를 서브루틴, 서브시스템, 작업단위 등으로 분류, 모듈의 결합도가 낮고, 응집도가 높을수록 모듈의 독립성이 보장됨

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...