728x90

소프트웨어 생명 주기

- 소프트웨어를 개발하기 위한 과정

- 소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형

- 폭포수 모형

    -> 폭포처럼 이전으로 돌아갈 없음을 의미하며 단계를 확실히 끝내고 다음 단계를 진행하는 모형

    -> 가장 오래되고 폭넓게 사용된 소프트웨어 생명 주기 모형

- 프로토타입 모형

    -> 실제 개발될 소프트웨어를 시제품(프로토타입) 만들어 최종 결과물을 예측하는 모형

- 나선형 모형

    -> 나선을 돌듯이 여러번의 과정을 돌며 개발을 완료해가는 모형

    -> 폭포수 모형과 프로토타입 모형의 장점을 합침

- 애자힐 모형

    -> 요구사항에 유연하게 대처가능한 모형으로 일정 주기를 반복하면서 개발하는 모형

    -> 애자힐 모형 : 스크럼, XP, 칸반, Lean

- 소프트웨어 공학 : 여러 방법론과 모형을 통해 소프트웨어의 품질과 생산성 향상을 위해 연구된 학문

 

스크럼

- 팀이 중심이 되어 개발의 효율성을 높이는 기법

- 팀 구성

    -> 제품 책임자 : 요구사항이 담긴 백로그를 작성하고 전체적으로 제품에 대해 이해도가 높고 책임질 있거나 결정할 위치에 있는 사람이 담당

    -> 스크럼 마스터 : 팀이 수행될 있게 가이드 역할을 담당

    -> 개발팀 : 제품 책임자와 스크럼 마스터를 제외한 모든 팀원

- 개발 프로세스 : 스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의 -> 스프린트 검토 회의 -> 스프린트 회고

- 제품 백로그 : 제품 개발에 필요한 모든요구사항을 우선 순위에 따라 나열한 목록

출처 : https://www.edureka.co/blog/agile-scrum-tutorial/

XP(eXtreme Programming)

- 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법론

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

- 개발 프로세스

- XP 주요 실천 방법 : 프로그래밍, 공동 코드 소유, 테스트 주도 개발, 전체 팀, 계속적인 통합, 리팩토링, 소규모 릴리즈

 

개발 기술 환경 파악

- 개발하고자하는 환경, 운영체제 등을 선정할 고려해야 사항

- 운영체제

    -> 컴퓨터 시스템의 자원을 관리하고 편리하고 효율적으로 사용할 있게 도와주는 소프트웨어

- DBMS

    -> 데이터베이스 관리 시스템

    -> 사용자와 데이터베이스 사이에서 사용자의 요구를 들어주고 데이터베이스를 관리하는 소프트웨어

- WAS

    -> 웹 애플리케이션 서버

    -> 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어로써 주로 데이터베이스 서버와 연동해 사용

    -> 데이터 접근, 세션 트랜잭션 관리를 라이브러리 형태로 제공

- 오픈소스

    -> 누구나 제한없이 사용할 있도록 공개되어 있는 소스코드 소프트웨어

    -> 오픈소스 사용 라이선스를 고려해야

 

요구사항 정의

- 요구사항 : 소프트웨어가 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영에 필요한 조건

- 개발 과정에서 필요한 기준과 근거를 제시

- 요구사항의 유형

    -> 기능 요구사항 : 기능이나 수행에 관련된 요구사항

    -> 비기능 요구사항 : 품질이나 제약사항과 관련된 요구사항

    -> 사용자 요구사항 : 사용자 관점에서 시스템이 제공해야 요구사항

    -> 시스템 요구사항 : 개발자 관점에서 시스템이 제공해야 요구사항

 

요구사항 개발 프로세스

- 개발 대상에 대한 요구사항을 위한 일련의 과정

- 타당성 조사 -> 도출 -> 분석 -> 명세 -> 확인

- 요구사항 도출

    -> 시스템 개발에 필요한 요구사항을 어떻게 할지 등에 대해 얘기하고 관계가 이루어지는 단계

    -> 요구사항을 도출하기 위해서 아래의 기법을 사용

        * 인터뷰, 설문, 워크샵

        * 브레인 스토밍 : 3 이상이 자유롭게 의견을 나누는 방법

        * 프로토타이핑 : 설명을 위해 단순하게 순서나 형태를 그려 설명

        * 유스케이스 : 사용자의 요구사항을 기능 단위로 표현

- 요구사항 분석

    -> 도출한 요구사항 중에 모호하거나 이해되지 않는 부분을 수정, 삭제하는 과정

- 요구사항 명세

    -> 분석된 요구사항으로 모델을 작성하고 문서를 작성

- 요구사항 확인(검증)

    -> 명세된 요구사항이 제대로 작성되었는지를 검토

    -> 이해관계자들이 실제 개발을 요구사항에 할당하기 전에 시작

 

요구사항 분석

- 개발하고자 하는 대상에 필요한 사용자의 요구사항을 이해하고 문서화하는 활동

- 위 과정을 위해 구조적 분석 기법을 사용

- 구조적 분석 기법 : 자료의 흐름과 처리를 중심으로 요구사항을 분석

- 구조적 분석 기법을 위해 아래 도구를 사용

    -> 자료 흐름도 : 자료의 흐름 과정을 도형으로 기술하는 방법, 버블 차트라고도

    -> 자료 사전 : 자료 흐름도에 있는 자료를 자세히 정의하고 기록. 데이터의 데이터, 메타 데이터라고 불림

    -> 소단위 명세서, 개체 관계도, 상태 전이도

 

요구사항 분석 CASE, HIPO

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

- 분석 CASE 종류

    -> SADT : SoftTech 사에서 개발한 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구

    -> SREM = RSL/REVS : TRW 사에서 개발한 개발한 자동화 도구

    -> PSL/PSA : 미시간 대학에서 개발

    -> TAGS : 시스템 공학 방법 응용에 대한 자동접근 방법

- HIPO

    -> 시스템의 입력, 처리, 출력의 기능을 표현한

    -> 기호, 도표를 사용하여 하향식 소프트웨어 개발을 문서화하는 도구

    -> HIPO Chart 종류 : 가시적 도표, 총체적 도표, 세부적 도표

 

실기 정리

 

2021 정보처리기사 실기 정리

본 정리 글은 시나공 정보처리기사 실기책과 2020년 기출문제 등을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 실기 수험생들의 궁금증을 100% 반영시험에 나올만한 내

1d1cblog.tistory.com

 

728x90

+ Recent posts