Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nosql
- 프로그래머스 데브코스
- 처리량
- CPU 스케줄링
- 다단계 큐
- modebit
- 럼바우
- 스레싱
- redis
- MVVM
- 관계형 데이터베이스
- 프로젝트 계확
- 프록시패턴
- 인터넷계층
- 노출모듈패턴
- 절차형
- M/M
- 다크모드
- 4-way handshake
- 요구사항 분석
- MongoDB
- PERT/CPM
- 선언형
- 메모리
- 3-way handshake
- 링크계층
- 함수형
- 지연시간
- 페이징 교체 알고리즘
- 개발 모델
Archives
- Today
- Total
노트
요구사항 분석 본문
1. 현행 시스템 분석
1) 운영체제
개념
- 컴퓨터 시스템 자원을 효율적으로 관리하여 사용자가 편리하게 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어
- 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해줌
- 사용자와 하드웨어 간의 인터페이스를 담당
운영체제 종류: 유닉스(UNIX), 리눅스(Linux), 윈도우즈(Windows), 맥(Mac) OS, iOS, Android
2) 네트워크
개념: 노드들이 자원을 공유할 수 있게 하는 디지털 전기 통신망
프로토콜
- 데이터를 교환하기 위해 사용하는 통신 규칙
- 프로토콜의 3요소: 구문(Syntax), 의미(Semantic), 타이밍(Timing)
3) 미들웨어(Middleware)
개념: 양 쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어
종류
- RPC(Remote Procedure Cell) - 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템
- MOM(Message Oriented Middleware) - 메시지 기반의 비동기형 메시지를 전달하는 미들웨어
- ORB(Object Request Broker) - 객체지향 시스템에서 객체 및 서비스를 요청, 전송을 지원
- DB 접속 미들웨어 - 어플리케이션과 데이터베이스 서버를 연결
- TP 모니터 - 온라인 트랜잭션을 처리 및 감시하는 미들웨어
- WAS(Web Application Server) - 동적인 콘텐츠를 처리하기 위한 미들웨어
- ESB(Enterprise Service Bus) - 메시지 기반으로 느슨한 결합형태의 표준 인터페이스 통신 지원, 기업 안팎에 있는 모든 시스템 환경을 연동하는 미들웨어
2. 요구 공학
개념: 고객 요구를 체계적으로 수집, 분석, 명세화, 검증, 추적, 변경되는 요구사항을 도출, 관리하는 기법
분류
1) 참여자 관점
- 사용자 요구사항 - 사용자의 관점에서 소프트웨어에 대해 원하는 사항
- 시스템 요구사항 - 설계자의 관점에서 하드웨어나 소프트웨어가 갖춰야 하는 것들
- 소프트웨어 요구사항 - 개발자의 관점에서 소프트웨어가 갖춰야 하는 사항
2) 내용의 종류
- 기능적 요구사항 - 소프트웨어를 구성하는 기능들이 무엇인지 정의한 것
- 비기능적 요구사항 - 소프트웨어의 기능들에 대한 조건과 제약 사항. 보안, 성능, 품질, 안정성 등
요구사항 개발 프로세스
도출 | 분석 | 명세 | 확인 |
요구사항 소스 도출기법 |
요구사항 분류 개념 모델링 기술 구조 설계 및 요구사항 할당 요구사항 협상 |
시스템 정의서 시스템 요구사항 명세서 소프트웨어 요구사항 명세서 |
검토 프로토타이핑 모델 검증 인수테스트 |
1) 도출
- 소프트웨어가 해결해야 할 문제를 이해, 요구사항이 어디에 있고 어떻게 수집할 것인가를 확인
- 요구사항 도출 기법 - 이해 관례자 분석, 브레인스토밍, 인터뷰, 문서 분석 및 검토, 포커스 그룹, 인터페이스 분석, 관찰, 프로토타이핑, 요구사항 워크숍, 설문 조사
2) 분석
- 요구사항들 간에 상충되는 것을 해결
- 소프트웨어의 범위를 파악, 업무 환경과의 상호작용 파악(도메인 분석)
- 구조적 분석 도구(하향식) - DFD(Data Flow Diagram, 자료흐름도), Data Dictionary, Mini-Spec(소단위 명세서), ERD(Entity Relationship Diagram, 개체 관계도), STD(State Transition Diagram, 상태 전이도)
- 객체지향 분석 도구(상향식) - UML(Umified Modeling Language), 모델링
3) 명세
- 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성
- 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항을 작성
- 요구사항 명세 기법 - 정형 명세 기법, 비정형 명세 기법
- 정형 명세 기법: 수학, 논리학 기반. 명세 오류 및 모호성 쉽게 파악 가능, 그러나 작성 시간이 오래 걸림
- 비정형 명세 기법: 자연어, 그림 중심 기반. 사용자/개발자 간 의사전달 용이하나 내용이 모호, 완전한 검증 X
- 산출물 - 시스템 정의서, 시스템 요구사항 명세서, 소프트웨어 요구사항 명세서
4) 확인
- 분석가가 요구사항을 이해했는지 확인(Validation)
- 요구사항 문서가 일관성 있고 완전한지 검증(Verification)
- 잏 관계자들이 문서를 검토하고, 형상관리를 수행
5) 요구사항 분석 도구
1. CASE(Computer Aided Software Engineering)
- 요구사항을 자동으로 분석, 요구사항 분석 명세서를 기술하는 도구
- 소프트웨어 개발 전반에 걸쳐 적용
CASE 도구의 분류
상위 CASE | - 생명주기 전반부에 사용, 소프트웨어 계획, 요구분석, 설계 단계 지원 - 모순, 오류 검사, 자료흐름도 작성 |
하위 CASE | - 생명주기 후반부에 사용, 코드의 작성과 테스트 문서화 하는 과정 지원 - 구문 편집기, 코드 생성기 |
통합 CASE | - 소프트웨어 생명주기에 포함되는 전체 과정을 지원 |
CASE 도구의 종류
- SADT(Structured Analaysis and Design Technique) - SoftTech 사에서 개발, 시스템 정의, 요구사항 분석, 시스템 소프트웨어 설계에 이용되는 도구
- SREM(Software Requirements Engineering Methodology) - 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술할 목적으로 개발
- PSL/PSA - 미시간 대학에서 개발한 자동화 도구
- TAGS - 시스템 공학 방법 응용에 대한 자동 접근 방법
2. HIPO(Hierarchy Inut Process Output)
- 기능: 분석 및 설계 도구, 하향식 개발에 적합, 체계적인 문서관리에 효율적, 기능과 자료의 의존관계를 명시
- HIPO Chart 종류: 가시적 도표(Tree 구조) - 시스템의 전체적 기능과 흐름을 보여주는 Tree 구조, 입력 처리 출력 X
- 총제적 도표 - 프로그램을 구성하는 기능을 기술, 입력 처리 출력에 대한 전반적인 정보 제공
- 세부적 도표 - 총체적 도표에 표시된 기능을 상세히 기술하는 도표
'정보처리기사 정리' 카테고리의 다른 글
2 데이터 입출력 구현 (0) | 2024.04.16 |
---|---|
소프트웨어 설계의 기본 원칙 (0) | 2024.04.15 |
요구사항 모델링 (0) | 2024.04.13 |
프로젝트 계획 (0) | 2024.04.12 |
소프트웨어 공학, 방법론 (0) | 2024.04.11 |