정처기 1과목 소프트웨어 설계 - 2
4. 현행시스템 파악 C등급
1. 현행시스템 파악 절차
새로 개발하려는 시스템의 개발 범위를 명확히 설정하기 위해 현행 시스템의 구성과 제공기능, 시스템간의 전달 정보, 사용되는 기술 요소, 소프트웨어 , 하드웨어, 그리고 네트워크 구성 등을 파악한다.
1단계 시스템 구성파악, 시스템 기능파악, 시스템 인터페이스 파악
2단계 아키텍쳐 구성파악, 소프트웨어 구성파악
3단계 하드웨어 구성파악, 네트워크 구성파악
2. 시스템 구성파악
현행 시스템의 구성은 조직의 주요 업무를 담당하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술한다.
조직 내에 있는 모든 정보 시스템의 현황을 파악할 수 있도록 각 업무에 속하는 단위 업무 정보 시스템의 명칭 주요기능들을 명시한다.
예시) 여신관리업무 -여신기획관리시스템 여신기획관리를 위한 여신요율 책정 연간 여신운용지침 수립등을 기능을 제공하는 시스템
3. 시스템 기능파악
현행 시스템의 기능은 단위 업무 시스템이 현재 제공하는 기능들을 주요 기능과 하부기능 세부기능으로 구분하여 계층형으로 표시한다.
4.시스템 인터페이스 파악
현행 시스템의 인터페이스 단위 업무 시스템 간에 주고받는 데이터의 종류 형식 프로토콜 연계유평 주기 등을 명시한다.
데이터를 어떤 ㅎ여식으로 주고받느지 통신규약은 무엇을 사용하는지 연계유형은 무엇인지를 반드시 고려해야한다.
5.아키텍쳐 구성파악
현행 아키텍쳐 구성은 기간 업무 수행에 어떠한 기술요소들이 사용되는지 최상위 수준에서 계층별로 표현한 아키텍쳐 구성도로 작성한다.
아키텍쳐 단위 업무 시스템별로 다른 경우는 가장 핵심이 되는 기간 업무 처리시스템을 기준으로 표현한다.
6. 소프트웨어 구성파악
소프트웨어 구성 단위 업무 시스템별로 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명 용도 라이선스 적용방식 라이선스 수 등을 명시
시스템 구축비용면에서 소프트웨어 비용이 적지않은 비중을 차지하므로 사용소프트웨어의 경우 라이선스 적용방식의 기준과 보유한 라이선스 파악이 중요하다.
7.하드웨어 구성파악
하드웨어 구성에는 단위업무 시스템들이 운용되는 서버의 주요사양과 수량 그리고 이중화의 적용여부를 명시한다.
서버의 이중화는 기간 업무의 서비스 기간 장애 대응 정책에 따라 필요여부가 결정된다.
현행 시스템에 이중화가 적용된 경우 대부분 새로 구성될 시스템에도 이중화가 필요하므로 이로 인한 비용증가와 시스템 구축 난이도가 높아질 가능성을 고려해야한다.
8. 네트워크 구성파악
네트워크 구성은 업무 시스템들의 네트워크 구성을 파악할 수 있도록 서버의 위치 서버간의 네트워크 연결방식을 네트워크 구성도로 작성한다.
네트워크 구성도를 통해 서버들의 물리적인 위치 관계를 파악할 수 있고 보안 취약성을 분석하여 적절한 대응을 할 수 있다.
네트워크에 장애가 발생한 경우 발생 원인을 찾아 복구하기 위한 용도로 활용될 수 있다.
5. 개발 기술 환경 파악 C등급
1. 개발 기술환경의 정의
개발하고자 하는 소프트웨어와 관련된 운영체제, 데이터베이스 관리시스템, 미들웨어 등을 선정할때 고려해야할 사항을 기술하고 오픈 소스 사용시 주의해야할 내용을 제시한다.
운영체제
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어이다.
컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어 일종으로 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
윈도우 유닉스 리눅수 맥 등이 있고 모바일은 ios, 안드로이드 등이 있다.
3. 운영체제 관련 요구사항 식별시 고려사항
가용서으 성능, 기술지원, 주변기기, 구축비용
4.데이터베이스관리시스템
팡리 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용프로그램들이 데이터베이스를 공요할 수 있도록 관리해준다.
DBMS는 데이터의 구성 접근방법 유지관리에 대한 모든 책임을 진다.
오라클, IBM DB, MS SQL SEVER, MYSQL, 등이 있다.
5. DBMS 관련 요구사항 식별 시 고려사항
가용성 성능 기술지원 상호호환성 구축비용 등을 고려해야한다.
6. 웹어플리케이션 서버(WAS)
웹 애플리케이션 서버는 정적인 콘텐츠 처리를 하는 웹서버와 달리 사용자의 요구에 따라 변하는 동적 콘텐츠를 처리하기 위해 사용되는 미들웨어이다.
데이터 접근 세션관리 트랜잭션 관리등을 위한 라이브러리를 제공한다.
톰캣 글래스피쉬등이 있다.
7. 웹어플리케이션 서버 관련 요구사항 식별시 고려사항
가용성 성능 기술지원 구축비요을 고려해야한다.
8. 오픈소스 사용에 따른 고려사항
오픈소스는 누구나 별다른 제한없이 사용할 수 있도록 소스코드를 공개한것으로 오픈소르 라이선스를 만족하는 소프트웨어이다.
라이선스의 종류 사용자의 수 기술의 지속가능성 등을 고려해야한다.
6. 요구사항 정의 B등급
1. 요구사항 개념 및 특징
요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정ㅅ항적으로 운영되는데 필요한 제약조건 등을 나타낸다.
요구사항은 소프트웨어 개발이나 유지 보수 과정에서 필요한 기준과 근거를 제공한다.
요구사항은 개발하려는 소프트웨어의 전반적인 내용을 확인할 수 있게 하므로 개발에 참여하는 이해관계자들 간의 의사소통을 원할하게 하는데 도움을 준다.
요구사항이 제대로 정의되어야함 이를 토대로 이후 과정의 목표와 계획을 수립할 수 있다.
2. 요구사항의 유형
요구사항은 일반적으로 기술하는 내용에 따라 기능 요구사항과 비기능 요구사항으로 구분한다.
기술 관점과 대상의 범위에 따라 시스템 요구사항과 사용자 요구사항으로 나눈다.
기능에 대한것은 말그대로 로그인이 되어야한다. 비기능은 1년 365일 운용간으해야한다와 같은 것이다
기능 요구사항
-시스템이 무엇을 하는지 어떤 기능을 하느지에 대한 사항
-입력이나 출력으로 무엇이 포함되어야하는지 시스템이 어떤 데이터를 저장하거나 연산을 수행해야하는지에 대한 사항
-시스템이 반드시 수행해야하는 기능
-사용자가 시스템을 통해 제공받기를 원하는 기능
비기능 요구사항
-시스템 장비 구성 요구사항 : 하드웨어 소프트웨어 네트워크 등의 시스템 장비 구성에 대한 요구사항
-성능 요구사항 : 처리 속도 및 시간, 처리량, 동적 정적 적용량, 가용성 등 성능에 대한 요구사항
-인터페이스 요구사항 : 시스템 인터페이스와 사용자 인터페이스에 대한 요구사항으로 다른 소프트웨어 하드웨어 및 통신 인터페이스 다른 시스템과의 정보 교환에 사용되는 프로토콜과의 연계도 포함하여 기술
-데이터요구사항 : 초기 자료 구축 및 데이터 변환을 위한 대상 방법 보안이 필요한 데이터 등 데이터를 구축하기 위해 필요한 요구사항
-테스트 요구사항 : 도입보디는 장비 성능테스트나 구축된 시스템이 제대로 운영되는 지를 테스트하고 점검하기 위한 테스트 요구사항
-보안요구사항 : 시스템의 데이터 및 기능 운영접근을 통제하기 위한 요구사항
-품질 요구사항 : 관리가 필요한 품질항목, 품질 평가대상에 댛나 요구사항으로 가용성 정합성 상호호환성 대응성 신뢰성 사용성 유지관리성 이식성 확장성 보안성 등으로 구분하여 기술
-제약사항 : 시스템 설계 구축 운영과 관련하여 사전에 파악된 기술 표준 업무 법제도 등의 제약조건
-프로젝트 관리 요구사항 : 프로젝트의 원한할 수행을 위한 관리방법에 대한 요구사항
-프로젝트 지원 요구사항 : 프로젝트 원한할 수행을 위한 지원사항이나 방안에 대한 요구사항
사용자 요구사항
-사용자 관점에서 본 시스템이 제공해야할 요구사항
-사용자를 위한 것으로 친숙한 표현으로 이해하기 쉽게 작성
시스템 요구사항
-개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야할 요구사항
-사용자 요구사항에 비해 전문적이고 기술적인 용어로 표현
-소프트웨어 요구사항이라고도 한다.
3. 요구사항 개발 프로세스
요구사항 개발 프로세스는 개발 대상에 대한 요구 사항을 체계적으로 도출하고 이를 분석한 후 분석 결과를 명세서에 정리한 다음 마지막으로 이를 확인 검증하는 일련의 구조화된 활동이다.
개발 프로세스가 진행되기전 개발 프로세스가 비즈니스 목적에 부합되는지 예산은 적정한지 등에 대한 정보를 수집 평가한 보고서를 토대로 타당성 조사가 선행되어야한다.
요구사항 개발은 요구공학의 한요소이다.
도출 -> 분석 -> 명세 -> 확인의 순서를 가진다.
4.요구사항 도출(요구사항 수집)
요구사항 도출은 시스템 사용자 그리고 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사하이 어디에 있느지 어떻게 수집할 것인지를 식별하고 이해하는 과정이다.
소프트웨어가 해결해야할 문제를 이해하는 첫번째 단계이다.
개발자와 고객사이의 관계가 만들어지고 이해관계가 식별된다.
다양한 이해관계자 간의 효율적인 의사소통이 중요하다.
요구사항 도출은 소프트웨어 개발 생명주기 동안 지속적으로 반복된다.
요구사항을 도출하는 주요 기법에는 청취와 인터뷰 설문 브레인스토밍 워크샵 프로토타이핑 유스케이스 등이 있다.
5. 요구사항 분석
요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
사용자 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
내용이 중복되거나 하나로 통합되어야하는 등 서로 상충되는 요구사항이 있으면 중재하는 과정
도출된 요구사항들을 토대로 소프트웨어의 범위를 파악
도출된 요구사항들을 토대로 소프트웨어와 주변환경이 상호작용하는 방법을 이해
요구사항 분석에는 자료흐름도 자료사전 등의 도구 사용
6. 요구사항명세
요구사항명세에는 분석된 요구사항을 바탕으로 모델을 작성 문서화하는 것을 의미
요구사항을 문서화할때는 기능 요구사항은 빠짐없이 완전하고 명확하게 기술해야하며 비기능 요구사항은 필요한 것만 명확하게 기술
요구사항은 사용자가 이해하기 쉬우며 개발자가 효과적으로 설계할수 있도록 작성되어야한다.
설계과정에서 잘못된 부분이 확인될경우 그 내용을 요구사항 정의서에서 추적할 수 있어야한다.
구체적인 명세를 위해 소단위 명세서가 사용될 수 있다.
7. 요구사항확인
요구사항 확인은 개발 자원을 요구사항 할뎅하기전에 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동
분석가가 요구사항을 정확하게 이해한 후 요구사항 명세서를 작성했느지 확인하는 것이 필요
실제 요구를 반영하는지 서로 상충되는 요구사항은 없는지를 점검
개발 완료후 문제가 발견되면 재작업 비용이 발생할 수 있으므로 요구사항 검증은 매우 중요
명세서의 내용이 이해하기 쉬운지 일관성은 있는지 회사의 기준에 맞는지 누락된 기능이 없는지 등을 검증하는 것이 중요
이해관걔자들이 검토해야한다.
요구사항 검증과정을 통해 모둔 문제를 확인할 수 있는 것은 아니다.
일반적으로 요구사항관리 도구를 이용하여 정의 문서들에 대해 형상관리를 수행한다.
7. 요구사항 분석 A등급
1. 요구사항 분석의 개요
소프트웨어 개발의 실제적인 첫단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동
사용자 요구의 타당성을 조사 비용과 일정에 대한 제약을 설정
사용자 요구를 정확하게 추출하여 목표를 정하고 어떤방식으로 해결할 것인지를 결정
요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성있게 분석하여 문서화해아한다.
소프트웨어 분석가에의해 요구사항 분석이 수행되며 이 작업단계를 요구사항 분석단계라고 한다.
요구사항분석을위해 UML, 자료흐름도, 자료사전 소단위명세서, 개체 관계도(ERD), 상태전이도, 제어 명세서 등을 도구를 이용
2. 구조적 분석기법
구조적 분석기법은 자료의 흐름과 처리를 중심으로 요구사항 분석방법으로 다음과 같은 특징이있다.
도형화된 분석용 도구와 분석 절차를이용하여 사용자의 요구사항을 파악하고 문서화한다.
하향식 방법을 사용하여 시스템을 세분화하고 분석의 중복을 배제할 수 있다.
시스템 분석의 질이 향상되고 시스템 개발의 모든 단계에서 필요한 명세서 작성이 가능하다.
3. 자료흐름도(DFD)
요구사항 분석에서 자료의 흐름 및 변환과정과 기능을 도형 중심으로 기술하는 방법으로 자료흐름 그래프 버블 차트라고도 한다.
시스템 안의 프로세스와 자료 저장소 사이에 자료의 흐름을 나타내는 그래프로 자료흐름과 처리를 중심으로 하는 구조적 분석기법에 이용된다.
프로세스 자료흐름 자료저장소 단말의 네가지 기본기호로 표시
책 48쪽그림확인
작성지침 프로세스를 거쳐 변환될때마다 새로운 이름을 부여 어떤 처리가 출력자료를 산출하기 위해선느 반드시 입력자료가 발생해야한다. 상위단계의 처리와 하위자료 흐름도의 자료흐름은 서로 일치되어야한다. 입력화살표가 있다고 하여 반드시 출력화살표가 있어야하는 것은 아니다.
4. 자료사전
자료사전은 자료흐름도에 잇는 자료를 더 자세히 정의하고 기록한것이며 데이터를 설명하는 데이터를 데이터의 데이터또는 메타 데이터라고 한다.
자료흐름도에 시각적으로 표시된자료에 대한 정보를 체계적이고 조직적으로 모아 개발자나 사용자가 편리하게 사용할 수 있다.
자료사전의 표기기화는 다음과 같다.
= : 자료의 정의 ~로 구성되어있다.
+ : 자료의 연결 그리고
() : 자료의 생략 생략가능한 자료
[|] : 또는
{} : 자료의 반복 n이밑에 n번이상반복 / n이 위에 최대로 n번반복 / nm m이상 n이하로 반복
** : 자료의 설명 주석