[ 정보처리기사 ] 소프트웨어 설계 - 요구 사항 > knowledge

본문 바로가기
사이트 내 전체검색

knowledge

[ 정보처리기사 ] 소프트웨어 설계 - 요구 사항

페이지 정보

작성자 웹지기 댓글 0건 조회 185회 작성일 21-02-01 17:39

본문

 ❖ 요구사항의 개념 및 특징

 • 제공하는 서비스에 대한 설명

 • 정상적인 운영에 필요한 제약조건 등


❖ 요구사항의 유형

  기능 요구사항(Functional requirements)

  • 시스템이 무엇을 하는지에 대한 사항

  • 시스템이 어떤 기능을 하는지에 대한 사항

  • 시스템의 입력이나 출력으로 무엇이 포함되어야 하는지, 시스템이 어떤 데이터를 저장

     하거나 연산을 수행해야 하는지에 대한 사항

  • 시스템이 반드시 수행해야 하는 기능

  • 사용자가 시스템을 통해 제공받기를 원하는 기능

 비기능 요구사항(Non-functional requirements)

  • 시스템 장비 구성 요구사항

  • 성능 요구사항

  • 인터페이스 요구사항

  • 데이터 요구사항

  • 테스트 요구사항

  • 보안 요구사항

  • 품질 요구사항

  • 제약사항

  • 프로젝트 관리 요구사항

  • 프로젝트 지원 요구사항


❖ 요구사항의 유형

 사용자 요구사항(User requirements)

  • 사용자 관점에서 본 시스템이 제공해야 할 요구사항

  • 사용자를 위한 것으로 친숙한 표현으로 이해하기 쉽게 작성됨

 시스템 요구사항(System requirements)

  • 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

  • 사용자 요구사항에 비해 전문적이고 기술적인 용어로 표현됨

  • 소프트웨어 요구사항이라고도 함


❖ 요구사항 개발 프로세스

  도출(Elicitation)

  • 소프트웨어 개발 생명 주기동안 지속적으로 반복

  • 기법 : 인터뷰, 설문, 브레인스토밍, 워크샵,  프로토타이핑, 유스케이스 등

 분석(Analysis)

  • 요구사항들을 토대로 소프트웨어의 범위 파악

  • 소프트웨어와 주변 환경이 상호 작용하는 방법 이해

 명세(Specification)

  • 기능 요구사항은 빠짐없이 완전하고 명확하게 기술

  • 비기능 요구사항은 필요한 것만 명확하게 기술

 확인(Validation)

  • 명세서의 내용이 이해하기 쉬운지, 일관성은 있는지, 

     회사의 기준에는 맞는지, 누락된 기능 없이 완전한지 

    여부 등을 검증(Verification)하는 것이 중요


❖ 요구공학(Requirements Engineering)


16.png


요구사항 변경의 원인과 처리 방법을 이해하고 

요구사항 관리 프로세스의 품질을 개선하여 

소프트웨어 프로젝트 실패를 최소화하는 것이 목표


❖ 소프트웨어 요구사항 명세서

 1. 소개

1.1 목적

1.2 문서 규칙

1.3 프로젝트 범위

1.4 참조

2. 전반적인 설명

2.1 제품 관점

2.2 사용자 클래스 및 특징

2.3 운영환경

2.4 설계 및 구현 제약 조건

2.5 가정 및 의존성

3. 시스템 기능

3.1 시스템 기능

3.1.1 설명

3.1.2 기능적 요구 사항

4. 데이터 요구 사항

4.1 논리 데이터 모델

4.2 데이터 사전

4.3 보고서

4.4 데이터 수집, 무결성, 보존 및 폐기

5. 외부 인터페이스 요구 사항

5.1 사용자 인터페이스

5.2 소프트웨어 인터페이스

5.3 하드웨어 인터페이스

5.4 통신 인터페이스

6. 품질 속성

6.1 사용성

6.2 성능

6.3 보안

6.4 안전

6.X 기타

7. 국제화 및 현지화 요구

8. 기타 요구 사항

부록 A : 용어 사전

부록 B : 분석 모델



❖ 요구사항 분석 기법

 • 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법

 • 종류 : 요구사항 분류, 개념 모델링, 요구사항 할당, 요구사항 협상, 정형 분석



❖ 요구사항 기법

1)요구사항 분류(Requirement Classification)

•기능 요구사항과 비기능 요구사항으로 분류

•하나 이상의 상위 요구사항에서 유도된 것인지 

   또는 이해관계자나 다른 원천(Source)으로부터 

   직접 발생한 것인지 분류

•개발할 제품에 관한 것인지 개발 과정에 관한 

   것인지 분류

•우선순위에 따라 분류

•소프트웨어에 미치는 영향의 범위에 따라 분류

•소프트웨어 생명 주기 동안에 변경될 가능성이 

   있는지 여부에 따라 분류


2)개념 모델링(Conceptual Modeling)

•개념 모델은 문제의 주체인 개체(Entity)들과 

   그들 간의 관계 및 종속성 반영

•요구사항을 이해하는 이해관계자별로 관점이 

    다양하므로 그에 맞게 개념 모델도 다양하게

    표현되어야 함

•종류 : 유스케이스 다이어그램(Use Case Diagram), 

             데이터 흐름 모델(Data Flow Model), 

             상태 모델(State Model), 

             목표기반 모델(Goal-Based Model), 

             사용자 인터액션(User Interactions), 

             객체 모델(Object Model), 

             데이터 모델(Data Model) 등

• 모델링 표기 : UML(Unified Modeling Language)


3)요구사항 할당(Requirement Allocation)

•식별된 구성 요소들 간에 어떻게 작용하는지 

   분석하는 과정에서 추가적인 요구사항이 발견

   될 수 있음


4)요구사항 협상(Requirement Negotiation)

•요구사항이 서로 충돌되는 경우 어느 한 쪽으로 

   맞추기보다는 적절한 기준점을 찾아 합의해야 함

•요구사항이 서로 충돌되는 경우에 각각에 우선

   순위를 부여하면, 무엇이 더 중요한지를 인식할 

   수 있으므로 문제 해결에 도움이 될 수 있음


5)정형 분석(Formal Analysis)

•구문(Syntax)과 의미(Semantics)를 갖는 

   정형화된 언어를 이용해 요구사항을 수학적 

   기호로 표현한 후 이를 분석 과정

• 정형 분석(Formal Analysis)은 요구사항 

    분석의 마지막 단계에서 이루어짐



❖ 요구사항 확인

  • 문서화된 요구사항 관련 내용을 확인하고 검증

  • 요구사항 관리 도구를 이용해 형상 관리 수행

  • 기법 : 요구사항 검토(Requirement Reviews), 

              프로토타이핑(Prototyping), 

              모델 검증(Model Verification), 

              인수 테스트(Acceptance Tests) 등


❖ 요구사항 검토

  • 요구사항 검토자 그룹을 구성할 때는 구성 방법이 중요

  • 검토는 시스템 정의서(System Definition Document), 

    시스템 사양서(System Specification), 

    소프트웨어 요구사항 명세서

    (SRS; Software Requirements Specification Document)를 

    완성한 시점 등에서 이루어짐


❖ 프로토타이핑

  • 상품이나 서비스가 출시되기 전에 개발 대상 시스템 또는 그 일부분을 

    개략적으로 만든 원형

장점

  피드백 반영이 수월

  사용자, 개발자 사이의 의사소통 원활

  시스템 문제점을 사전에 식별


  

단점

  핵심을 벗어난 프로토타입 제작에 집중될 가능성

  사용성이 과대평가될 가능성

  프로토타입 개선으로 비용 부담 


❖ 모델 검증

  • 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는지 검증하는 것

  • 정적 분석(Static Analysis) 수행

   - 실행을 통한 확인(동적 분석)이 아니라

   - 명세서의 정확성, 일관성 등을 확인, 분석 도구를 사용해 확인 


❖ 인수 테스트

  •  사용자 입장에서 확인하는 과정

사용자 인수 테스트 - 사용자가 시스템 사용의 적절성 여부 확인

운영상의 인수 테스트 - 시스템 관리자가 시스템 인수 시 수행

                                       백업/복원, 재난 복구, 사용자 관리, 유지보수, 

                                         보안 취약성에 대한 정기 점검 과련 기능 등 확인

계약 인수 테스트 - 계약상의 인수/검수 조건을 준수하는지 여부 확인

규정 인수 테스트 - 정부 지침, 법규, 규정 등 규정에 맞게 개발하였는지 확인

알파 검사 - 실제 사용자가 개발 장소, 개발자 앞에서 수행하는 검사 기법

                    통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록

베타 검사 - 최종 사용자가 여러 명의 사용자 앞에서 행하는 검사 기법


추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 65건 1 페이지
+6
  • 63 [ eclipse ] 이클립스에 자바스크립트 자동완성 추가하기
  • tern.repository-1.2.1.zip 파일을 다운을 받는다. Help > Install new Software 를 통해 다운받은 파일을 등록한다. 중간에 Install~~ 등의 문구가 나오면 Install 클릭하고 Restart가 나오면 재시작 해준다. 새로운 프로젝트를 만들고 설정을 해준다. Javascript > tern 에서 ECMAscript6 선택 Javascript > tern > mod...
  • 웹지기 02-08 159 0 0 댓글 0
+1
  • 62 [ 정보처리기사 ] 소프트웨어 설계 - 관계
  • ❖ 관계 • 연관관계 - 2개 이상의 사물이 서로 관련되어 있음을 표현 - 사물 사이 실선, 방향성은 화살표 - 양방향 관계의 경우 실선으로만 연결 - 다중도(Multiplicity)를 선 위에 표기 - 다중도 1 n 0..1 0..* 또는 * 1..* n..* n..m • 집합관계 - 포함하는 쪽과 포함되는 쪽은 서로 독립적 - 속이 빈 마름모를 연결하여 표현 컴퓨터 ◇----------- 프린터 • 포함관계 - 포함하는 쪽과 포함되는 쪽은...
  • 웹지기 02-02 197 0 0 댓글 0
  • 61 [ 정보처리기사 ] 소프트웨어 설계 - UML(Unified Modeling Language)
  • ❖ 개요 대표적인 객체지향 모델링 언어 객체 기술에 관한 국제표준화기구인 OMG에서 표준으로 지정 ❖ 사물 구조 사물(Structural Things) - 시스템의 개념적, 물리적 요소를 표현함 - 클래스(Class), 유스케이스(Use Case), 컴포넌트(Component), 노드(Node) 등 행동 사물(Behavioral Things) - 시간과 공간에 따른 요소들의 행위를 표현 - 상호작용(Interaction), 상태 머신(State Machine) 등 그룹 사...
  • 웹지기 02-01 200 0 0 댓글 0
  • 열람중 [ 정보처리기사 ] 소프트웨어 설계 - 요구 사항
  • ❖ 요구사항의 개념 및 특징 • 제공하는 서비스에 대한 설명 • 정상적인 운영에 필요한 제약조건 등 ❖ 요구사항의 유형 기능 요구사항(Functional requirements) • 시스템이 무엇을 하는지에 대한 사항 • 시스템이 어떤 기능을 하는지에 대한 사항 • 시스템의 입력이나 출력으로 무엇이 포함되어야 하는지, 시스템이 어떤 데이터를 저장 하거나 연산을 수행해야 하는지에 대한 사항 • 시스템이 반드시 수행해야 하는 기능 • 사용자가 시스템을 통해 제공받기...
  • 웹지기 02-01 186 0 0 댓글 0
+1
  • 59 [ 정보처리기사 ] 소프트웨어 설계 - 개발 기술 환경 파악
  • ❖ 운영체제 •컴퓨터 시스템 자원들의 효율적 관리와 사용 환경을 제공하는 소프트웨어 •컴퓨터 운영체제 : Windows, UNIX, Linux, Mac OS 등 •모바일 운영체제 : iOS, Android 등 ❖ 운영체제 관련 요구사항 식별 시 고려사항 구분 내용 가용성 •운영체제 고유의 장애 발생 가능성 ...
  • 웹지기 02-01 181 0 0 댓글 0
+3
  • 58 [ 정보처리기사 ] 소프트웨어 설계 - 현행 시스템 파악 절차
  • ❖ 현행 시스템 파악 절차 1단계 시스템 구성 현황 파악 │ 시스템 기능 파악 │ 시스템 인터페이스 현황 파악 2단계 아키텍처 파악 │ 소프트웨어 구성 파악 │ 3단계 시스템 하드웨어 현황 파악 네트워크 구성 파악 ❖ 시스템 구성 현황 파악 - 금융기관의 여신관리 업무와 고객관리 업무 시스템 현황 구분 시스템 명 시스템 내용 비고 ...
  • 웹지기 02-01 181 0 0 댓글 0
+2
  • 56 [ 정보처리기사 ] 소프트웨어 설계 - 스크럼
  • ❖ 스크럼의 개요 - 제품 책임자(PO) 주로 개발 의뢰자나 사용자 제품에 대한 요구사항을 작성하는 주체 백로그 작성, 우선순위 지정 - 스크럼 마스터(SM) 스크럼 수행에 가이드 역할 개발 과정의 장애 요소를 공론화하여 처리 - 개발팀(DT) PO, SM를 제외한 팀원(디자이너, 테스터 등) 최대 인원 7~8명이 적당 ❖ 개발 프로세스
  • 웹지기 02-01 182 0 0 댓글 0
+4
  • 55 [ 정보처리기사 ] 소프트웨어 설계 - 소프트웨어 생명 주기
  • 소프트웨어 설계 1. 요구사항 확인 2. 화면설계 3. 애플리케이션 설계 4. 인터페이스 설계 1) 소프트웨어 생명주기 - 소프트웨어 개발 과정을 단계별로 나눈 것. - 일반적인 모형 폭포수 모형 가장오래되고 가장 폭넢게 사용된 고전적 생명주기 모형선형 순차적 모형매뉴얼 작성 필요단계마다 결과물이 산출되어야 함두개 이...
  • 웹지기 02-01 173 0 0 댓글 0
  • 54 현대를 바꿀 5대 기술( 4차 산업 이 후 가장 필요한 기술)
  • 특강 - 강인훈 강사님 현대를 바꿀 5대 기술(4차산업 이 후 가장 필요한 기술) A.I [ Artificial Intelligence ] BIG DATA Block Chain IOT [ Internet of Things - 사물인터넷 ] Cloud 인재 人災 재앙 人在 있으나 마나 人材 재목 人財 재물 - 재물을 벌어다 주는 인재가 되어라 인재의 조건 - Speaking, Win Win, Memory, Reading, Attitude,
  • 웹지기 01-27 180 0 0 댓글 0
  • 53 [ project ] 팀 프로젝트 추진 역량
  • 팀 프로젝트 추진 역량 - 역량(NCS기준) : 지식, 기술, 태도 1) 지식 : IOT란 무엇인가에 대한 기술적, 소양적 지식(기술동향 포함) 2) 기술(능력) : 문제정의, 자료수집, 분석, 설계모델링, 도구활용, 구현 3) 태도(자질/인성) : 의사소통, 협업, 책임감, 리더십, 윤리, 시사 상식 - 기본역량 프로젝트 + 현재까지 학습한 IOT 지식 및 사회, 경제, 사업적 가치 인식 + 문제정의(추상화능력), 자료수집 및 요구사항분석, 도구활용, 코딩능력 + 핵심융합프로젝...
  • 웹지기 01-06 289 0 0 댓글 0
  • 52 [ window ] xampp 설치 후 root 비번 변경
  • 콘솔을 통해서 # mysql -u root -p #UPDATE mysql.user SET Password=PASSWORD('1234') WHERE User='root'; 루트 비밀번호 데이터베이스 (MySQL 또는 MariaDB)를 업데이트하려고 할 때 가끔 발생했습니다. #ERROR 1348 (HY000): Column 'Password' is not updatable 따라서 업데이트 명령을 사용하여 사용자 비밀번호를 업데이트 할 수 없고 비밀번호를 업데이트하려면 ALTER ...
  • 웹지기 04-11 1038 0 0 댓글 1
+2
  • 51 [ Laragon ] window10 Apache Ngine PHP Mysql Mariadb python r…
  • 일단 Laragon을 다운받아서 설치를 해준다. 다운로드는 https://laragon.org/download/ 다운로드 페이지에서 본인에게 맞는 버젼을 다운 받는다 본인 같은 경우 Laragon Full 버젼은 다운로드 했다. 이 버젼은 Apache Nginx MySQL PHP Redis Memcache Node.js npm git 등등의 버젼을 쉽게 다운을 받을 수 있다. 다운로드를 하고 설치가 완료 되었다면 Laragon을 실행시켜서 Laragon화면에서 마우스 우클릭 통해 ...
  • 웹지기 12-24 1305 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
2,073
어제
6,543
최대
24,117
전체
1,540,478

그누보드5
Copyright © funyphp.com. All rights reserved.