본문 바로가기
Study/정보처리기사

1-1.소프트웨어 설계

by Murciellago 2020. 12. 3.
반응형
SMALL

***정보처리기사 공부겸 내용정리***

 

1. 요구사항 확인하기

요구공학의 출현

   - 요구사항을 정의하고 문서화하고 관리하는 프로세스

   - 요구사항의 지속적인 중요성 증대

   - 요구사항에 관한 체계적인 관리의 필요성 대두

 

요구사항 개발 프로세스

   - 도출(Elicitaion) : 요구사항 소스, 요구사항 도출기법

   - 분석(Analysis) : 요구사항 분류, 개년 모델링, 기술 구조설계 및 요구사항 할당, 요구사항 협상

   - 명세(Specification) : 시스템 정의서, 시스템 요구사항 명세서, 소프트웨어 요구사항 명세서

   - 확인(Validation) : 검토, 프로토타이핑, 모델 검증, 인수테스트

 

요구사항 개발 프로세스

   - 요구사항 도출

     : 이해관계자가 식별

     : 개발팀과 고객 사이관계 형성

     : 다양한 고객과 효율적인 의사소통이 중요

   - 요구사항 분석

     : 요구사항들간 상충되는 것을 해결

     : 소프트웨어 범위 파악

     : 소프트웨어가 환경과 상호작용되는지 이해

     : 시스템 요구사항 정제 후 소프트웨어 요구사항 도출

   - 요구사항 명세

     : 체계적인 검토, 평가, 승인 문서 작성

     : 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항 작성

   - 요구사항 확인

     : 분석가가 요구사항을 이해 및 확인 필요

     : 요구사항 문서가 일관성있고 완전한지 검증

     : 고객과 문서검토 및 형상관리 수행

     : 문제 파악하기 위한 검증

   

요구사항 분석 기법

   - 요구사항 분석기법

     : 다양한 기법 적용

     : 요구사항에 대한 명확화(요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형분석)

   - 요구사항 분류

     : 요구사항이 기능적, 비기능적 분류

     : 하나 이상인 고수준에 요구사항에 유도됐는지 고객 또는 다른원천으로 발생한 것인지 분류

     : 요구사항이 제품 및 프로세스에 관하여 분류

     : 우선 순위별 요구사항 분류

     : 소프트웨어에 미치는 영향범위

     : 소프트웨어 생명 주기 동아네 변경이 발생여부 확인

   - 개념 모델링

     : 개념 모델의 종류

         a) 유스케이스 다이어그램

         b) 데이터흐름 모델

         c) 상태모델

         d) 목표기반모델

         e) 사용자인터액션

         f) 객체모델

         g) 데이터모델

          j) 기타

     : 대부분 표기법(UML)

     : 소프트웨어공학에서 사용되는 표준화된 범용 모델링 언어

         a) 구조 다이어그램 : 시스템의 정적구조, 시스템의구성요소, 구성요소들의 관계

         b) 행위 다이어그램 : 시스템 내 객체의 동적행위 표현, 시간변화에 시스템의 연속된 변경을 설명

   - 요구사항 할당

     : 요구사항을 만족시키기 위한 아키텍처 구성 요소를 식별하는 것

     : 다른구성 요소와 어떻게 상호 작용하는지 분석

   - 요구사항 협상

     : 두명의 고객과 서로 상충되는 내용을 요구

     : 요구사항과 리소스

     : 기능과 비기능 요구사항들이 서로 상충되는 경우에 적절한 지점에서 합의 수행

     : 요구사항별 우선순위 부여로 중요한 요구사항을 필터링 필요

     : 요구사항들 간 상충되는 문제 해결

   - 정형분석

     : 형식적으로 정의된 시맨틱을 지닌 언어로 요구사항을 표현

     : 정확하고 명확하게 표현하여 오해 최소화

     : 정형 분석은 요구사항 분석의 마지막 단계에 수행

   

요구사항 확인 기법

   - 요구사항 검토

     : 요구사항 검증의 가장 일반적인 방법

     : 에러, 잘못도니 가정, 불명확성, 표준과의 차이 등 찾아내는 작업수행

     : 고객 중심 프로젝트에 검토자, 대표자 1명이상 포함

     : 시스템 정의서, 시스템 사양서, 소프트웨어 요구사항명세서 완성한 시점에서 진행

   - 프로토타이핑

     : 새로운 요구사항 도출 수단

     : 소프트웨어 엔지니어 해석내용 확인 수단

     : 장점

        a) 분석자의 가정을 파악하고 잘못된 경우 유용한 피드백 제공

        b) 사용자 인터페이스의 동적인 행위 용이성 제공

        c) 요구사항의 가변성이 프로토타이핑 이후 급격히 감소

     : 단점

        a) 사용자의 관심이 프로토 탕비의 디자인이나 품질 문제로 집중

        b) 프로토타입 수행 비용이 발생

   - 모델검증

     : 분석단계에서 개발된 모델의 품질 검증 필요

     : 객체 모델이 경우 객체들 사이의 존재하는 의사소통 경로 검증을 위해 정적분석 수행

     : 정적분석은 소스 코드와 모델에서 결함을 찾아내는 방법으로 비교적 개발 초기 결함을 찾아내어

       전체 개발 수명 주기의 효율을 높여 개발비용 낮추는데 도움

   - 인수테스트

     : 요구사항의 중요한 속성은 최종제품이 요구사항을 만족시키는지 확인 필요

     : 요구사항을 어떻게 확인할 것인지 계획 수립 필요

 

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

   - 기술적 타당성 분석에서 적용기술의 적합성 및 기술실현의 가능성 분석이 핵심적 내용

   - 성능및 용량산정의 적정성

     : 용량 산정되면 유사 프로젝트 경험치를 적용하여 필요시 재조정

     : 성능 관련 비기능 요구사항고 비교하여 적정성 여부를 판단

   - 시스템 간 상호 운용성

     : 2개 이상 시스템들이 상호 간 정보 및 서비스를 교환하면서 효과적으로 운영할 수 있는 시스템능력

     : 목표 시스템이 조직 내/외 타 시스템과 연동을 요구하는 경우 상호 운영이 가능한지 여부를 판단

   - IT시장 성숙도 및 트렌드 부합성

     : 영역별 정보 기술들의 시장 성숙도 및 발전방향 파악

     : 요구사항 부합여부 판단

     : 시장 성숙도 및 트렌드 미부합한 기술들은 묵힐 가능성이 높아 시스템 유지보수가 어려운 상황발생

   - 기술적 위험 분석

     : 기술의 복잡성, 검증여부, 의존성 등에 대한 위험 발생 가능성 및 영향 파악

 

요구사항 검토중 기술적 위험성에 대한 기술특성

   - 복잡성 : 기술의 안정성, 시장성, 개방성을 저해하는 모든 요소

                하드웨어, 소프트웨어, 솔루션 적용이 아키텍처와 불일치

   - 검증여부 : 적용 기술에 대한 조직 내부경험

                   외부지원 불가

   - 의존성 : 특허 및 라이센스에 따른 문제

                특정 업체 기술에 대한 의존

 

      

 

반응형
LIST

'Study > 정보처리기사' 카테고리의 다른 글

4. 인터페이스 설계(요약)  (0) 2021.12.05
3. 애플리케이션 설계(요약)  (0) 2021.12.05
2. 화면설계(요약)  (0) 2021.12.05
1. 요구사항 확인(요약)  (0) 2021.12.05
1-2. 소프트웨어 설계  (0) 2020.12.02

댓글