본문 바로가기

기타/Design pattern

소프트웨어 개발 기본 요소


1. 소프트웨어 개발이란?

- 원하는 목적을 달성하기 위해 기준이 되는 개념이나 철학(구조적, 객체지향적)을 바탕으로 특정한 과정을 거쳐 소프트웨어적인 해결책을 만들어 내는 것.

 

1.1. 구조적(Structured)

① 원하는 목적을 직접적인 기능으로 세분화 구체화

② 간단한 구조(하향식, 서브트리구조)

③ 어려운 유지, 보수

④ 하나의 기능 수정시 전체 구조를 확인

 

1.2. 객체지향적(Object Oriented)

① 객체들 간의 상호 관련이 중요

② 2단계 방식 (ⅰ.클래스 설계 ⅱ.기능수행)

③ 복잡한 네트워크 구조

④ 쉬운 유지, 보수

⑤ 객체의 재사용 가능

⑥ 클래스 상속을 통해 확장이용이

 

2. 소프트웨어 개발과정

① 요구사항 명세 - 요구사항을 조정

② 요구사항 분석 - 환경,기능,행위 등의 요구사항을 검토

③ 기본 설계 - 전체적인 아키텍쳐 구상

④ 상세 설계 - 구체적인 자료구조, 알고리즘

⑤ 구현 - 프로그램 코딩

⑥ 테스팅 - 모듈별, 통합적인 테스트

⑦ 유지보수 - 소프트웨어의 지속적인 모니터링

 

3. 설계

- 여러 가능한 방법 중 최적의 어느 하나를 선택

 

1.1. 좋은 소프트웨어 설계의 특성

- 쉬운 이해

- 수정

- 관리

- 재사용

- 테스트

- 높은 안전성

 

1.2. 좋은 소프트웨어 설계 도구

① 추상화와 구체화 - 적절한 추상화와 구체화가 필요

② 모듈화와 계층화 - 모듈간의 상호 연관 관계

③ 정보 은닉과 변경의 국지화 - 정보 은닉에 따른 소프트웨어 변경 범위의 한정

④ 방법론 및 지침

 

'기타 > Design pattern' 카테고리의 다른 글

Singleton pattern  (0) 2009.04.27
Decorator pattern  (0) 2009.04.27
Builder pattern  (0) 2009.04.27
Adapter pattern  (0) 2009.04.27
Abstract Factory pattern  (0) 2009.04.27