정보처리기사/[주간컴공] 필기 (완)

(주간컴공) 제1과목 소프트웨어 설계 / 요구사항 확인

web_seul 2022. 4. 21. 16:16
반응형

S1. 요구사항 확인

1. 소프트웨어 생명 주기 : 소프트웨어 개발과정을 단계별로 나눈 것

1) 폭포수 모형(Waterfall Model) : 각 단계를 한번씩만 거침(되돌릴 수없있음), 단계별 철저한 검증 필요, 메뉴얼 작성 필요

  - 타당성검토 ->계획 -> 요구분석 -> 설계 -> 구현(코딩) -> 시험(검사) -> 유지보수

  - 각 단계를 확실히 매듭지어야함

  - 2개 이상의 과정 병행 불가

  - 메뉴얼 작성 필요

  - 개발 완료후 발견된 오류 해결 불가

 

2) 프로토타입 모형(Prototype Model, 원형 모델) : 기능적 인터페이스 중심으로 견본 개발 후 최종 개발, 추후 발견될 오류 방지

  - 요구수집 -> 빠른 설계 -> 프로토타입 구축 -> 고객평가 -> 프로토타입 조정 -> 구현

  - 인터페이스 중심 개발

  - 폭포수 모형의 단점 보완

 

3) 나선형 모델(Spiral Model) : 폭포수와 프로토타입의 장점을 흡수하여 점진적 개발, 대규모 소프트웨어 개발에 용이

  - 계획 -> 분석 -> 개발 -> 평가의 반복

  - 여러번의 개발 과정을 거침

  - 점진적 개발 : 정밀함, 유지보수 불필요

  - 위험관리, 최소화가 목적

 

4) 애자일 모형(Agile Model) : 요구사항 반영 및 고객과의 의사소통 빈도를 높이는 것이 목표, 여러 개발방법을 아우르는 모델

  - 절차 -> 상호작용 / 문서 -> 소프트웨어 / 계약 -> 협업 / 계획 -> 변화에 반응

 

구분 폭포수/waterfall 애자일/Agile
새로운 요구사항 어려움 지속적
고객과 의사소통 적음 지속적
테스트 마지막 지속적
개발중심 계획과 문서 고객

 

 

2.  스크럼 기법(Scrum) :  제품책임자(PO), 스크럼마스터(SM), 개발팀(DT) 

  - 제품책임자(PO) -> 백로그(backlog) 우선순위 지정, 스토리 기록, 의사결정권자

  - 스크럼마스터(SM) -> 일일 검토회의 주관, 개발가이드

  - 개발팀 : 디자이너, 테스터 등을 포함한 개발인원

  - 프로세스

    백로그: 요구사항을 우선순위에 따라 모아놓은 목록

    계획회의 : 스프린트 일정 수립, 개발자별로 스프린트 백로그 작성

    스프린트 진행 : 할일, 진행중, 완료

    일일회의 : 스크럼 마스터 주도, 소멸차트 활용

    검토회의 : 전체인원, 주별진행, PO피드백

    회고 : 지난 일정 되돌아보기

 

3.  XP(eXtreme Programming) 기법 : 짧은 개발주기로 고객의 적극참여 유도

  - 짧고 반복적인 개발주기 + 고객의 적극적 참여 = 가시성 향상

  - 소규모 개발 프로젝트에 효과적

  - 핵심가치 : 피드백, 존중, 용기, 단순, 의사소통

  - 프로세스

    사용자 스토리 : 고객의 요구사항

    릴리즈 계획 수립 : 부분과 전체의 개발 일정 수립

    스파이크 : 기술 및 기능 확인을 위해 간단히 만드는 프로그램

    이터레이션 : 릴리즈를 좀 더 세분화 한 단위

    승인검사 : 부분 소프트웨어가 릴리즈되면 고객이 직접 평가

    소규모 릴리즈 : 릴리즈 별로 고객의 피드백 확인 가능

 

4. 시스템 파악 : 시스템 개발 범위를 명확하게 설정

구기인아소하네

  - 업무시스템(성)파악 : 기간업무(주요업무담당), 지원업무(지원업무담당) / 시스템별 기능명시

  - 시스템별 능파악 : 계층형 표시(세부기능파악)

  - 시스템 터페이스 파악 : 업무시스템 간에 주고받는 데이터의 종류 및 형식, 프로토콜 등

  - 시스템 키텍처 파악: 주요(기간)업무 시스템에서 동작하는 기술요소의 원리를 표현

  - 프트웨어 구성 파악 : 소프트웨어의 용도, 라이선스 적용방식, 라이선스 개수

  - 드웨어(서버) 구성파악 : 서버의 주요사향(제원, 스펙)과 수량, 이중화(복사본, 백업) 적용여부

  - 트워크 구성파악 : 네트워크 구성도 작성을 통해 물리적 위치, 보안 취안취약점 분석, 유지보수 등에 활용

 

5. 개발 기술환경 파악 

  1) 운영체제(Operating System) : 컴퓨터 시스템 자원관리, 사용자<->하드웨어, window, ios, android, linux.., 주변기기 지원여부 파악

  2) 데이터베이스 관리 시스템(DBMS) : 사용자<->데이터베이스, 종속성, 중복성 해결, DB에 대한 모든 권한과 책임, oracle, MS-SQL, MY-SQL, mongoDB.., 상호호환성, 이중화 파악

  3) 웹어플리케이션 서버(WAS) : 동적 콘텐츠 처리를 위한 미들웨어(서버와 클라이언트 사이에 위치하여 클라이언트 대신 복잡한 처리를 하기위함), DB서버와 연동하여 사용, Tomcat, webSphere.., 다양한 옵션 파악

용성, 능, 술지원, 용,  픈소스(라이선스의 종류, 사용자수, 기술의 지속가능성 등 정확한 파악 필요)를 고려하여 결정

 

6. 요구사항 정의/분석/확인

요구사항 : 서비스에 대한 설명 및 제약조건

주간컴공

  1) 도출 : 요구사항 수집 단계, 이해관계자간의 의사소통 중요, 인터뷰, 브레인스토밍, 프로토타이핑, 유스케이스 등

  2) 분석 : 요구사항 분석 단계, 도출된 요구사항의 타당성 조사, 내용정리(중복제거, 요구사항 통합)

  ⓐ 요구사항 분석 : 도출된 요구사항의 타당성 조사

  ⓑ 요구사항 분류 : 특정한 기준으로 분류(기능과 비기능, 우선순위, 과정과 결과)

  ⓒ 개념모델링 : 요구사항을 단순화하여 개념적으로 표현하는 일, 객체(개체)간의 관계와 종속성 분석, 다양한 관점으로 표현할 수 있음, 모델링 표기는 주로 UML 사용

  ⓓ 요구사항 할당 : 요구사항을 만족시키기위한 요소 할당

  ⓔ 요구사항 협상 : 충돌되는 요구사항 해결(서로의 요구사항이 충돌하는 경우, 필요자원이 충돌하는 경우, 기능과 비기능 요구사항이 충돌하는 경우), 우선순위가 문제 해결에 도움이 될 수 있음

  ⓕ 정형분석(마지막단계) : 구문과 의미를 갖는 언어 이용, 수학적 기호로 표현

  3) 명세 : 요구사항 문서화 단계, 승인을 위해 문서화 진행, 빠짐없이 명확하고 이해하기 쉽게 기록

  4) 확인 : 요구사항 검증단계, 명세서 검증(이해, 일관성, 누락 등), 형상관리 수행

  - 요구사항 검토 : 가장 일반적, 훑어보기, 검토자 그룹에는 고객대표를 꼭 포함

  - 프로토타이핑 : 지속적으로 프로토타입을 재작성, 장점(빠른제작, 사전 피드백, 문제점 사전 식별), 단점(프로토타입에만 집중, 과대평가, 비용부담)

  - 모델검증 : 요구사항 충족 여부 검증, 정적분석(논리적 검증, 실행x)

  - 인수테스트 : 사용자 입장에서 요구사항 체크(계획필요)

 

7. UML(Unified Modeling Language) : 원활한 의사소통을 위해 표준화된 모델링 언어

구조적 다이어그램 행위 다이어그램
종류 키워드 종류 키워드
클래스 구조 유스케이스 모델링
객체 관계 시퀀스 메시지
컴포넌트 구현, 인터페이스 커뮤니케이션 메시지+연관관계
배치 구현, 위치 상태 상태변화
복합체 구조 내부 구조 활동 로직 흐름
패키지 그룹 상호작용 개요 제어 흐름
    타이밍 시간제약

 

- UML 구성요소 : 사물(구조:요소, 그룹:묶음, 행동:행위, 주해:설명), 관계(연관(-), 의존(--), 일반화(->), 실체화(-->), 집합(◇), 포함(◆)), 다이어그램

 

반응형