소프트웨어 개발 방법론

Woo Yong·2023년 2월 24일
0

정보처리기사 필기

목록 보기
9/11

소프트웨어 개발 방법론

  • 소프트웨어 개발 방법론은 소프트웨어 개발 생명주기에 소프트웨어 공학 원리를 적용한 것으로 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법 등을 의미하며, 시스템 개발 주기라고도한다.

  • 소프트웨어 개발 과정을 정리하고 표준화하여 프로그래머 개인이 개발 과정에서의 일관성을 유지하고 프로그래머들 간의 효과적인 헙업이 이루어질 수 있게 한다.

  • 소프트웨어 개발 방법론의 목적

    • 개발 생산성 향상
    • 품질 향상
    • 효과적인 프로젝트 관리
    • 의소소통 수단 제공

✅ 구조적 방법론 (Structured Development Methodology)

  • 구조적 방법론은 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 체계적인 방법론이다.

  • 요구사항 분석 -> 구조적 분석 -> 구조적 설계 -> 구조적 프로그래밍 단계로 구성된다.

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

  • 구조적 방법론의 종류
    • 데이터 흐름도 DFD (Data Flow Diagram)
    • 자료사전 DD (Data Dictionary)
    • 상태전이도 STD (State Transition Diagram)
    • 소단위명세 Minispec (Mini Specification)

✅ 정보공학 방법론 (Information Engineering Methodology)

  • 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론이며, 구조적 방법론의 거시적 관점으로 바라본다.

  • 정보 시스템에 공학적 기법을 적용하여 시스템을 계획, 분석, 설계, 구축하는 데이터 중심의 방법론이다.

  • 데이터베이스 설계의 표현으로는 Entitiy-Relationship Diagram 모델링 언어를 사용한다.

✅ 객체지향 방법론 (Object-oriented Engineering Methodology)

  • 객체지향 방법론은 분석, 설계, 개발 단계에 객체지향 기법을 활용하는 방법론이며, 구조적 프로그래밍 기법의 한계와 소프트웨어 개발의 위기에서 등장하였다.

  • 객체지향의 구성 요소
    • 객체(Object)
    • 클래스(Class)
    • 메시지(Message)

  • 객체지향의 기본 원칙
    • 캡슐화 (Encapsulation)
    • 정보은닉 (Information Hiding)
    • 추상화 (Abstraction)
    • 상속 (Inheritance)
    • 다형성 (Plymorphism)

  • 주로 Usecase Diagram과 Sequence Diagram이 사용된다.

✅ 컴포넌트 기반 개발 방법론 (Component Based Development)

  • 컴포넌트 기반 방법론은 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다. 즉, 재사용이 가능한 부품형태로 개발하는 방법이다.

  • 컴포넌트 기반 방법론의 절차
    • 개발준비단계 -> 분석단계 -> 구현단계 -> 테스트 및 검증단계 -> 인도단계

  • 컴포넌트 기반 개발 방법론 장점

    • 컴포넌트의 재사용이 가능하여 시간과 노력을 절감할 수 있다.
    • 기능추가가 간단하여 확장성이 보장된다.
    • 유지보수 비용을 최소화하고 생산성 및 품질을 향상시킨다.

✅ 애자일 방법론 (Agile)

  • 애자일 방법론은 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론이다.

  • 소규모 프로젝트, 고도로 숙달된 개발자, 급변하는 요구사항에 적합하다.

  • 애자일 방법론의 종류
    • XP (eXtreme Programming)
    • 스크럼 (Scrum)
    • 칸반 (Kanban)
    • 크리스탈 (Crystal)
profile
Back-End Developer

0개의 댓글