2022.03.31 정보처리기사(소프트웨어 설계편(2))

[2]요구 사항 확인 01. 소프트웨어 개발 환경 분석 현행 시스템 파악 구성:주요 임무 담당(기간 업무), 기간 업무 지원(지원 업무)기능:주요 업무 기능, 하부 기능, 세부 기능 인터페이스:시스템 간 오가는 데이터의 속성을 파악(프로토콜)아키텍처 구성:기간 업무에서 동작하는 요소 기술의 구성과 동작 원리를 파악하고 구성도를 작성 소프트웨어 구성:소프트웨어 구성:소프트웨어의 제원(제품명, 용도, 가장 큰 비중인 라이선스 비용 방식 개수)을 파악 하드웨어 구성:서버의 제원과 이중화(백업)적용된 네트워크 구성:네트워크의 위치 네트워크의 구성:네트워크의 구성:네트워크의 구성:업무의 위치 방식 구성도)파악 개발 기술 환경 파악 오퍼레이팅 시스템 개념:리소스의 효율적인관리 소프트웨어, 편리한 사용 환경 제공 고려 사항: 가용성(운영 능력), 성능, 기술 지원(문제점 복구), 주변기기, 구축 비용 DBMS 개념: 데이터베이스 정보를 관리하는 소프트웨어, 종속성과 중복성 문제 해결, 데이터베이스 공유 고려 사항: 가용성, 성능, 기술 지원, 구축 비용, 상호 호환성(설치 가능 운영 체제 및 기타 데이터베이스와의 호환성) 미들웨어 개념: 운영 체제와 애플리케이션 간에 서비스 이외의 추가 서비스를 제공하는 인터페이스, 표준화 해결의 일관성을 보장하는 종류: DBMS, RPC(원격 프로시저를 로컬 프로시저와 같이 호출), MOMOrigger은 처리 및 감시), ORB(객체 지향 미들웨어에서 코바(CORBA) 표준 스펙 지향), WAS(데이터 액세스, 세션, 관리, 트랜잭션 관리 등 서버 연동 시 동적인 콘텐츠 처리), 고려사항: 가용성(트랜젝션 및 이중화 처리 지원), 성능, 기술개발 소스 구축 비용, 공개됐다.

무료 기술 라이센스 종류/개수/인원을 파악, 기술 지속성을 고려 02요구 사항 정의 개념:기능 설명, 운영에 필요한 제약 조건, 기준과 근거를 제공, 유도/분석/명세 확인의 프로세서를 있는 쪽:기능(입출력/연산), 비기능(장비/성능/품질)사용자(유저에게 제공), 시스템( 다른 시스템에 제공)도출 개념:요구 사항의 출처와 수집 방법을 파악하고 모든 이해 관계자가 식별되고 개발 라이프 사이클 사이 지속적으로 반복 유도 기법:인터뷰(회의록 작성)이야기 텟핑그 목적, 단위로 표현)유스 케이스 다이어그램 컴포넌트:시스템 범위(개발 범위를 사각형으로 표시), 유스 케이스(구현 기능을 타원형으로 표시), 액터(외부에서 상호 작용하는 요소)-프라이머리 액터:왼쪽에 위치하고 사용하면 이익을 얻은 액터-세컨드리액터: 오른쪽에 위치하여 지원하는 액터(외부 시스템) 관계(유스케이스 간의 상호작용을 화살표로 표시) 관계: 포함하는 관계(공통기능을 별도로 하여 새로운 유스케이스 생성/점선 화살표로 표기/<include>를 기본으로 표기) 일반화 관계(상위와 하위관계를 표현/깊이 빈 실선 삼각형으로 표기) 선택적 확장 관계(조건만족시 실행/원 유스케이스 방향으로 점선 화살표 표시/<extend>를 기입) 주의사항: 실행 순서를 나타내지 않으므로 플로우 그림과 같이 그려서는 안 된다, 불필요한 포함 관계는 자제 기술서 구성요소명,관리 대상 여부)개념 모델링(유스 케이스의 같은 개념 모델을 작성, 구체화 툴로서 UML사용), 요구 사항 할당(구성 식별 후에 배당하고 상호 작용에 따른 추가 요구 사항을 파악)요구 사항 협상(충돌 때 기준점을 정하고 우선 순위를 부여하는 해결)-두 사람 이상의 이해 관계자의 충돌/요구 사항과 자원이 충돌/기능과 비기능 요구 사항이 충돌 정형 분석(오해를 최소화하기 위한 구문과 의미를 가진 정형화된 언어 분석)원리:추상화 원칙(특징만 간단히 표현), 정형화 원칙(엄격하고 공학적 접근의 적용)대단히 새로운 정복 개념( 작은 서브 시스템에 나눈 뒤 큰 시스템에 결합)계층 구조 개념(독립적 모듈화)특징:이미지 중심으로 표현, 명세서 작성, 참여 기회 확대 중복성을 배제하고 아래로 분석 구조적 분석 툴 자료 플로(구성 요소 간의 흐름을 그림으로 표현, 흐름 명료화, 작업 소요시간 불명), 자료 플로우 그림 작업지침(처리마다 새로운 명칭 부여, 최하위 프로세스의 소단위 명세서, 페이지당 버블수 12개 이내, 2~3단계, 최종 코딩 가능 단계에서 중지) 자료사전 표기법(모든 자료에 이름 및 속성 표기, 명세화) NS차트 3개 제어구조: 순차, 선택, 반복도표의 특징: 도형 표현방법, 제어이동이 어렵고 명확한 식별에 구현하기 쉽다.

HIPO 기능을 고유모델로 분활 후 계층구조인 인터페이스로 표현, 입력(I)/처리(P)/출력(O) 모델 구성, 하향식 개발을 위한 문서, 의존관계 동시 표현 가능, 수정 및 유지보수에 좋으며 소규모 프로젝트에 적합, 종류는 가시적(흐름을 계층적으로 표기)/총체적(전반적 정보 표기)/세부 도표 존재(요소 상세표기) 명세 개념: 검토, 평가, 문서작성 기법: 정형명세기법(공학/형식/공식 등으로 명확히 표현하되 이해가 필요하며 도구 사용이 필수), 부정형 명세서는 아니다.

십분으로 요구를 상태/기능/객체 중심으로 기술)고려 사항:이해하기 쉽고, 모든 내용을 기술 검증/품질 측정/기준을 우선 순위와 중요도에서 부여하는 기술 작성 원칙:명확성(하나의 의미만 부여), 완전성, 검증 가능성, 일관성, 수정의 준비성, 추적 가능성, 개발 후의 이용 검증 요구 공학 개념:체계적이고 반복적인 수행 방법과 기술 명세서가 최종 산출물-개발 절차:조사>분석-명세서:관리 순서:기준선>변경 관리>확인 관리 툴:IBM Ratinal, 검증 관리툴:IBM R성, 파일의 변환, 이력 관리, 베이스 라인(요구 사항별 관리 시작 점)요구 사항의 추적성, 협업 환경, 외부 연동 환경, 확장성 방법:요구 사항의 검토, 프로토 타입(견본 제작에 비용이 증가, 사용성 과대 평가)모델 검증(오브젝트들 간의 정적 분석을 하고)인수 테스트(테스트 계획을 수행하는) 검증 방법 검토: 동료 검토(검토 담당자가 설명을 들으면서 결함을 분석), 워크스루(회의 전 검토 자료 배포 후 짧은 회의 시간 내에 검출 및 문서화하여 오류 조기 검출, 비정형 검토 회의) 인스펙션(개발 외)이 전문가 전문가 오류를 찾아내는 검토) 프로토타입 설계: 테스트 케이스 생성 후 가능한지 검토 CASE: 개념: 라이프 사이클 전반을 지원하는 자동화 툴이나 방법론, 개발 과정의 일부 또는 전체를 자동화하기 위한 툴, 모든 분야에 적용, 환경 구축 및 문서 자동화 기능 제공, 특징:가격 비삼, 개발 비용 절감 전문 애널리스트 지원이 필요, 다양한 개발 모델과 그래픽 지원 툴 간 호환성 없이 언어 번역 프로그램은 지원하지 않는 SADT:SoftTech사에서 개발/시스템 정의/요구 사항 분석 등 널리 이용된 구조적 분석 및 설계 툴, 블록 다이어그램을 채용한 자동화 툴 SREMIUM:TRW사에서 개발, 우주 국방과 실시간 처리 소프트웨어 시스템 요구 사항 명확화를 위해서 개발, RSL(요구 사항 기술 언어)/REVS(요구 사항 분석)를 사용하는 자동화 툴 PSL(PSL)PSA(문제 분석기)TAGS:시스템 공학 방법 응용에 대한 자동 접속, 개발 주기의 전 과정이 이용 가능한 통합 자동화 툴 03.UML개요:다양한 방법론의 장점 모델링 언어를 통합, 객체 지향 모델링 언어 구성 요소는사물/관계/다이아그램, 구조다이아그램(구조표현)과 행위다이아그램(동작표현)이 있는 사물개념: 관계가 형성되는 대상이며 모델을 구성하는 요소종류: 구조물(물리적 요소인 클래스, 컴포넌트, 노드 등) 행동사물(시간과 공간에 따른 요소의 상호작용 그룹으로 묶어 행동요소(행동요소)를 구성한다.

사물(부가설명, 제약조건과 같은 주석이나 메