[정보처리기사 실기] 1. 요구사항 확인

2023. 9. 10. 19:42·IT_STUDY/정보처리기사
728x90

[1] 요구사항 확인

(1) 소프트웨어 생명주기 (SDLC)

- 폭포수 모델 : 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어감, 선형 순차적 모형 (고전적 생명주기 모형)

- 프로토타이핑 모델 : 프로토타입을 구현해, 고객의 피드백을 반영

- 나선형 모델 : 위험을 최소화하기 위해 점진적으로 개발

- 반복형 모델 : 구축 대상을 나누어 병렬적으로 개바라 후 통합하거나, 반복적으로 개발

 

(2) 소프트웨어 개발방법론

- 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합 ( 나씨 - 슈나이더만 차트 사용(도형식, 제어 논리 구조, 명확한 식별))

- 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기반을 체계화

- 객체지향 방법론(CBD) : 컴포넌트를 조립해 하나의 새로운 응용 프로그램 작성 (생산성, 확장성, 재사용)

- 애자일 방법론 : 절차보다는 사람이 중심, 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템 개발

- 제품 계열 방법론 : 특정 체품에 적응하고 싶은 공통된 기능을 정의해 개발, 임베디드에 유용

 

(3) 일정관리 모델

- 주 공정법(CPM) : 여러 작업의 수행 순서가 얽혀 읽는 프로젝트의 일정 계산 (임계 경로는 가장 오래 걸리는 경로)

- PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법, 비관치, 중간치, 낙관치의 3점 추정방식 이용

- 주 공정 연쇄법(CCPM) : 자원제약사항을 고려해 일정 작성

 

(4) 현행 시스템 파악

- 구성/기능/인터페이스 파악 -> 아키텍처 및 소프트웨어 구성 파악 -> 하드웨어 및 네트워크 구성 파악

 

(5) 소프트웨어 아키텍처

- 여러가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중 외부에 드러나는 특성, 그리고 구성요소 간의 관례를 표현하는 시스템의 구조나 구조체

 

(6) 소프트웨어 아키텍처 4+1 뷰

고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근방법- 유스케이스 뷰 : 유스케이스 또는 아키텍처 도출, 다른 뷰를 검증하는데 사용- 논리 뷰 : 시스템의 기능적인 요구사항- 프로세스 뷰 : 시스템 비기능적 요구사항- 구현 뷰 : 모듈의 구성을 보여줌- 배포 뷰 : 어떻게 배치되는가 

 

(7) 소프트웨어 아키텍처 패턴 유형

- 계층화 패턴(Layered) : 서로 마주 보는 두 개의 계층 사이에서만 상호작용- 클라이언트 - 서버 패턴 : 하나의 서버와 다수의 클라이언트- 파이프 - 필터 패턴 : 데이터 스트림을 생성하고 처리하는 시스템에서 사용- 브로커 패턴 : 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용되고, 원격 서비스 실행을 통해 상호작용이 가능

 

- MVC 패턴

  • 모델 : 핵심 기능, 데이터 보관
  • 뷰 : 사용자에게 정보 표시
  • 컨트롤러 : 사용자로부터 요청 입력 받아 처리

(8) 소프트웨어 아키텍처 비용 평가 모델 종류

  • SAAM : 변경 용이성, 기능에 집중
  • ATAM : 아키텍처 품질 속성을 만족 시키는지 판단
  • CBAM : 경제적 의사결정에 대한 요구를 충족하는지
  • ADR : 응집도 평가 모델
  • ARID : 특정 부분 품질 요소

(9) 디자인 패턴

SW설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴

  • 생성
    • Builder : 복잡한 인스턴스를 조립해 만드는 구조
    • Protype : 처음부터 일반적인 원형을 만들어 놓고, 그것을 복사한 후 필요한 부분만 수정해 사용하는 패턴
    • Factory method : 상위 클래스에서 인터페이스 정의, 하위 클래스에서 인스턴스 생성
    • Abstract factory : 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공
    • Singleton : 전역 변수 사용하지 않고 객체 하나만 생성, 그 객체는 어디서든지 참조할 수 있다.
  • 구조
    • Adapter : 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞추는 역할
    • Bridge : 기능 계층과 구현 계층을 연결, 구현부에서 추상 계층 분리
    • Composite : 객체들의 관례를 트리 구조로 구성
    • Decorator : 기존에 구현되어 있는 클래스에 필요한 기능 추가해 나감
    • Facade : 복잡한 시스템에 대한 단순한 인터페이스 제공, 시스템 구조에 대한 파악 쉽게
    • Flyweight : 메모리 절약, '클래스의 경량화' 목적
    • Proxy : 실체 객체에 대한 대리 객체
  • 행위
    • Mediator : 중간에 통제, 중재자
    • Interpreter : 언어의 다양한 해석, 구문의 해석을 맡는 클래스 각각 작성
    • Iterator : 컬렉션 구현 방법 누출 시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 방법을 제공
    • Template Method : 상위 클래스-추상, 하위 클래스-구체
    • Observer : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에 연락
    • State : 상태에 따라 다르게 처리할 수 있도록 행위 내용 변경
    • Vistor : 클래스의 메서드가 각 클래스를 돌아다니면서 특정 작업 수행
    • Command : 명령이 들어오면 그에 맞는 서브 클래스 선택되어 실행
    • Stategy : 알고리즘 군 정의, 행위를 클래스로 캡슐화해 동적으로 행위 자유롭게 변환
    • Memento :  Undo(작업취소) 기능 개발
    • Chain of Responsibility : 정적으로 어떤 기능에 대한 처리의 연결이 하드코딩 되어 있을 때, 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결한 디자인

(10) 운영체제

컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스 담당

  • 윈도즈 : 중/소규모 서버, 일반PC
  • 유닉스 : 대용량 처리, 엔터프라이즈 급 서버
  • 리눅스 : 중/대규모 서버 대상, 높은 보안성, 비용 가장 적음
  • 안드로이드 : 리눅스 위에서 구동, 자바와 코틀린으로 작성
  • IOS : 높은 보안성, 고성능

(11) 운영체제 현행 시스템 분석 고려사항

- 신뢰도, 성능, 기술 지원, 주변 기기, 구축 비용

 

(12) 미들웨어

응용 프로그램과 환경 간에 원만한 통신이 이루어질 수 있도록 제어해주는 SW

WAS : 서버 계층에서 애플리케이션이 동작할 수 있는 환경 제공, 트랜잭션 처리, 이기종 시스템 연동

 

(13) 요구공학

- 사용자가 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동

  • 도출
    • 인터뷰 : 이해 관계자와 직접 대화
    • 설문조사 : 설문지, 여론 조사
    • 브레인스토밍 : 말을 꺼내기 쉬운 분위기로 만들어 비판 없이 수용할 수 있도록 하는 회의
    • 델파이 기법 : 전문가의 경험적 지식을 통한 문제 해결 방법
    • 롤 플레잉 : 여러 사람이 각자가 맡은 역을 연기
    • 워크숍 : 단기간에 다양하고 전문적인 정보를 획득하고 공유
  • 분석
    • 청취 기술
    • 인터뷰와 질문 기술
  • 명세
    • 비정형 명세 기법
      • 자연어 기반
      • 사용자와 개발자 이해 용이
      • 명확성 및 검증 문제
    • 정형 명세 기법
      • 수학점 원리와 표기법, Z-스키마,  Petri Nets
      • 표현 간결, 명확성 및 검증 용이
      • 기법 이해 어려움
  • 확인 및 검증
    • 정형 기술 검토
      • 동료 검토 : 2~3명이 진행, 작성자가 명세서 설명하고 이해 관계자들이 설명을 들으면서 결함 발견
      • 워크스루 : 검토자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의 진행
      • 인스펙션 : 저작자 외의 다른 전문가가 또는 팀이 검사하여 오류를 찾는 공식적 검토 방법

(14) 요구사항

- 기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항 (시용자UI)

- 비기능적 요구사항 : 시스템이 수행하는 기능 이외의 사항 (백앤드)

 

 

728x90
저작자표시 (새창열림)

'IT_STUDY > 정보처리기사' 카테고리의 다른 글

[정보처리기사 실기] 6. 서버 프로그램 구현  (0) 2023.09.20
[정보처리기사 실기] 5. 인터페이스 구현  (0) 2023.09.12
[정보처리기사 실기] 4. 통합 구현  (0) 2023.09.12
[정보처리기사 실기] 3. 데이터 입출력 구현  (0) 2023.09.12
[정보처리기사 실기] 2. 화면 설계  (0) 2023.09.12
'IT_STUDY/정보처리기사' 카테고리의 다른 글
  • [정보처리기사 실기] 5. 인터페이스 구현
  • [정보처리기사 실기] 4. 통합 구현
  • [정보처리기사 실기] 3. 데이터 입출력 구현
  • [정보처리기사 실기] 2. 화면 설계
hyeminyy
hyeminyy
Full Stack Developer | consistency
  • hyeminyy
    maemingu
    hyeminyy
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • Backend (46)
        • Java (15)
        • JSP & Servlet (5)
        • EL & JSTL (3)
        • Spring (15)
        • DataBase (4)
        • 알고리즘 (4)
      • Frontend (11)
        • Next.js (5)
        • JavaScript (3)
        • Vue.js (3)
      • IT_STUDY (21)
        • 정보처리기사 (9)
        • SQLD (8)
        • 개인공부 (4)
      • Developer! (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
    • Notion-portfolio
  • 공지사항

  • 인기 글

  • 태그

    springProject
    Servlet
    SQLD
    jstl
    뷰
    정처기 필기 요약
    백앤드개발자
    Java
    springboot
    정보처리기사
    알고리즘
    NextJS
    정보처리기사 실기
    백앤드
    JSP
    sqld자격증
    el
    Next.js
    정처기 요약
    프론트엔드
    정처기
    SQL
    Spring
    개발자
    코딩테스트
    정처기 실기 요약
    MVC
    정보처리기사 실기 요약
    httpServletRequest
    정처기 실기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeminyy
[정보처리기사 실기] 1. 요구사항 확인
상단으로

티스토리툴바