본문 바로가기
정보처리기사

[정처기 실기] 소프트웨어 개발 방법론

by 공불러 2023. 9. 13.
728x90
반응형

[정처기 실기] 소프트웨어 개발 방법론

목차

    개발 방법론이란?

    소프트를 어떻게, 어떤 도구를 써서 만들것이냐?

    말 그대로 방법에 대한 이론들을 말한다.

     

    구조적 방법론

    • 하향식
    • 데이터흐름도 DFD,자료 사전 DD, 상태전이도 STD, 소단위 명세서 Minispec

    정보공학 방법론

    • 기업에서 사용하는 데이터 중심 방법론

    객체지향 방법론

    • 현실세계 개체를 속성과 메서드로 표현
    • 객체, 틀래스 관계를 식별하여 설계모델로 변환
    • 특징
      • 캡슐화 -> private (get, set)
      • 정보은닉
      • 상속 - 부모 메서드를 자식이 사용
      • 다형성 - 오버로딩, 오버라이딩 (해당 내용은 프로그램밍언어, JAVA에서 더 깊게 다룰 예정)
      • 추상화 - 디자인 패턴과 관련이 깊음

    CBD(Component Based Development) 분석

    • 재사용 가능한 컴포넌트의 개발
    • 워드프레스를 생각하면 쉬움

    소프트웨어 개발 모델

    폭포수 모델

     

    • 한번 만들면 수정하기 어려움
    • 순차적 접근
    • 경험과 성공사례많음
    • 단계별 정의 명확, 단계별 산출물이 명확

    프로토 타입

    •  시제품을 만들어서 클라이언트가 확인하고 반복하여 개발
    • 계획 -> 프로토타입 -> 평가 -> 개발 -> 인수
    • 최종적으로 훨씬 많은 시간이 들어갈 수 있음
    • 실제 제품과 혼동할 수 있음
    • 폐기에도 비용이 듬

    나선형 모델(Spiral Model)

    • 이 모델은 순서를 외우는 것이 중요
      • 계획
      • 위험분석
      • 개발
      • 사용자 평가
    • 위험을 최소하기 위한 모델

    V 모형

    • 위 그림에서 단위 테스트, 통합테스트, 시스템 테스트, 인수테스트가 중요
    • 단위 테스트는 개발자가 만듬
      • 정적 테스트 - 코드를 보면서
      • 동적 테스트 - 코드를 돌리면서
    • 통합 테스트는 두 가지로 나뉨
      • 상향
      • 하향
      • 혼합식
    • 시스템 테스트
      • 기능 테스트
      • 비기능 테스트
    • 인수 테스트
      • 알파 - 개발자, 사용자
      • 베타 - 사용자

     

    4세대 기법

    • 원시코드를 자동으로 생성
    • UML으로 생성

     

    애자일 방법론

    개념

    • 신속한 반복 작업
      • 빨리빨리 만드는 게 중요
    • 스프린트 단위로 신속하게 제작
    • 개인과 상용작용을 중요하게
    • 작동하는 소프트웨어 > 문서
    • 고객과 협업
    • 고객의 변덕에 대응하기 위한 방법
    • 특징
      • 고객의 요구사항을 지속 확인
      • 주기적인 회의
    • 종류
      • XP
        • 핵심가치 (피존용기에 담아주세요)
          • 용기 : 능동적 대처
          • 존중 : 개발자 역량
          • 의사소통
          • 피드백
          • 단순성
        • 12가지 실천사항
          • 짝프로그래밍(pair programming)
          • 계획 세우기(Planning Game)
          • tdd 테스트 기반 개발
          • 고객상주
          • 지속적인 통합
          • 코드개선
          • 작은 릴리즈 (빠른 개선 및 배포)
          • 코딩 표준
          • 공동 코드 소유
          • 간단한 디자인
          • 시스템 메타포어
          • 작업시간 준수
      • 스크럼
        • 개발주기는 30일 정도로 조정
        • 매일 15일 회의
        • 주요개념
          • 제품 백로그
          • 스프린트
          • 스프린트 계획 회의
          • 스프린트 백로그
          • 일일 스크럼 회의
          • 실행가능한 제품
          • 제품 책임자 PL
          • 스크럼 마스터 PM
      • 크리스털 - 프로젝트 규모와 영향
      • FDD(Feature-Driven Development) - 2주 마다 반복 개발, 신규 기능 단위로 개발
      • ASD - 협동
      • Lean - 도요타

    IT 서비스 관리

    SLM(Service Level Management)

    • 서비스 수준을 정량적으로 측정, 실적을 평가, 미흡한 부분 개선
    • 서비스의 품질을 높이는 일련의 관리

    SLA(Service Level Agreement)

    • 문서화 시킨 것. 서비스 수준을 명시적으로 정의한 문서

    ITSM(Information technology Service Management)

    • 서비스 수준에 맞는 서비스를 제공

    ITIL (Information technology  ifrastructure Library)

    • ITSM을 구현하는 도구

     

     

    728x90
    반응형

    댓글