소프트웨어 공학 4장

Hyun·2024년 10월 18일
0

4. 요구분석

4.1. 3가지 시스템 개발 방법

  1. 구조적 방법론 (Structured Methodology)
  • 배경: 소프트웨어 개발, 분석, 설계, 구현의 순서로 작업을 진행
  • 문제점 발견: 사용자 요구사항 분석을 경시하는 소프트웨어 개발, 설계와 구현에만 치중
  • 해결책: 문제 해결을 위해 분석 단계에 초점을 맞춤
    기능을 중심으로 시스템의 하향식 명세화 수행, 기능을 추상화가 높은 쪽으로부터 상세한 쪽으로 분해, 관점마다 사용되는 도식 표현으로 문제의 복잡함을 감소
  • 특징: 명세화 대상
    분석: 처리 프로세스의 입출력 데이터 흐름
    설계: " 계층 구조
    구현: " 내부의 실행 순서
  1. 정보공학 방법론 (Information Enginerring Methodology)
  • 배경: 시세틈 구성 요소를 데이터와 프로세스. 즉, 프로세스는 조직의 변화와 함께 변경되지만 데이터 개체는 비즈니스 생명 주기 전체에서 거의 변동이 일어나지 않는다
  • 해결책: 비즈니스 차원으로서 데이터 중시하여 분석하고 설계하는 방법론
  • 특징: 정보 시스템을 효과적인 기업 경영의 일부로 보고 모든 소프트웨어와 하드웨어 도입을 기업의 이윤 향상을 위한 목표에 결부

+: 비즈니스 차원의 대규모 정보 처리 시스템 구축에 유리
-: 특정 규모 시스템에만 제한적 적용

  1. 객체지향 방법론 (Object-Oriented Methodolog)
    소프트웨어 생산 기술에 대한 관심이 프로그래밍에서 분석 및 설계로 옮겨지면서 더욱 주목 받게 됨, 소프트웨어 위기 현상을 해결할 수 있는 강력 대안
  • 특징: 프로그램을 뚜렷하게 구별되는 객체 단위에서 분할 가능: 서로 다른 프로그램에서 사용자를 위해 쓰이는 공통적 기능을 적절히 특수화하고 알맞게 변경 -> 컴포넌트 개념으로 재사용 가능하기 때문에 프로그래밍 생산성이 매우 향상
    +: 단계의 전환이 빠르고 생산성이 높다

4.2. 객체지향 방법의 표현 도구: 유스케이스 다이어그램

  1. 유스케이스 다이어그램 작성하기
    1) 후보 유스케이스 도출
    2) 후보 유스케이스 검토 - 사용하는 유스케이스만 도출 (그 안에 포함된 기능을 모두 사용해야 함), 주 기능은 유스케이스, 보조 기능은 이벤트 흐름
    3) 유스케이스 정련

  2. 유스케이스 명세서 작성하기 (7개 항목)
    1) 개요: 유스케이스가 제공하는 기능을 간단히 나타냄, 액터까지 포함
    2) 관련 액터: 누가 사용하는지 해당 액터 기술
    3) 우선 순위: 사용자 관점에서 개발자 관점에서도 정할 수 있음
    4) 선행 조건: 해당 유스케이스를 수행하기 위한 직전의 선행 조건
    5) 후행 조건: 유스케이스 수행 후 만족해야 하는 상태
    6) 이벤트 흐름*: 유스케이스 기능에 대한 액터와 시스템 간의 대화로 문장이나 순차 다이어그램을 사용해 표현 -> 설계와 테스트 단계에서도 활용

  • 기본 흐름(basic flow): 가장 일반적이고 정상적인 흐름
  • 대안 흐름(alternative flow): 기본 흐름을 제외한 나머지 발생 가능한 여러 경우의 액터와 이벤트 간 대화 내용 정리 , 예외적이거나 특수적인 상황

    7) 비기능요구사항

0개의 댓글

관련 채용 정보