본문 바로가기
공부 및 교육/정보처리기사 실기 이론

소프트웨어 개발 방법론 - 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반(CBD) 방법론, 제품 계열 방법론, 애자일 방법론

by whooops 2023. 2. 28.
반응형

소프트웨어 개발 방법론

- 소프트웨어 개발 방법론은 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것이다.

- 소프트웨어 개발 방법론의 목적은 소프트웨어의 생산성과 품질 향상이다.

소프트웨어 개발 방법론
소프트웨어 개발 방법론

◇주요 소프트웨어 개발 방법론

  1. 구조적 방법론
  2. 정보공학 방법론
  3. 객체지향 방법론
  4. 컴포넌트 기반(CBD) 방법론
  5. 제품 계열 방법론
  6. 애자일 방법론

 

 

1. 구조적 방법론

- 구조적 방법론은 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Precess) 중심의 방법론이다.

- 1960년대까지 가장 많이 적용된 방법론

- 쉬운 이해를 돕고, 검증이 가능한 프로그램 코드를 생성하는 것이 목적이다.

- 복잡한 문제를 다루기 위해 분할과 정복(Divide and Conquer)원리를 적용한다.

▷구조적 방법론의 개발 절차

타당성 검토 → 계획 → 요구사항 → 설계 → 구현 → 시험 → 운용/유지보수

 

 

 

 

 

2. 정보공학 방법론 

- 정보공학 방법론은 정보 시스템의 개발을 위해 계획, 분석, 설게, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론이다.

- 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합하다.

 

▷정보공학 방법론의 개발 절차

정보전략 계획 수립 → 업무 영역 분석 → 업무 시스템 설계 → 업무 시스템 구축

 

 

 

 

 

3. 객체지향 방법론 

- 객체지향 방법론은 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론이다.

- 객체지향 방법론은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되었다.

- 객체지향 방법론의 구성 요소 : 객체, 클래스, 메시지

 

▷객체지향 방법론의 기본원칙

  • 캡슐화(Encapsulation) : 데이터와 데이터를 처리하는 함수를 하나로 묶는 것
  • 정보 은닉(Information Hiding) : 캡슐화에서 가장 중요한 개념으로 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것
  • 추상화(Abstraction) : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에 중점을 두어 개략화하는 것
  • 상속성(Inheritance) : 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
  • 다형성(Polymorphism) : 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력

 

▷객체지향 방법론의 개발 절차

요구 분석 → 설계 → 구현 → 테스트 및 검증 → 인도

 

 

 

 

 

4. 컴포넌트 기반 (CBD; Component Based Design) 방법론

- 컴포넌트기반 방법론은 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다.

- 컴포넌트의 재사용(Reusability)이 가능하여 시간과 노력을 절감할 수 있다.

- 새로운 기능을 추가하는 것이 간단하여 확장성이 보장된다.

- 유지보수 비용을 최소화하고 생산성 및 품질을 향상시킬 수 있다.

▷컴포넌트 기반 방법론의 개발 절차

개발 준비 → 분석 → 설계 → 구현 → 테스트 → 전개 →인도

 

 

 

 

 

5. 제품 계열 방법론

- 제품 계열 방법론은 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론이다.

- 임베디드 소프트웨어를 만드는데 적합하다.

- 제품계열 방법론은 영역공학과 응용공학으로 구분된다.

  • 영역 공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
  • 응용 공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역

- 영역 공학과 응용공학의 연계를 위해 제품의 요구사항, 아키텍처, 조립 생산이 필요하다.

*임베디드 소프트웨어(Embedded Software) : 임베디드 소프트웨어란 디지털 TV, 전기밥솥, 냉장고, PDA 등 해당 제품의 특정 기능에 맞게 특화되어서 제품 자체에 포함된 소프트웨어를 말합니다.

 

 

 

 

 

ERD(Entity Relationship Diagram)- 개체/관계 다이어그램, ER다이어그램

데이터모델 데이터의 관계, 접근, 처리과정에 관한 추상화된 모형으로 데이터 모델은 데이터 구조를 결정합니다. - 데이터 모델의 종류 개념적 데이터 모델 CDM(Conceptual Data Model) 논리적 데이터

whooops.tistory.com

 

 

SQL 기본 용어 정리

SQL 기본 용어 정리 데이터 베이스 분석에 있어서 기초 프로그래밍 언어 중 하나인 SQL의 기본 용어에 대해 알아보겠습니다. SQL(Structured Query Language) SQL은 Structured Query Language의 약자로 관계형 데이

whooops.tistory.com

 

 

기능모델링 - 유스케이스(USE CASE)다이어그램, 활동(ACTIVITY) 다이어그램

기능 모델링 - 기능 모델링은 사용자의 요구사항을 분석한 뒤 개발될 시스템이 갖춰야 할 기능을 정리한 후 사용자와 함께 정리된 내용을 공유하기 위해 그림으로 표현하는 것 - 사용자가 요구

whooops.tistory.com

 

반응형

댓글