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

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

knowledge

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

페이지 정보

작성자 웹지기 댓글 0건 조회 3,960회 작성일 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 89건 1 페이지
  • 89 [ filezilla ] 설정, 편집기, 인터페이스, 파일, 로그 위치 변경으로 편하게 사용
  • [ filezilla ] 설정 변경으로 편하게 사용 설정화면 들어가기 : Edit > Settings * 설정을 여는 방법 [편집(E)] -> [설정(S)] 1. 서버와 자동 연동 기능 해제 1) <설정> - <파일편집> - [로컬 파일 편집을 감시하여 수정시 업로드 여부 묻기(W)] 해제 2. 편집기를 다른 편집기로 변경. 1) <설정> - ...
  • 웹지기 07-07 3448 0 0 댓글 0
  • 88 [ APM ][ NPM ] Nginx ( engine X )
  • Nginx [engine x] nginx [engine x]는 HTTP 및 리버스 프록시 서버이며 Igor Sysoev가 작성한 메일 프록시 서버 Rambler (RamblerMedia.com)를 포함하여 러시아의 많은 사이트에서 5년 이상 운영됨 기본 HTTP 서버 기능 정적 및 인덱스 파일 제공, 자동 인덱싱; 열린 파일 디스크립터 캐시 캐싱을 통한 가속 리버스 프록시; 간단한로드 밸런싱 및 내결함성 FastCGI, uwsgi, SCGI 및 memcached 서버 캐싱에 대한 지...
  • 웹지기 02-18 4115 0 0 댓글 0
  • 87 [ APM ][ NPM ] Apache HTTP Server | Apache( Nginx ) + PHP + …
  • Apache HTTP Server Apache는 www(월드와이드웹)의 초기 활용에 중요한 역할을 하는 유용한 웹서버 Apache는 www(월드와이드웹)의 초기 활용에 중요한 역할을하는 유명한 웹 서버 2009년에 1억 웹사이트 이정표를 넘어선 최초의 웹 서버 Apache는 Netscape Communications Corporation 웹서버의 첫 번째 대안으로, 기능 및 성능 측면에서 다른 Unix 기반 웹 서버와 경쟁하기 위해 발전 Apache를 사용하는 모든 웹 서버의 대부분...
  • 웹지기 02-18 3836 0 0 댓글 0
  • 86 [ xampp ] mysql 설치 > root 비밀번호 변경 후 phpmyadmin 접속 설정
  • xampp 에서 mysql root의 비밀번호를 변경하게 되면 phpmyadmin에 접속이 되지 않는다. root의 비밀번호를 phpmyadmin의 config파일에 넣어줘야 한다. /xampp/phpMyAdmin/config.inc.php 21줄에 mysql root로 설정된 비밀번호를 넣어준다.
  • 웹지기 01-19 5433 0 0 댓글 0
+1
  • 85 [ xampp ] 설치 후 root 경로 변경
  • xampp 패널을 열고 apache 의 config를 admin 클릭 Apache(http.conf) 파일을 연다 documentroot를 찾아서 경로를 변경해준다.
  • 웹지기 01-19 6413 0 0 댓글 0
+1
  • 84 [ laragon ] 프로그램 설치 링크 연결과 자동설치 방법
  • Laragon에서 자동설치 할 수 있게 해주는게 Menu > Tools > Quick add 부분에 나오는 명령어들이다. 이곳에 새로운 것을 추가 할 수 있고, 삭제 할 수도 있다. 일단 추가 하고 싶으면 선택하면 notepad++ 로 파일이 연결되어서 열리게 된다. 이부분에 원하는 방식으로 추가를 해주면 되는데 압축파일로된 경로를 입력해주면 된다. # 은 주석의 역할이므로 설명이나 간단제목을 적는다 이름으로 정의하고 싶은 부분을 변수처럼 왼쪽에 적...
  • 웹지기 11-02 4077 0 0 댓글 0
  • 81 [ synology ] ssh 접속하기 - root 계정 접속
  • 일단 ssh 를 열어줘야 한다. 제어판 > 터미널 및 SNMP > 터미널 > SSH 서비스 활성화 체크 > 포트 : 원하는포트(기본은 22 되도록 변경) > 적용 사용자는 관리자의 권한을 가진 일반 사용자라 할지라도 ssh에 접속은 가능하나 root로의 전환은 불가능하다 root계정에 접속하고 싶다면 ssh에admin으로 로그인을 해야 한다. 비밀번호는 admin에서 설정한 비번과 같다 일반적으로 admin의 계정은 ...
  • 웹지기 06-15 4920 0 0 댓글 0
  • 80 [ windows ] xmanager / xshell / xftp / xlpd
  • 유료로 상용되는 쉘, ftp, 원격인쇄 프로그램 소개 xmanager / xshell / xftp / xlpd - xmanager = 윈도우에서 리눅스-원격 - xshell = ssh 클라이언트 - xftp = 네트워크 파일 전송 - xlpd = 원격인쇄 https://www.netsarang.com
  • 웹지기 06-11 4640 0 0 댓글 0
  • 79 autoset openssl install
  • 오토셋 버젼안에 openssl이 들어있다.openssl로 key와 csr을 만들자오토셋매니저설정 > 웹서버세부설정 > 웹서버 모듈관리 > mod_ssl.so 체크설정 > PHP세부설정 > PHP확장모듈 설정 > php_openssl.so 체크설정 > 웹서버 세부설정 > 가상호스트 설정C:\Autoset9\server\confhttp.conf 파일 수정Listen 80 하단에 Liste...
  • 웹지기 09-09 6682 0 0 댓글 0
  • 78 XenServer 5.6에 NAS 구성하기
  • [펌]http://ifwind.tistory.com/10XenServer의 Local Storage 중 일부를 NAS로 구성하여 리눅스 가상머신에는 NFS로 붙이고, 윈도우 가상머신에는 CFS로 붙이는 구성을 해보았다. XenServer에 NAS를 구성하면 다음과 같은 장점이 있다.ISO 라이브러리를 XenServer내에 구성할 수 있다.XenServer는 항상 가동중이기 때문에 VM의 상태와 관계없이 안정적인 네트워크 스토리지를 제공할 수 있다.VM에서 사용하는 중요 데이터를 XenServer에...
  • 웹지기 09-27 6366 0 0 댓글 0
  • 77 뉴스 rss 사이트
  • http://news.einfomax.co.kr/rss/ http://news.jtbc.joins.com/Etc/RssService.aspx SBS http://news.sbs.co.kr/rss/news_rss.jsp 속보 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv=all 정치 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv=politics 경제 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv...
  • 웹지기 10-05 6809 0 0 댓글 0
  • 76 무료 홈페이지 템플릿
  • 무료 템플릿(template) 사용방법템플릿은 여러 분야에서 많이 쓰이는 용어인데 영어사전을 찾아보니깐 ‘본뜨는 공구’, ‘형판’ 이라는 뜻으로 쓰이고 있습니다. html템플릿이라고 하면 html로 미리 웹문서를 디자인 해 놓은 것을 말한다고 보면 될 것 같습니다. 아래 나열된 사이트들은무료로템플릿을 제공하는 사이트들입니다.opendesigns.orgfreetemplatesonline.comcss4free.comfreecsstemplates.comoswd.orgfreecss.infoopensour...
  • 웹지기 09-27 10858 0 0 댓글 0
  • 75 네이버 스마트 에디터 폰트추가 방법
  • smarteditor2.min.js 파일this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);smarteditor2.min.js 파일에this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);SmartEditor2.html 샘플파일 스마트에디터 생성시...
  • 웹지기 09-04 11571 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
5,241
어제
6,915
최대
33,828
전체
8,109,935

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