yunyj99
라둥이
yunyj99
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (309)
    • 1. 프로그래밍 (50)
      • 1-1. Git (17)
      • 1-2. Java (13)
      • 1-2-1. Java GUI (1)
      • 오류 (12)
      • 기타 (7)
    • 2. Front-end (57)
      • 2-1. HTML (5)
      • 2-2. CSS (19)
      • 2-3. Java Script (33)
      • 2-4. React (0)
    • 3. Back-end (47)
      • 3-1. Spring MVC - 국비 (15)
      • 3-2. Spring MVC - 남궁성 (30)
      • 3-3. Spring - 김영한 (2)
    • 4. Android (1)
    • 5. DB (20)
      • 4-1. MySQL DBMS (20)
    • 6. 자료구조 & 알고리즘 (44)
      • 6-1. 자료구조 (14)
      • 6-2. 백준 (30)
    • 7. 웹 디자인 (7)
      • 7-1. UX 디자인 (7)
    • 8. 자격증 (35)
      • 8-1. 정보처리기사 (35)
    • 프로젝트 (3)
      • 프로젝트 기록 (3)
    • etc... (43)
      • 패스트캠퍼스 챌린지 (39)
      • 잡담 (4)

블로그 메뉴

  • 홈
  • 태그

최근 글

티스토리

hELLO · Designed By 정상우.
yunyj99

라둥이

쓰기
정처기 1-1. 요구사항 확인
8. 자격증/8-1. 정보처리기사

정처기 1-1. 요구사항 확인

2021. 7. 24. 02:31

수제비 정처기 강의 수강 / 교재 공부 후 기록

이미지를 누르면 링크로 연결


1. 현행 시스템 분석

 

< 플랫폼 >

- 애플리케이션을 구동시키는데 필요한 소프트웨어 환경

- 유형 : 싱글 사이드(소비자-공급자) / 투 사이드(두 그룹 중개) / 멀티 사이드(다양한 이해관계 연결)

- 성능 특성 분석 기법 : 사용자 인터뷰 / 성능 테스트 / 산출물 점검

- 성능 특성 항목 : 경과시간(Trunaround Time) / 사용률(Utilization) / 응답시간(Response Time) / 가용성(Availability)

 

 

< 운영 체제 >

- 하드웨어 / 소프트웨어 자원을 효율적으로 관리하여 공통된 기능을 제공하는 소프트웨어

- 분석 : 품질 측면-신뢰도 / 성능

         : 지원 측면-기술지원 / 주변기기 / 구축 비용

 

 

< 네트워크 분석 >

라우터 3계층 데이터 패킷을 발신지에서 목적지까지 전달하기 위해 최적의 경로를 지정하고, 이 경로를 따라 데이터 패킷을 다음 장치로 전달하는 네트워크 장비
스위치 2계층 장비로서, 동일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC주소 기반으로 빠르게 전달하는 네트워크 장비
방화벽 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호 간 영향을 차단하기 위한 보안 시스템

 

 

DBMS(Database Management System) 분석 : 가용성 / 성능 / 상호 호완성 / 기술 지원 / 구축 비용

비지니스 융합 유형 : 고객 가치 / 시장 유통 / 가치 제안 / 공급 역량 / 생산 방식

 


2. 요구사항 확인

요구공학 프로세스는 요구사항 개발 단계와 요구사항 관리 단계로 구성

개발 : 도출 - 분석 - 명세 - 확인 및 검증

관리 : 협상 - 기술적 관리 - 변경 관리 - 확인 및 검증

 

 

< 요구분석 >

- 도출된 요구사항 간의 상충을 해결하고 소프트웨어의 범위를 파악하여 외부환경과의 상호작용을 분석하는 과정

- 요구사항 분석을 통해서 비용/일정 제약 설정을 하는 단계이고, 타당성 조사를 하는 단계

- 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용 가능

- 보다 구체적인 명세를 위해 소단위 명세서의 활용 가능

 

< 요구사항 분석 단계별 주요 기법 및 산출물 >

-  분류 - 개념 모델링 - 할당 - 협상 - 정형 분석 (자료 흐름 지향 분석 / 객체 지향 분석) 

분류 요구사항이 기능, 비기능 요구사항인지 확인
개념 모델링 모델링 표기는 주로 UML을 사용
할당 다른 구성요소와의 상호작용 분석을 통해 추가적 요구사항이 가능
협상 요구사항이 서로 충돌되는 경우에 각각에 우선순위 부여
정형 분석 구문과 의미를 갖는 정형화된 언어를 사용하여 수학적 기호로 표현

 

< 요구사항 분석 기술 > 

청취 이해관계자로부터 의견을 듣는 기술
질문 이해관계자를 만나 정보를 수집하고 이야기를 나누는 기술
분석 추출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 기술
중재 이해관계자들의 상반된 요구에 대한 중재기술
관찰 사용자가 작업하는 것을 관찰하면서 사용자가 언급하지 않은 미묘한 의미를 탐지할 수 있는 기술
작성 문서 작성 기술
조직 수집된 방대한 정보를 일관성 있는 정보로 구조화하는 능력
모델 작성 기술 수집한 자료를 바탕으로 제어의 흐름, 기능 처리, 동작 행위, 정보 내용 등을 이해하기 쉽도록 모델로 작성하는 기술

 


< 데이터 흐름도(Data Flow Diagram; DFD) >

- 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림

 구성요소 :

처리기
Process
입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, 'ㅇ'으로 표시
데이터 흐름
Data Flow
구성요소들 간의 주고받는 데이터 흐름을 나타내며,' ->' 로 표시
데이터 저장소
Data Store
데이터가 저장된 장소이고, '='로 표시
단말
Terminator
프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내고, 'ㅁ' 로 표시

 

 

< 자료 사전(Data Dictionary; DD) >

- 자료 요소, 자료의 흐름, 자료 저장소의 의미와 그들 간의 관계, 관계 값, 범위, 단위들을 구체적 명시하는 사전

- 자료 사전은 조직에 속해 있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지를 알려주기 위하여, 용어의 정의를 조정하고 취합하고 문서로 명확히 하는 목적

- DFD에 나타나는 어떤 자료도 자료 사전에 정의되어 있어야 함

= 자료의 정의
+ 자료의 연결
( ) 생략 가능함을 나타냄
{ }  자료의 반복을 나타냄
[ ] 자료의 선택을 나타냄
** 자료의 설명을 나타냄

- 자료 사전 작성 원칙 : 자료 의미 기술 / 자료 구성 항목 기술 / 동의어 규정 준수 / 자료 정의 중복 제거

 


< UML >

- 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 시 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언어

- 특징 : 가시화 언어 / 구축 언어 / 명세화 언어 / 문서화 언어

- 구성요소 : 사물(Things) / 관계(Realationship) / 다이어그램(Diagram)

- 관계종류 : 연관 관계 / 집합 관계 / 포함 관계 / 일반화 관계 / 의존 관계 / 실체화 관계

 

< UML 다이어그램 >

- 구조적 다이어그램(정적 다이어그램; Structural Diagram) : 클래스(Class) / 객체(Object) / 컴포넌트(Component) / 배치(Deployment) / 복합체 구조(Composite Structure) / 패키지(Package)

- 행위적 다이어그램(동적 다이어그램; Behavioral Diagram) : 유스케이스(Usecase) / 시퀀스(Sequence) / 커뮤니케이션(Communication) / 상황(State) / 활동(Activity) / 타이밍(Timing)

*클래스 다이어그램 : 클래스 이름, 속성, 연산, 접근 제어자가 있음

*유스케이스 다이어그램 : 유스케이스, 액터, 시스템이 있음

*시퀀스 다이어그램 : 객체, 생명선, 실행, 메시지가 있음

 


< 스테레오 타입 >

- UML의 기본적 요소 이외의 새로운 요소를 만들어 내기 위한 확장 메커니즘

- 길러멧 ( << >> )기호를 사용하여 표현

 


< 애자일(Agile) >

- 즉시 피드백을 받아서 유동적으로 개발하는 방법

- 프로젝트의 요구사항은 기능 중심으로 정의

- 절차와 도구보다 개인의 소통을 중요하게 생각

- 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응가능

- 소프트웨어가 잘 실행되는 데 가치를 둔다.

- 고객과의 피드백을 중요하게 생각한다.

 

 

< XP >

- 1~3주의 반복 개발 주기

- 가치 5가지 : 용기 / 단순성 / 의사소통 / 피드백 / 존중

- 기본 원리 :

짝 프로그래밍 개발자 둘이서 짝으로 코딩하는 원리
공동 코드 소유 시스템에 있는 코드는 누구든지 언제라도 수정 가능하다는 원리
지속적인 통합 (CI) 매일 여러 번씩 소프트웨어를 통합하고 빌드해야한다는 원리
계획 세우기 고객이 요구하는 비즈니스 가치를 정의하고, 개발자가 필요한 것은 무엇이며 어떤 부분에서 지연될 수 있는지를 알려주어야 한다는 원리
작은 릴리즈 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트한다는 원리
메타포 공통적인 일의 체계와 시스템 서술서를 통해 고객과 개발자 간의 의사소통을 원활하게 한다는 원리
간단한 디자인 현재의 요구사항에 적합한 가장 단순한 시스템을 설계한다는 원리
TDD(테스트 기반 개발) 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리
리팩토링 프로그램의 기능을 바꾸지 않으면서 중복 제거, 단순화 등을 위해 시스템을 재구성
40 시간 작업 개발자가 피곤으로 인해 실수하지 않도록 일주일에 40시간 이상을 일하지 말아야 한다는 원리
고객 상주 개발자들의 질문에 즉각 대답해 줄 수 있는 고객을 프로젝트에 풀타임으로 상주시켜야 한다는 원리
코드 표준 효과적인 공동 작업을 위해서는 모든 코드에 대한 코딩 표준을 정의해야 한다는 원리

 

 

< 스크럼 > 

- 주요요소 : 백로그 / 스프린트 / 스크럼 미팅 / 스크럼 마스터

 

 

< 린 >

- 낭비 요소를 제거하여 품질을 향상시킨 방법론

- 7가지 원칙 : 낭비 제거 / 품질 내재화 / 지식 창출 / 늦은 확정 / 빠른 인도 / 사람 존중 / 전체 최적화

 


3. 분석 모델 확인

< 모델링 >

- 실세계의 물리현상을 특정한 목적에 대응하여 이용하기 쉬운 형식을 표현하는 기법

- 절차 : 요구 사항 분석 / 개념 모델링 / 논리 모델링 / 물리 모델링

 

 

< 분석 자동화 도구 >

- 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 요구사항 분석을 위한 자동화 도구(CASE)

- 표준화 적용과 문서화를 통한 보고를 통해 품질 개선이 가능

- 변경사항과 변경으로 인한 영향에 대한 추적이 쉬움

- 명세에 대한 유지보수 비용의 축소가 가능

- 그래픽을 지원

- 소프트웨어 생명주기의 전 단계를 연결

- 다양한 소프트웨어 개발 모형을 지원

- 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공

- CASE : 소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 조성

상위 CASE 계획 수립, 요구 분석, 기본 설계 단계를 다이어그램으로 표현
모순 검사 및 모델의 오류 검증
자료 흐름도 프로토타이핑 작성 지원 및 UI 설계 지원
하위 CASE 구문 중심 편집 및 정적, 동적 테스트 지원
시스템 명세서 생성 및 소스 코드 생성 지원

 


< 요구 사항 관리 도구 >

- 종류 : 헬릭스 RM / 지라 / 오르카노스 / 리큐 테스트 / 레드마인 / 테스트 링크

'8. 자격증 > 8-1. 정보처리기사' 카테고리의 다른 글

정처기 2-2. 통합 구현  (0) 2021.08.01
정처기 2-1. 데이터 입출력 구현  (0) 2021.08.01
정처기 1-4. 인터페이스 설계  (0) 2021.07.30
정처기 1-3. 애플리케이션 설계  (0) 2021.07.27
정처기 1-2. 화면 설계  (0) 2021.07.26
    '8. 자격증/8-1. 정보처리기사' 카테고리의 다른 글
    • 정처기 2-1. 데이터 입출력 구현
    • 정처기 1-4. 인터페이스 설계
    • 정처기 1-3. 애플리케이션 설계
    • 정처기 1-2. 화면 설계
    yunyj99
    yunyj99
    개발자를 목표로 하는, 새싹처럼 성장하고 싶은 사람의 학습 공간 ^v^

    티스토리툴바