4강. 현행 시스템 파악 : 구기인 아(랐)쏘 하네
1단계
- 시스템 구성 파악 : 기간 업무, 지원 업무
- 시스템 기능 파악 : 주요 기능, 하부 기능, 세부 기능, 계층형
- 시스템 인터페이스 파악 : 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기
2단계
- 아키텍처 구성 파악 : 계층별 구성도
- 소프트웨어 구성 파악 : 제품명, 용도, 라이선스 적용 방식, 라이선스 수
3단계
- 하드웨어 구성 파악 : 서버의 주요 사양, 수량, 이중화 적용 여부
- 네트워크 구성 파악 : 서버의 위치, 서버간의 네트워크 연결 방식, 구성도
5강. 개발 기술 환경 파악
- 개발하고자 하는 소프트웨어 관련 운영체제(OS), 데이터베이스 관리 시스템(DBMS), 미들웨어 선정 시 고려할 사항 기술, 오픈 소스 사용 시 주의할 내용 제시
1. 운영체제(OS, Operating System)
- 운영체제는 컴퓨터 시스템 자원을 효율적으로 관리, 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어
- 사용자와 하드웨어간의 인터페이스로 동작하는 시스템 소프트웨어의 일종
- 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경 제공
- 운영체제 관련 요구사항 식별 시 고려사항 : 가용성, 성능, 기술 지원, 주변 기기, 구축 비용
2. 데이터베이스 관리 시스템(DBMS, DataBase Management System)
- 사용자와 데이터베이스 사이에서 요구에 따른 정보 생성, 데이터를 관리하는 소프트웨어
- 데이터의 종속성과 중복성 문제 해결을 위해 제안된 시스템
- 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리
- DBMS 관련 요구사항 식별 시 고려사항 : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
3. 웹 애플리케이션 서버(WAS; Web Application Server)
- 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공
- 주로 데이터베이스 서버와 연동해서 사용
- 웹 애플리케이션 서버 관련 요구사항 식별 시 고려사항 : 가용성, 성능, 기술 지원, 구축 비용
4. 오픈 소스(Open Source)
- 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드를 공개한 소프트웨어
- 오픈 소스 라이선스를 만족함
- 오픈 소스 관련 요구사항 식별 시 고려사항 : 라이선스의 종류, 사용자 수, 기술의 지속 가능성
6강. 요구사항 정의
- 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영에 필요한 제약조건
- 개발이나 유지 보수 과정에서 필요한 기준과 근거를 제공
- 개발에 참여하는 이해관계자들간의 원활한 의사소통에 도움
- 요구사항의 유형 : 기능, 비기능, 사용자, 시스템 요구사항
1. 기능 요구사항(Functional requirements)
- 시스템의 기능이나 수행과 관련된 요구사항
ex) 입력, 출력, 저장, 연산, 반드시 수행, 사용자가 원하는 기능
2. 비기능 요구사항(Non-functional requirements)
- 품질이나 제약사항과 관련된 요구사항
ex) 시스템 장비 구성, 성능, 인터페이스, 데이터 구축, 테스트, 보안, 품질, 제약, 관리, 자원 요구사항
3. 사용자 요구사항(User requirements)
- 사용자 관점에서 시스템이 제공해야 할 요구사항
- 사용자를 위한 것, 친숙한 표현, 이해하기 쉽게 작성
4. 시스템 요구사항(System requirements)
- 개발자 관점에서 시스템이 제공해야 할 요구사항
- 전문적이고 기술적인 용어로 표현, 소프트웨어 요구사항
7강. 요구사항 개발 프로세스
- 요구사항을 체계적으로 도출하고 분석하여 명세서에 정리한 후 확인 및 검증하는 일련의 활동
- 타당성 조사(Feasibility Study)가 선행되어야 함, 요구공학의 한 요소
- 도출 -> 분석 -> 명세 -> 확인
1. 요구사항 도출(Requirement Elicitation, 요구사항 수집)
- 시스템 개발에 관련된 사람들이 의견 교환을 통해 어떻게 요구사항을 수집할지 식별하고 이해하능 과정
- 개발자와 고객 사이의 관계가 형성, 이해관계자가 식별됨
- 소프트웨어 개발 생명 주기(SDLC) 동안 지속적으로 반복됨
- 주요 기법 : 청취와 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스
2. 요구사항 분석(Requirement Analysis)
- 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
- 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
- 상충되는 요구사항을 중재하는 과정
- 사용되는 대표적인 도구 : 자료 흐름도(DFD), 자료 사전(DD)
3. 요구사항 명세(Requirement Specification)
- 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것
- 기능 요구사항은 빠짐없이 기술, 비기능 요구사항은 필요한 것만 기술
- 구체적인 명세를 위해 소단위 명세어(Mini-Spec)가 사용될 수 있음
1) 정형 명세 기법
- 수학적 원리 기반, 모델 기반
- 수학적 기호, 정형화된 표기법 -> 사용자가 이해하기 어려움
- 정확, 간결, 결과의 일관성 -> 완전성 검증 가능
2) 비정형 명세 기법
- 상태/기능/객체 중심
- 자연어 기반, 다이어그램으로 작성 -> 이해 쉬움, 의사소통 용이
- 결과가 일관적이지 않음 -> 해석 달라짐
4. 요구사항 확인(Requirement Validation, 요구사항 검증)
- 요구사항 명세서가 정확하고 완전하게 작성되었는지 검토하는 활동
- 이해관계자들이 검토해야 함
- 요구사항 관리 도구를 이용하여 정의 문서들에 대해 형상 관리(SCM)를 수행함
5. 요구공학(Requirements Engineering)
- 요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문
- 요구사항 변경의 원인과 처리 방법을 이해하고 관리 프로세스의 품질을 개선하여 소프트웨어 프로젝트 실패를 최소화하하는 것이 목표
8강. 요구사항 분석(Requirement Analysis)
- 소프트웨어 개발의 실제적인 첫 단계, 요구사항을 이해하고 문서화하는 활동
- 요구의 타당성을 조사, 비용과 일정에 대한 제약 설정
- 요구를 정확하게 추출하여 목표를 정함
1. 구조적 분석 기법
- 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
- 도형 중심의 분석용 도구와 분석 절차 이용, 하향식 방법 -> 시스템 세분화, 분석 중복 배제
- 주요 도구 : 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서
1) 자료 흐름도(DFD; Data Flow Diagram)
- 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술
- 자료 흐름 그래프, 버블 차트
- 기본 기호 :
- 프로세스(Process) : 처리 과정 / 글자를 둘러싸는 원, 둥근 사각형
- 자료 흐름(Data Flow) : 자료의 이동(흐름)이나 연관관계 / 화살표
- 자료 저장소(Data Store) : 파일, 데이터베이스 / 글자 위아래 작대기, 둘러싼 칸
- 단말(Terminator) : 시스템과 교신하는 외부 객체 / 각진 사각형
2) 자료 사전(DD; Data Dictionary)
- 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
- 데이터의 데이터, 메타 데이터(Meta Data)
- 기본 기호 :
= : 자료의 정의, ~로 구성되어 있다
+ : 자료의 연결, 그리고(and)
( ) : 자료의 생략(Optional)
[ ] : 자료의 선택, 또는(or)
{ } : 자료의 반복(Iteration of), {}n : 아래는 최소 n번, 위에는 최대 n번
* * : 자료의 설명, 주석(Comment)
9강. 요구사항 분석 CASE와 HIPO
1. 요구사항 분석용 CASE(자동화 도구)
- 요구사항을 자동으로 분석, 분석 명세서를 기술
1) SADT : 시스템 정의, 요구사항 분석, 설계를 위한 도구, SoftTech 사에서 개발, 블록 다이어그램 채택
2) SREM = RSL/REVS : TRW 사가 개발, RSL(언어)과 REVS(처리기구) 사용
3) PSL/PSA : PSL(언어)과 PSA (처리기구)사용, 미시간 대학에서 개발
4) TAGS : 시스템 공학 방법 응용에 대한 자동 접근법, 개발 주기 전 과정에 이용 가능한 통합 도구
2. HIPO(Hierarchy Input Process Output)
- 시스템 실행 과정인 입력.처리.출력의 기능을 표현한 것
- 하향식 소프트웨어 개발을 위한 문서화 도구
- 기호, 도표 이용 -> 이해 용이
- HIPO Chart : 시스템의 기능을 여러 개의 고유 모듈로 분할하여 이들간의 인터페이스를 계층구조로 표현한 것
ex) 가시적 도표(Visual Table of Contents, 도식 목차), 총체적 도표(Overview Diagram, 개요 도표), 세부적 도표(Detail Diagram, 상세 도표)
'IT > 정보처리기사' 카테고리의 다른 글
[시나공 토막강의] 20-21강 정리 (0) | 2023.02.07 |
---|---|
[시나공 토막강의] 16-19강 정리 (0) | 2023.01.31 |
[시나공 토막강의] 13-15강 정리 (0) | 2023.01.30 |
[시나공 토막강의] 10-12강 정리 (1) | 2023.01.24 |
[시나공 토막강의] 01-03강 정리 (0) | 2023.01.17 |