[정처기]최종

오트밀·2022년 5월 5일
0

정보처리기사

목록 보기
2/2

요구사항 확인

현행시스템 파악 절차

  • 구성/ 기능/ 인터페이스 파악 → 아키텍처 및 sw 구성 파악 → 하드웨어 및 네트워크 구성 파악
  • 인터페이스 파악 : 데이터의 종류, 데이터 형식, 프로토콜, 연계 유형, 주기 등을 기술
  • 현행 아키텍처 구성도 : 기간 업무를 수행하기 위해 계층별로 사용하고 있는 기술 요소들을 최상위 수준에서 그림으로 표현
  • 현행 시스템 파악 목적은 향후 개발하고자하는 시스템의 개발 범위와 이행 방향성을 설정 및 분석에 도움을 주는 것을 목적으로 한다
  • 현행 시스템 파악 절차 중 기능 현황 작성시 고려사항 : 제공하고 있는 기능들은 주요기능과 하부기능으로 구분하여 계층형으로 작성한다.
  • 소프트웨어 구성도 : 현행 시스템 파악 절차중 소프트웨어 들의 제품명, 용도, 라이선스 적용방식, 라이선스 수를 명시하는 절차

소프트웨어 아키텍처 유형 : 계층화 패턴, 클라이언트 - 서버 패턴, 파이프 - 필터 패턴, 브로커 패턴, MVC 패턴

소프트웨어 아키텍처 4+1 뷰

설명
유스케이스 뷰유스케이스 또는 아키텍처를 도출하고 설계하여 다른 뷰를 검증하는데 도음이 되는 뷰
논리 뷰시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰
프로세스 뷰시스템의 비기능적인 속성으로서 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰
구현 뷰개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰
배포 뷰컴포넌트가 물리적인 아키텍처에 어떻게 배치되는 가를 매핑해서 보여주는 뷰

서비스 지향 아키텍처 SOA(Service Oriented Architecture) : 프로세스 수행을 지원하는 정보 시스템의 구현을 위해 가장 선진화된 소프트웨어 아키텍처로, 서비스 라고 정의되는 분할된 어플리케이션 조각들을 loosely-coupled하게 연결해 하나의 완성된 application을 구현하기 위한 아키텍처다.

요구사항 개발 프로세스

도출 → 분석 → 명세 → 확인

  • 요구사항 분류기준 : 요구사항이 기능인지 비기능인지
  • 요구사항 분석 기법 :
    요구사항 분류요구사항이 기능적 요구사항인지 비기능 요구 사항인지 확인한다
    개념 모델링문제 도메인의 개체 들과 그들의 개별관계 및 종속성을 반영한다
    상태모델, 유스케이스 다이어그램, 데이터 흐름 모델 등
    대부분 UML을 사용한다 |
    | 요구사항 할당 | 다른 구성 요소와 어떻게 상호 작용하는지 분석을 통해 추가적인 요구사항을 발견 할 수 있다. |
    | 요구사항 협상 | 요구사항을 필터링 할 수 있고 요구사항 들 간의 상충되는 문제를 해결하는 데 사용할 수 있다. |
    | 정형 분석 | 개발, 명세, 형식 검증 등을 위해 수학적 기호로 표현한 후 분석하는 과정
    형식적으로 정의된 시멘틱을 지닌 언어로 표현한다 |

요구사항 확인 기법 : 요구사항 검토( 요구사항 검증의 가장 일반적인 방법, 여러 검토자들이 에러, 잘못된 가정, 불명확성, 표준과의 차이 등을 찾아내는 작업을 수행한다 ), 프로토 타이핑, 인수 테스트, 모델 검증

요구사항 검토 시점 : 시스템 정의서, 시스템 사양서, 소프트웨어 요구 명세서를 완성한 시점에 이루어진다.

요구사항 검증 방법 : 비기능적 요구사항의 확인, 요구사항 목록 확인, 요구사항 정의서 작성 여부확인, 타 시스템 연계 및 인터페이스 요구사항 확인

프로토타이핑 : 요구사항 확인 기법 에 속함, 새로운 요구사항을 도출하기 위한 수단으로 사용, 분석가의 가정을 파악하고 잘못된 경우 유용한 피드백을 제공한다는 것이 장점

분석 자동화도구 CASE 도구

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

HIPO차트

종류
가시적 도표시스템의 전체적인 기능과 흐름을 보여주는 계층 구조도
총체적 도표프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표
세부적 도표총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

UML(Unified Modeling Language) 다이어그램 : UML 다이어그램은 통합 모델링 언어를 사용하여 시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌트 관계 등을 그린 도면이다. 사용 이유는 프로그래밍을 단순화시켜 표현하여 의사소통하기 좋고, 대규모 프로젝트 구조의 로드맵을 만들거나 개발을 위한 시스템 구축에 기본을 마련하기 때문이다.

UML 다이어그램의 종류 : 클래스, 객체, 유스케이스, 상태, 시퀀스, 활동, 통신, 컴포넌트, 배포, 복합체, 교유 개요, 타이밍, 패키지

패키지 다이어그램 : UML 다이어그램의 안에 속하는 다이어그램이다. 폴더 모양의 패키지와 점선으로 표시된 의존관계, import라는 스테레오 타입 표기를 통해 패키지 다이어그램인지 파악한다.

Untitled

Untitled

데이터 흐름도 구성요소

구성요소설명
처리기입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로 DFD에서는 원(○)으로 표시
데이터 흐름DFD의 구성요소 들 강의 주고받는 데이터 흐름을 나타내며 DFD에서는 화살표(→)로 표시
데이터 저장소데이터가 저장된 장소이고, 평행선(=)으로 표시하며, 평행선 안에서는 데이터 저장소의 이름을 넣음
단말프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내고 사각형(□)으로 표시하며, 사각형 안에는 외부 엔티티의 이름을 넣음

자료사전 : 조직에 속해 있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지 알려주기 위해 용어의 정의를 조정하고 취합하고 문서로 명확히 하기 위해 만들어짐. 자료요소, 자료 요소들의 집합, 자료의 흐름, 자료 저장소의 의미와 그들간의 관계, 관계 값 , 범위, 단위들을 구체적으로 명시한다.

자료사전 기호

기호설명
=~로 구성되어있다
+자료의 연결
( )자료 생략 가능함
{ }자료의 반복
[ ]자료의 선택
**자료의 설명, 주석

애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론, 개발 기간이 짧고 신속하며 워터폴(폭포수 모형)에 대비되는 방법론

스크럼 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론. 주요요소에는 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번 다운 차트가 있다.

번다운 차트 : 백로그 대비 시간을 그래픽적으로 표현한 차트

요구사항의 기술적 타당성 검토

성능 및 용량 적절성 → 시스템 간 상호 운용성 → it시장 성숙도 및 트랜드 부합성 → 기술적 위험 분석

| 성능 및 용량 | 요구사항을 만족시키기 위한 분석 모델에 따라 시스템을 구현할 때 요구되는 시스템의 자원을 식별한다.
과거 경험치를 바탕으로 필요시 프로젝트를 재조정 후 성능 관련 비기능 사항과 비교하여 적정성 여부를 판단한다. |
| --- | --- |
| 시스템간 상호 운용성 | 다른 목적을 가지고 있는 시스템들이 상 호 간 정보 및 서비스를 교환하면서 효과적으로 운용될 수 있는 시스템의 능력
분석모델을 이용하여 보다 구체적으로 시스템 간 상호 정보 및 서비스 교환이 가능한자 검토한다. |
| 시장 성숙도 및 트랜드 부합성 | 분석 모델이 과거의 문제를 해결하고 많이 사용되는 트랜드에 부합하는지 확인한다. |
| 기술적 위험 분석 | 분석 모델을 구현하기 위해 특정 업체 기술, 특허, 라이선스에 의존해야 하는지 확인한다. |

기술적 위험 분석

의존성특허 및 라이선스에 따른 문제, 특정 업체 기술에 의존
복잡성기술의 안정성, 시장성, 개발성을 저해하는 모든 요소
검증 여부외부 지원 불가능, 적용 기술에 대한 조직 내 무경험

분석 모델 검증

유스케이스 모델 검증 → 개념수준 분석 클래스 검증 → 분석 클래스 검증

  • 유스케이스 점검 대상 : 액터, 유스케이스, 유스케이스 명세서
  • 개념수준 분석 클래스 검증 : 개별 유스케이스 단위로 작성하지 않고 시스템 전체를 대상으로 작성하였는가?
  • 분석 클래스 검증
  • 경계(분석 클래스의 스테레오 타입 중 시스템과 외부 액터와의 상호작용을 담당하는 클래스), 엔티티, 제어,관계 (유스케이스 명세서를 바탕으로 각 클래스 사이의 관계를 정의했는지, 관계의 다중성이 정확하고 모순이 없는지) , 연산 및 속성 상세화

일정관리 모델

모델설명

| 주 공정법
CPM(Critical Path Method) | 여러 작업의 수행 순서가 얽혀있는 프로젝트의 일정을 계산하는 방법
모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드와 노드 간을 연결을 통해 공정을 계산하기 위한 액티비티 표기법
프로젝트의 시작과 끝을 나타내는 노드와 노드 간의 연결을 통해 공정을 계산하기 위한 액티비티 표기법 |
| PERT(Program Evaluation Review Technique) | 일의 순서를 계획적으로 정리하기 위한 수렵법 비관치, 중간치, 낙관치의 3점 추점 방식을 통해 일정을 관리하는 방법, 확률적인 추정치 이용 |
| 중요 연쇄 프로젝트 관리
CCPM(Critical Chain Project Management) | 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법 |

요구사항 명세 기법

주요기법설명
비정형 명세 기법사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법

사용자와 개발자의 이해가 용이
명확성 및 검증에 문제 |
| 정형 명세 기법 | 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술
Z-스키마, Petri Nets, 상태 차트 활용
표현이 간결, 명확성 및 검증이 용이
기법의 이해가 어려움 |


데이터 입출력 구현

데이터 모델링 : 데이터 관점으로 개념 모델링을 통해 개발 범위를 파악하고, 실체와 관계를 중심으로 명확하고 체계적으로 표현하여 문서화하는 기법

데이터 모델링의 목적 : 사용자, 설계자, 개발자 간의 효율적인 의사소통 수단을 제공한다, 데이터 체계 구축을 통한 고품질 소프트웨어와 유지보수 비용 감소 효과를 기대할 수 있다

데이터베이스 무결성

종류설명
개체 무결성한 엔티티에서 같은 기본 키를 가질 수 없거나, 기본 키 의 속성이 null을 허용할 수 없다
참조 무결성외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 null이어야한
속성 무결성속성의 값은 기본값, null여부, 도메인이 지정된 규칙을 준수해야함
사용자 무결성사용자의 의미적요구사항을 준수해야함
키 무결성한 릴레이션에 같은 키값을 가진 튜플들을 허용할 수 없다

DBMS 특징

특징설명
데이터 무결성부적절한 자료가 입력되어 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
데이터 일관성삽입, 갱신, 삭제, 생성 후에도 저장된 데이터가 변합없이 일정
데이터 회복성자애가 발생하였을 시 특정 상태로 복구되어야하는 성질
데이터 보안성불법적인 노출, 변경, 손실로부터 보호되어야하는 성질
데이터 효율성응답시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족 시켜야 하는 성질

데이터베이스 고립화 수준은 다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치지 않기 위해 잠금을 설정하는 정도 read uncommitted, read committed, repeatable read, serializable read

데이터 모델링 특성

용이성데이터 중심 분석을 통한 업무 흐름 파악에 용이하다
무결성데이터 무결성을 보장할 수 있다
일관성데이터 공유를 통해 중복을 제거하고 일관된 정보를 제공받을 수 있다.

모델링 프로세스 : 요구사항 분석 → 개념 → 논리→ 물리

데이터 모델링 프로세스 : 개념 데이터 모델링(개체와 개체들 간의 관계에서 E-R 다이어그램을 만드는 과정) → 논리 데이터 모델링(모든 업무 데이터를 정규화한다) → 물리 데이터 모델링(설계와 성능을 고려한 조정을 수행한다, 관계 스키마 모델의 물리적 구조를 정의하고 구현) → 데이터 베이스 구축

논리 데이터 모델링의 속성 : 개체, 속성, 관계

물리 데이터 모델 변환 순서

  1. 단위 개체(엔티티)를 테이블로 변환
  2. 속성을 칼럼으로 변환
  3. UID를 기본키로 변환
  4. 관계를 외래키로 변환
  5. 칼럼 유형과 길이를 정의
  6. 반 정규화 수행
profile
루틴을 만들자

0개의 댓글