1. 소프트웨어 생명주기
소프트웨어 생명 주기는 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것이다.
1) 폭포수 모형
- 각 단계를 확실히 매듭짓고 그 결과를 철저히 검토하여 승인 과정을 거친 후 다음 단계를 진행하는 개발 방법론
2) 프로토타입 모형
- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
3) 나선형 모형
- 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형
- 계획 수립 > 위험분석 > 개발 및 검증 > 고객 평가
4) 애자일 모형
- 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형
q) 시제품을 끊임없이 제작하며 사이클을 반복하는 개발 방법론, 워터폴과 대조적, 요구사항과 환결 변화에 능동적인 소프트 웨어 개발 방법론은?
5) 스크럼
-팀이 중심이 되어 개발의 효율성을 높이는 기법
-구성: 제품 책임자, 스크럼 마스터, 개발팀
6) XP기법
-요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상하는 방법
-핵심가치: 피드백, 존중, 용기, 단순성, 의사소통
6-1) XP 개발 프로세스
-릴리즈 계획 수립: 부분 혹은 전체 개발 완료 시점에 대한 일정을 수립하는 것
-이터레이션: 실제 개발 작업을 진행하는 과정으로, 보통 1~3주 정도의 기간으로 진행됨
-승인 검사: 하나의 이터레이션 안에서 부분 완료 제품이 구현되면 수행하는 테스트
-소규모 릴리즈: 요구사항에 유연하게 대응할 수 있도록 릴리즈의 규모를 축소한 것
6-2) 주요 실천 방법
-짝 프로그래밍(pair)
-공동 코드 소유(collective owership)
-테스트 주도 개발(test-drivedn development)
-전체팀(whole team)
-계속적인 통합(continuous integration)
-리팩터링(refactoring): 프로그램 기능의 변경 없이 시스템을 재구성함, 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하기 위함
-소규모 릴리즈(small release)
7) 운영체제
-컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어
-고려사항: 가용성, 성능, 기술지원, 주변기기, 구축 비용
8) DBMS(데이터베이스 관리 시스템)
-사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 DB를 관리해주는 소프트웨어이다.
-가용성, 성능, 기술지원, 구축 비용
9) WAS(웹 애플리케이션 서버)
-사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
-고려사항: 가용성, 성능, 기술지원, 구축비용
10) 오픈소스
-누구나 별다른 제한 없이 사용할 수 있도록 소스코드를 공개한 소프트웨어
-고려사항: 라이선스 종류, 사용자수, 기술의 지속 가능성
11) 요구사항
-소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건이다.
-기능 요구사항: 시스템이 무엇을 하는지 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항
-비기능 요구사항: 품질이나 제약사항과 관련된 요구사항 (시스템 장비, 성능, 보안 등)
-사용자 요구사항: 사용자 관점에서 본 시스템이 제공해야 할 요구사항
-시스템 요구사항: 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항
12) 요구사항 개발 프로세스
-개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동
-도출 > 분석 > 명세 > 확인
13) 요구사항 도출(요구사항 수집)
-시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정
-주요 기법: 청취와 인터뷰, 설문, 브레인스토밍, 워크숍, 프로토타이핑, 유스 케이스
14) 요구사항 분석
- 개발대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
-개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동
-도구: 자료 흐름도, 자료 사전
15) 요구사항 명세
-분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
16) 요구사항 확인
-요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다.
17) 요구공학
-무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문
18) 요구사항 명세 기법
구분 | 정형 명세 기법 | 비정형 명세 기법 |
기법 | 수학적 원리 기반, 모델 기반 | 상태/기능/객체 중심 |
작성 방법 | 수학적 기호, 정형화된 표기법 | 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성 |
특징 | - 요구사항을 정확하고 간결하게 표현 할 수 있다 - 요구사항에 대한 결과가 작성자에 관계없이 일관성이 있으므로 완전성 검증이 가능하다. - 표기법이 어려워 사용자가 이해하기 어렵다. |
- 자연어의 사용으로 인해 요구사항에 대한 결과가 작성자에 따라 다를 수 있어 일관성이 떨어지고 해석이 달라질 수 있다. - 내용의 이해가 쉬워 의사소통이 용이하다. |
종류 | VDM, Z, Petri-net, CSP | FSM, Decision Table, ER 모델링, State Chart(SADT) |
19) 구조적 분석 기법
- 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
- 분석기법 도구: 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도, 상태 전이도
20) 자료 흐름도(DFD:Data Flow Diagram)
-요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
21) 자료 사전(DD: Data Dictionary)
-자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
기호 | 의미 |
= | 자료의 정의: ~로 구성되어 있다 |
+ | 자료의 연결: 그리고 |
( ) | 자료의 생략: 생략 가능한 자료 |
[ ] | 자료의 선택: 또는 |
{ } | 자료의 반복 { } - 아래첨자 n = n 번이상 반복, 위첨자 n = 최대로 n번 반복 위첨자 n, 아래첨자m = m이상 n이하 반복 |
* * | 자료의설명: 주석 |
22) 요구사항 분석용 CASE(자동화 도구)
-요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하도록 개발된 도구
-SADT, SREM=RSL/REVS, PSL/PSA, TAGS
23) HIPO(Hierarchy Input Process Output)
-시스템의 분석 및 설계 또는 문서화에 사용되는 기법
-시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 것
- 가시적 도표, 총체적 도표, 세부적 도표
*시나공 1-009까지
'레나일상 > 자격증' 카테고리의 다른 글
정보처리기사 약술형, 단답형, 암기용 정리 (0) | 2021.07.09 |
---|---|
[정보처리기사 실기] 기출문제 암기 문제만 정리 (0) | 2021.04.20 |
필답 주관식 - 산업위생기사 15년 ~ 14년 (0) | 2020.04.15 |
[자격증] 산업위생관리기사란 (시험일정, 자격 등) (0) | 2020.04.14 |
산업위생관리기사 필답 17~16 (0) | 2020.04.13 |