본문 바로가기
Data Analysis/정보처리기사

[1과목 소프트웨어 설계] 01. 요구사항 확인

by suvii 2024. 4. 17.

 전반적인 과정 : 계획 - 분석 - 설계 - 구현 - 테스트 - 유지보수 (계분설 구테유)

 

[Sec 1. 현행 시스템 분석]

요구사항 분석 프로세스 : 수집 → 분류(기능 요구사항/비기능 요구사항)  → 명세 → 검증

 

무선 인터넷 서비스의 가치사슬 : CPND (Contents, Platform, Network, Device)

유튜브하는 흥달쌤 생각 !! 우선 콘텐츠가 있어야하고, 유튜브라는 플랫폼과 영상을 올리기 위한 네트워크, 장비가 필요함.

 

플랫폼 성능 특성 분석 측정 항목 : 처리량, 응답시간, 대기시간, 반환시간, 가용성, 자원 사용률, 확장성

 

현행 시스템 분석 : 운영체제 분석, 네트워크 분석, DBMS 분석

 

 

[Sec 2. 요구사항 확인]

요구사항 개발 프로세스 : 도출 → 분석(구조적 분석 도구/객체지향 분석 도구)  → 명세(정형 명세/비정형 명세)  → 확인

 

UML(Unified Modeling Language) : 소프트웨어 시스템의 표준화된 모델링 언어

 특징 : 가시화 언어, 명세화 언어, 구축 언어, 문서화 언어

 (모델링이란 전체적인 그림을 그리는 것. 따라서 표준화된 모델링 언어는 표현하고 보여주기 위한 특징을 지님)

 구성 요소 : 사물(Things), 관계(Relationship), 다이어그램(Diagram), 스테레오타입(<< >>)

  - 관계 종류
     일반화 관계(Generalization) : 한 클래스가 다른 클래스를 포함하는 상위 개념일 때의 관계, 상속 관계

      (가전제품 → 전자레인지, 전기밥솥, TV 등)

     실체화 관계(Realization) : 인터페이스를 구현받아 추상 메서드를 오버라이딩 하는 것

      (리모컨 →  TV리모컨, 에어컨 리모컨 등)

     연관 관계(Association) : 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때

      (사람 →  휴대폰)

     의존 관계(Dependency) : 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에게 영향을 끼치는 것, 일시적 연관 관계

      (초등학생 →  크레파스, 중고등학생이 되면 연필로 바뀌는 일시적 의존 관계!)

     집합 관계_ 집약 관계(Aggregation) : 전체 객체가 소멸되어도 부분 객체는 소멸되지 않음, 독립적

      (불고기 ← 간장, 다시다, 고기)

     집합 관계_ 합성 관계(Composition) : 전체 객체가 소멸되면 부분 객체도 소멸되는 관계, 의존적

      (책상 ← 책상 다리, 상판)

  - 다이어그램 종류

     구조 다이어그램(정적) : 클래스(Class), 객체(Object), 컴포넌트(Component), 배치(Deployment), 복합체 구조(Complex Structure), 패키지(Package)

     행위 다이어그램(동적) : 유스케이스(Use Case), 순차(Sequence), 커뮤니케이션(Communication), 상태(State), 활동(Activity), 상호작용(Interacting), 타이밍(Timing)

 

애자일(Agile) 방법론 : 반복적, 점진적 개발, 고객 중심, 융통성, 협력과 커뮤니케이션 강조, 자기 조직화

  - XP(eXtream Programming) : 의사소통, 피드백, 존중, 용기, 단순성

     (의사선생님, 약은 피존 용기아주세요)

  - 스크럼(Scrum) : 짧은 개발 주기 & 매일 15분간 회의

 

 

[Sec 3. 분석 모델 확인]

구조적 분석 도구(하향식, 절차 지향) : 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 상태 전이도(STD) , 개체 관계도(ERD)

 

객체지향 분석 방법론(상향식, 객체 지향)

  - 럼바우 방법(객동기) : 객체 모델링(객체 다이어그램) → 동적 모델링(상태 다이어그램) → 기능 모델링(자료 흐름도(DFD))

  - 부치 방법(미시거시부치) : 미시 + 거시

  - 제이콥슨 방법(유스케이슨) : 유스케이스

  - 코드와 요돈 방법(E와 R) : E-R 다이어그램

  - 워프-브록 방법(구분이 broken(브록큰)) : 분석과 설계 간의 구분 x

 

분석 자동화 도구

  - CASE : 소프트웨어 개발 과정을 자동화하고 지원하기 위한 도구

     상위 CASE : 분석, 설계

     하위 CASE : 구현, 테스트

  - HIPO : 하향식 소프트웨어 개발을 위한 문서화 도구

     가시적 도표 : 입력, 처리, 출력 없음

     총체적 도표 : 입력, 처리, 출력에 대한 전반적인 정보 제공

     세부적 도표 : 입력, 처리, 출력에 대한 상세한 정보 제공

 

요구사항 관리 도구 (게시판이라고 생각)