본문 바로가기

정보처리기사/필기

1과목 - 소프트웨어 설계[요구사항 분석과 분석모델 확인]

요구사항 분석과 분석모델 확인

 

[분석]

목적 : 요구사항 분석 기법은 요구사항 분석 후 산출물을 작성하기전에 모호한 부분의 요구사항인지? 명확하게 정리하기 위함

 

LG전자 프로젝트 기준으로 정리

  • 기능 요구사항
    • 배포통제시스템에서 배포실행 버튼 클릭시 Jenkins에서 특정 Job이 실행이 됨
    • 배포통제시스템 작동시 로그인하기
  • 비기능 요구사항
    • 배포통제시스템에서 로그인시 실패하면 3번정도
    • 배포실행 버튼은 특정 사람만 가능했으면, 합니다.

 

  • 개념 모델링
    • 전반저긴 시스템이 어떻게 Flow가 흘러가는지? 유스케이스 다이어그램을 주로 사용한다.
    • UML을 주로 사용한다.
      • UML 구성요소
        • 사물
        • 관계
        • 다이어그램
          • 정적(구조) 모델
            • 클래스
              • 클래스 구성 
                • 클래스명
                • 속성
                • 메소드(함수) 또는 동작(Operation)
                  • 클래스의 동작을 의미한다.
                  • 메서드를 정의한 것(동작)
                  • UML에서 동작에 대한 인터페이스를 지칭
                • 접근 제어자
              • 클래스 관계
                • 일반화(Generalization) - 상속
                • 실제화(Realization) - 실체화 관계는 한 클래스가 인터페이스를 구현하는 경우를 나타냄
                  • 구현과 역할 관계를 의미하며, 하나는 인터페이스이고, 하나는 구현부인 클래스이다.
                • 의존(Dependency) - 영향을을 줌, 클래스가 다른 클래스로 오퍼레이션한다. 즉 매개변수로 전달함
                  • 정리 : 의존성 관계는 한 클래스가 다른 클래스의 메서드를 사용하거나 매개 변수로 사용할 때 발생
                  • 풀이 : Customer 클래스는 Order 클래스에 의존합니다. 즉, Order 클래스가 변경되면 Customer 클래스에도 영향  
                  • 결론 : 영향은 타입이 바뀌거나, 매개변수의 갯수가 바뀌는 것을 말한다.
                • 연관
            • 패키지
            • 배치
            • 컴포넌트
            • 객체
          • 동적(행위) 모델
            • 유스케이스 다이어그램(User Case) - 시스템과 사용자 또는 시스템과 시스템
              • 액터 - 시스템일 수도, 사람일 수도 있음
              • 시스템 - 만들려는 어플리케이션
              • 유스케이스 - 하나의 기능이며, 추후 개발할 부분이됨
              • 관계
                • 연관 - 상호작용
                • 의존 -포함 : 사전작업이 필요한 경우
                  • 질문 게시글을 등록하려면, 로그인하기
                • 의존-확장 : 특정 조건이 필요한 경우
                  • 질문 게시글에 꼭, 첨부파일을 추가하기
                • 일반화
                  • 유사한 유스케이스나 액터를 모아서 추상화함
            • 시퀀스(순차) 다이어그램
              • 객체 사이에 메세지 교환
            • ㅁ->ㅁ->ㅁ->ㅁ 
              • 구성
                • 객체는 사각형
                • 생명선은 아래로 뻗어 나가는 쇄선
                • 실행은 생명선에 붙은 사각형으로 밑으로 뻗을 수 있음
                • 메시지는 화살표
            • 컴포넌트 다이어그램 - 시스템과 구조
      • 스테레오 타입(Strereo Type)
        • 추가 확장요소 나타낼때 사용 << interface >>
  • 요구사항 할당
    • 담당자에게 개발건 배당하기
  • 요구사항 협상
    • 적절한 타협점을 찾아서 합의
  • 정형 분석
    • 시멘틱 언어
      • 함수, 수학적인 수치로 문서화함
      • Z 정형 명세기법이 대표적인이다.

 

[확인]

 

  • 요구사항 분석 단계는 전반적으로 마지막 단계로써, 요구사항대로 만들어서 실제 구현시 문제점은 없는지? 사용자가 얘기한 부분을 잘 적용해서 만들었는지? 확인하는 단계

 

  • CASE(Computer Aided SoftWare Engineering)
    • 분석 자동화 도구
      • 강력한 그래픽 기능
      • 차트와 다이어그램
      • 리포트 생성기
      • 데이터사전
      • 분석과 검사 도구
      • 코드 생성기
      • 문서 생성기
    • 상위 CASE : 요구 분석과 설계 단계
      • 아키텍처 설계, 데이터 설계(논리적), 인터페이스 정의, 사용자 인터페이스 설계
        • 아키텍처 설계 순서
          • 설계 목표 설정 -> 시스템 타입 결정 -> 스타일 적용 및 커스터마이즈 -> 서브 시스템의 기능, 인터페이스 동작 작성 -> 아키텍처 설계 검토
    • 하위 CASE : 직접 코딩하기, 테스트, 문서화
      • 모듈 설계(기능 단위), 자료구조 설계(데이터 설계(물리적)), 알고리즘 설게

 

  • 요구사항 개발 프로세스의 순서
    • 도출 -> 분석 -> 명세 -> 확인
      • 요구사항 도출하고 옳바른 요구사항인지 분석후 명세서(UML, 시각적인) 작성(문서화) 그리고 마지막 분석 모델 확인단계