[CS] SDLC Model, 요구사항, 시스템 모델링, Activity Diagram

JY·2023년 9월 19일
0

CS

목록 보기
6/10
post-thumbnail

📌 소프트웨어


소프트웨어란?

  • 컴퓨터 프로그램과 그와 관련된 문서, 라이브러리 등을 포함하는 개념
  • 소프트웨어는 특정 고객 혹은 범용적 목적으로 개발될 수 있다.

소프트웨어 엔지니어링이란?

  • 초기 구상에서부터 운영과 유지 보수 과정 등 전문적인 소프트웨어 제품을 만드는데 필요한 모든 과정에 대한 공학적 규율

소프트웨어 품질 중요 요소 4가지

  • 수용성 (Acceptability) - 사용자가 이해하기 쉽고 유용해야 하며, 다른 시스템과 호환이 돼야 한다.

  • 신뢰도와 보안 (Dependability and securitiy)

  • 효율성 (Efficiency) - 불필요한 리소스 사용을 최소화, 일정한 응답속도와 성능을 제공한다.

  • 유지 보수성 (Maintainability)

📌 SDLC (Software Development Life-Cycle) Model - 소프트웨어 개발 주기


  • 폭포수 모델과 애자일 모델이 실무에 가장 많이 사용된다.

  • 구현 단계 : 요구사항 분석 -> 시스템 및 S/W 설계 -> 구현 및 유닛 테스트 -> 통합 및 테스트 -> 운영 및 유지 보수

모든 개발 주기에서 필수적으로 수행하는 활동

  • 명세 (Specofocation) - 소프트웨어가 제공해야 할 기능과 제약 등을 명세

  • 개발 (Development) - 명세에 따라 소프트웨어 개발

  • 검증 (Validation) - 명세대로 구현되었는지 검증

  • 개선 (Evolution) - 요구사항의 변경을 반영


계획 주도 모델 (Plan-driven Model)

  • 소프트웨어 개발 주기의 활동을 미리 계획하고, 이 계획에 따른 진척도를 측정하는 모델이다.

  • 폭포수 모델 (Waterfall Model)이 여기에 속한다.

  • 개발 중 변경 및 요구사항 반영이 어렵다.


애자일 모델 (Agile Model)

  • 소프트웨어 전체가 아닌 일부분에 대해서, 모든 활동을 수행한 후, 이를 반복적으로 수행하여 전체 소프트웨어를 만드는 방법론이다.

  • 임베디드 시스템이나 규모가 크고 복잡한 시스템을 만드는 경우 문제가 발생한다.

  • 계약 과정에서 명세를 확정 짓지 못하여 법적 계약서에 내용을 명시하기 어렵다.

  • 신규 소프트웨어 개발에는 적합하지만 유지 보수에는 부적절하다.

  • 계획 주도 모델과 상반되는 개념

📌 요구사항 (Requirements)


요구사항이란?

  • 시스템이 제공해야 할 서비스와 서비스가 동작 중에 지켜져야 할 제약사항

  • 육하원칙에 따라 작성 되어야 전달력 높은 문서가 된다.


요구사항의 유형

  • 사용자 요구사항

    • 서비스가 제공해야 할 기능이나, 지켜져야 할 제약사항을 문장이나 다이어그램을 통해 고차원적이고, 추상적으로 표현한 것

    • 기술적인 배경지식이 없는 최종 사용자와 발주 고객이 이해할 수 있어야 한다.


  • 시스템 요구사항 (개발자가 주로 작성)

    • 서비스가 제공해야 할 기능이나, 지켜져야 할 제약사항에 대한 세부적인 명세를 구조화된 문서나 다이어그램으로 작성한 것

    • 자연어, 도표 기반 표기법 등으로 기술 가능하다.


  • 기능적 요구사항 (Functional Requirements)

    • 시스템이 제공해야 할 기능

  • 비기능적 요구사항 (Non-Functional Requirements)

    • 시스템이 전체에서 지켜져야 할 제약사항

📌 시스템 모델링 (System Modeling)


  • 시스템에 대해 동일한 인식을 갖고 사용자의 요구사항이 의도한대로 반영될 수 있도록 도움을 주기위해 수행한다.

  • UML (Unified Modeling Language)이란?

  • 소프트웨어 시스템을 모델링 하기 위한 13가지 종류의 표기법들의 집합

    대표적인 모델링 표기법 5가지

    • High-Level 모델링

      1. Activity Diagram
      2. Use case Diagram
    • Low-Level 모델링

      1. Sequence Diagram
      2. Class Diagram
      3. State Diagram

📌 Activity Diagram


  • 업무의 흐름을 행위 단위로 절차를 표현하는 다이어그램

  • 제어의 흐름도 표기할 수 있다.

  • 시작점 (Start Point) : 검정색 점으로 표현

  • 액티비티 또는 액션 : 수행되어야 할 동작
  • 결정 : 조건에 따라 다음 수행될 액티비티 결정
  • 결합/분할 노드 : 동시에 수행되어야 할 동작들을 분할하거나, 병합
  • 액션 플로우 : 액션들 간의 연결을 통해 업무의 흐름을 표현
  • 종료점 : 업무 흐름의 종료

0개의 댓글