정보처리기사 실기 요점정리(1) - 요구사항 확인
my code archive
article thumbnail
반응형

📝요점정리

소프트웨어 생명 주기(Software Life Cycle)

  • 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것

 

폭포수 모형(Waterfall Model)

  • 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론

 

프로토타입 모형(Prototype Model, 원형 모형)

  • 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형

 

나선형 모형(Sprial Model, 점진적 모형)

  • 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
  • 보헴(Boehm)이 제안
  • 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가

 

애자일 모형(Agile Model)

  • 고객의 요구 사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
  • 스크럼(Scrum), XP(eXtreme Programming), 칸반(Kanban), Lean, 기능 중심 개발(FDD)

 

소프트웨어 공학

  • 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
  • 현대적인 프로그래밍 기술을 계속적으로 적용해야 한다.
  • 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
  • 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.

 

스크럼

  • 팀이 되어 개발의 효율성을 높이는 기법. (핵심 키워드 : 럭비공, 백 로그(Backlog))
  • 스크럼 개발 프로세스 : 스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의 -> 스프린트 검토 회의 -> 회고
구성원 역할
제품 책임자(PO) ▪️ 요구사항이 담긴 백로그(Backlog)를 작성하는 주체.
▪️ 이해 관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사를 결정할 수 있는 사람으로 선정
스크럼 마스터(SM) ▪️ 스크럼 팀이 스크럼을 잘 수행할 수 있도록 가이드 역할 수행
개발팀(DT) ▪️ 제품 책임자와 스크럼 마스터를 제외한 모든 팀원으로 제품 개발을 수행함

 

XP의 핵심 가치 5가지

  • 의사소통(Communication)
  • 단순성(Simplicity)
  • 용기(Courage)
  • 존중(Respect)
  • 피드백(Feedback)

XP 개발 프로세스

  • 릴리즈 계획 수립 -> 이터레이션 -> 승인 검사 -> 소규모 릴리즈

XP 주요 실천 방법

실천 방법 내용
Pair Programming
(짝 프로그래밍)
▪️ 다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠갖는 환경을 조성함
Collective Ownership
(공동 코드 소유)
▪️ 개발 코드에 대한 권한과 책임을 공동으로 소유함
Test-Driven Development
(테스트 주도 개발)
▪️ 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하므로 자신이 무엇을 해야할지 정확히 파악함.
▪️ 테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구(구조, 프레임워크)를 사용함
Whole Team
(전체 팀)
▪️ 개발에 참여하는 모든 구성원들은 각자 자신의 역할이 있고, 그 역할에 대한 책임을 가져야함
Continuous Integration
(계속적인 통합)
▪️ 모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리될 때마다 지속적으로 통합됨
Refactoring
(리팩토링)
▪️ 프로그램 기능의 변경 없이 시스템을 재구성함
▪️ 목적 : 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하기 위함
Small Releases
(소규모 릴리즈)
▪️ 릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있음

 

요구사항 개발 프로세스

  • 개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동
  • 도출 -> 분석 -> 명세 -> 확인

요구사항 도출

  • 시스템, 사용자, 개발자 등 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지 식별하고 이해하는 과정
  • 소프트웨어 개발 생명주기(SDLC) 동안 지속적으로 반복된다.
  • 주요 기법 : 청취와 인터뷰, 설문, 브레인 스토밍, 워크샵, 프로토타이핑, 유스케이스

요구사항 분석

  • 요구사항 중, 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정

요구사항 명세

  • 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것.

요구사항 확인

  • 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동

요구공학

  • 요구사항을 정의하고 분석 및 관리하는 프로세스를 연구하는 학문

 

요구사항 명세 기법

정형 명세 기법 비정형 명세 기법
수학적 원리 기반, 모델 기반 상태, 기능, 객체 중심
수학적 기호, 정형화된 표기법 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성
▪️ 요구사항을 정확하고 간결하게 표현할 수 있음.
▪️ 표기법이 어려워 사용자가 이해하기 어려움
▪️ 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고 해석이 달라질 수 있음.
▪️ 내용의 이해가 쉬워 의사소통이 용이함.

 

구조적 다이어그램 종류

  • 클래스 다이어그램
  • 객체 다이어그램
  • 컴포넌트 다이어그램
  • 배치 다이어그램
  • 복합체 구조 다이어그램
  • 패키지 다이어그램

행위 다이어그램 종류

  • 유스케이스 다이어그램
  • 시퀀스 다이어그램
  • 커뮤니케이션 다이어그램
  • 상태 다이어그램 (럼바우 객체지향 분석 기법에서 동적 모델링에 활용됨!!)
  • 활동 다이어그램
  • 상호작용 개요 다이어그램
  • 타이밍 다이어그램

 

COCOMO 소프트웨어 개발 유형

유형 특징
조직형
(Organic Mode)
▪️ 기관 내부에서 개발된 중, 소규모의 소프트웨어
▪️ 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용 등의 5만 라인 이하의 소프트웨어를 개발하는 유형
반분리형
(Semi-Detached)
▪️ 조직형과 내장형의 중간형 소프트웨어
▪️ 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 개발하는 유형
내장형
(Embedded Mode)
▪️ 초대형 규모의 소프트웨어
▪️ 트랜잭션 처리 시스템이나 운영체제 등의 30만 라인 이상의 소프트웨어를 개발하는 유형

 

소프트웨어 개발 방법론 테일러링 고려사항

기준 내용
내부적 기준 ▪️ 목표 환경 : 시스템의 개발 환경과 유형이 다른 경우 테일러링이 필요함
▪️ 요구사항: 프로젝트의 생명 주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 다른 경우 테일러링이 필요함
▪️ 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트 규모가 서로 다른 경우 테일러링이 필요함
▪️ 보유 기술 : 프로세스, 개발 방법론, 산출물, 구성원의 능력이 서로 다른 경우 테일러링이 필요함
외부적 기준 ▪️ 법적 제약사항 : 프로젝트별로 적용될 IT Compliance가 서로 다른 경우 테일러링이 필요함
▪️ 표준 품질 기준 : 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링이 필요함

 

📝예상문제은행 오답노트

문제 1. 소프트웨어 개발 방법론 중 프로토타입 모형에 대해 간략히 서술하시오.

정답) 개발될 소프트웨어의 견본품을 만들어 최종 결과물을 예측하는 모형

 

문제10. 요구공학의 개념을 간략히 서술하시오.

정답) 요구사항을 정의하고 분석 및 관리하는 프로세스를 연구하는 학문

 

문제 14. 자료흐름도 기본 기호

자료를 변호나시키는 시스템의 한 부분을 나타내며 처리, 기능, 변환, 버블이라고도함.

정답) 프로세스

자료의 이동이나 연관관계를 나타냄.

정답) 자료 흐름

시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄

정답) 자료 저장소

시스템과 교신하는 외부 개체로 입력 데이터가 만들어지고 출력 데이터를 받음.

정답) 단말

 

문제 16. 요구사항 분석용 CASE에 대해 간략히 서술하시오.

정답) 요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하도록 개발된 도구

 

문제 17. HIPO Chart는 시스템의 기능을 여러 개의 고유 모듈로 분할하여 이들간의 인터페이스를 계층 구조로 표현한 것이다. HIPO Chart 종류 3가지를 쓰시오.

정답) 가시적 도표, 총체적 도표, 세부적 도표

 

문제 24. 클래스 다이어그램에서 사용되는 연관 클래스의 개념을 간략히 서술하시오.

정답) 연관 관계에 있는 클래스 사이에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스

 

문제 32. 소프트웨어 재사용의 개념을 간략히 서술하시오.

정답) 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것

 

문제 37. COCOMO 모델의 3가지 프로젝트 유형

정답) 조직형(Organic Mode), 반분리형(Semi-Detached), 내장형(Embedded Mode)

 

문제 38. COCOMO 모형의 종류

정답) 기본형, 중간형, 발전형

 

문제 40. SPICE의 프로세스 수행 능력 단계 나열

정답) 불완전 - 수행 - 관리 - 확립 - 예측 - 최적화

 

문제 43. SPICE 개념을 간략히 서술하시오.

정답) 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형