v2
This commit is contained in:
parent
9c20f8adef
commit
e74e2cbc2d
@ -1,18 +1,9 @@
|
||||
# 2. 전체 시스템 개요(Overall description)
|
||||
|
||||
> - 제품 및 제품 요구사항에 영향을 미치는 일반적인 요인을 설명해야 한다.
|
||||
> - 특정 요구사항을 설명하지 않고, 상세 요구사항(Specific requirements)에 관한 배경을 제공한다.
|
||||
|
||||
### 2.1. 제품 관점(Product perspective)
|
||||
|
||||
> - 제품을 관련된 다른 제품과의 관계를 중심으로 봐야 한다.
|
||||
> - 제품이 독립적인 경우 명시되어야 하고, 더 큰 시스템의 구성 요소로 정의된다면 시스템의 요구사항을 소프트웨어의 기능과 관계시켜야 하며 시스템과 소프트웨어 사이의 인터페이스를 식별해야 한다.
|
||||
|
||||
### 2.1.1. 시스템 인터페이스(System interfaces)
|
||||
|
||||
> - 각 시스템 인터페이스를 나열한다.
|
||||
> - 시스템 요구사항을 달성하기 위한 소프트웨어 기능과 시스템에 일치하는 인터페이스에 관해 설명한다.
|
||||
|
||||
본 시스템은 Cross-platform 소프트웨어이다. 다음과 같은 브라우저가 원활히 실행될 수 있는 시스템에서 동작 할 수 있다.
|
||||
- Chrome 버전 61 이상
|
||||
- Firefox 버전 60 이상
|
||||
@ -23,39 +14,22 @@
|
||||
|
||||
### 2.1.2. 사용자 인터페이스(User interfaces)
|
||||
|
||||
> 1. 소프트웨어 제품과 사용자 간 인터페이스의 논리적 특성을 지정한다.
|
||||
> - 소프트웨어 요구사항을 충족하는 데 필요한 구성 특성(필요한 화면 형식, 페이지 또는 창 레이아웃, 보고서나 메뉴의 내용, 프로그래밍 가능한 기능 키의 사용 가능)을 포함
|
||||
> 1. 시스템을 사용해야 하는 사람에게 최적화된 모든 측면을 설명한다.
|
||||
|
||||
사용자 인터페이스의 디자인은 Material Design이나 Metro Design 같이 플랫한 디자인을 추구한다.
|
||||
인터페이스의 구성요소는 다음과 같다. 문서는 글뭉치의 집합입니다. 글뭉치는 문단이나 이미지, 영상, 링크 또는 csv등의 구조적 텍스트입니다. 글뭉치는 안의 내용에 따라 표시됩니다. 사용자는 글뭉치를 이리저리 원하는 장소에 배치 할 수 있습니다. 사용자는 글뭉치를 다른 웹 페이지에서 드래그엔드롭으로 끌어 올 수 있습니다. 사용자는 문서를 보이는 대로 웹 페이지로 출력 할 수 있습니다.
|
||||
|
||||
웹으로 동작하는 GUI이다. 키보드와 마우스, 터치 인터페이스로 동작할 수 있다. GUI의 디자인은 Material Design이나 Metro Design 같이 플랫한 디자인을 추구한다.
|
||||
|
||||
### 2.1.3. 하드웨어 인터페이스(Hardware interfaces)
|
||||
|
||||
> - 소프트웨어 제품과 시스템의 하드웨어 컴포넌트 사이에 각 인터페이스의 논리적 특성을 지정해야 한다.
|
||||
> - 지원하는 기기의 종류와 지원 방법, 사용하는 프로토콜 등에 관한 내용을 다룬다.
|
||||
해당되지 않음.
|
||||
|
||||
### 2.1.4. 소프트웨어 인터페이스(Software interfaces)
|
||||
|
||||
> - 다른 필수 소프트웨어(데이터 관리 시스템, 운영체제, 수학 패키지)의 사용과 다른 시스템과의 인터페이스를 지정한다.
|
||||
> - 각 소프트웨어 제품에 대해 제공되어야 하는 정보
|
||||
> 1. Name
|
||||
> 1. Mnemonic
|
||||
> 1. Specification number
|
||||
> 1. Version number
|
||||
> 1. Source
|
||||
> - 각 인터페이스에 대해 제공되어야 하는 정보
|
||||
> 1. 소프트웨어와 인터페이스 하는 목적
|
||||
> 1. 인터페이스에서 사용되는 메시지의 내용과 형식에 관한 정의
|
||||
> - 문서화된 인터페이스를 자세하게 설명할 필요는 없지만, 인터페이스를 정의하는 문서에 대한 참조가 필요하다.
|
||||
이 프로젝트의 결과물은 클립보드를 통해서 여러 타입의 데이터를 import/export한다.
|
||||
|
||||
### 2.1.5. 통신 인터페이스(Communications interfaces)
|
||||
|
||||
> - 로컬 네트워크 프로토콜과 같은 통신에 대한 다양한 인터페이스를 지정해야 한다.
|
||||
해당되지 않음.
|
||||
### 2.1.6. 메모리 제약사항(Memory constraints)
|
||||
|
||||
> - 1차 및 2차 메모리에 적용 가능한 특성과 한계를 명시해야 한다.
|
||||
해당되지 않음.
|
||||
|
||||
### 2.1.7. 운영(Operations)
|
||||
|
||||
@ -69,77 +43,76 @@
|
||||
|
||||
### 2.1.8. 사이트 적용 요건(Site adaption requirements)
|
||||
|
||||
> - 특정 사이트, misson, 또는 동작 모드(grid value, safety, etc)에 특화된 어떤 데이터나 초기화 순서에 대한 요구사항을 정의한다.
|
||||
> - 소프트웨어를 특정 설치에 알맞도록 수정해야 하는 사이트 또는 mission과 관련된 특징을 지정한다.
|
||||
해당되지 않음.
|
||||
|
||||
## 2.2. 제품 기능(Product functions)
|
||||
|
||||
> - 소프트웨어가 수행하는 주요 기능에 대한 요약을 제공한다.
|
||||
> - 필요한 기능의 요약은 상위 수준의 명세서로부터 가져올 수 있다.
|
||||
> - 준수해야 하는 사항
|
||||
> 1. 고객이나 다른 사람이 봤을 때 기능 목록을 보고 이해할 수 있도록 기능이 구성되어야 한다.
|
||||
> 1. 텍스트 또는 그래픽을 통해 기능들 사이의 관계를 보여줄 수 있다.
|
||||
> - 여기에서 표현되는 다이어그램은 설계를 보여주기 위함이 아니라 변수 사이의 논리적 관계를 단순하게 보여주기 위한 것이다.
|
||||
|
||||
본 프로젝트의 결과물은 다음과 같은 기능을 수행한다.
|
||||
- Scrap
|
||||
- Focus, Unfocus
|
||||
- 수정
|
||||
- 읽기
|
||||
- 삭제
|
||||
- 다른 것과 스왑
|
||||
- Alt 화살표로 스왑
|
||||
- LaTex 편집, 미리보기 띄워주기
|
||||
- 링크 타입
|
||||
- 미리보기 보여주기
|
||||
- 링크 캐시
|
||||
- git 히스토리 보여주기
|
||||
- LaTex 타입
|
||||
- 그림, 비디오
|
||||
- 워드, 한글 뷰어
|
||||
- 자동 완성
|
||||
- Document
|
||||
- Scrap 얻어오기
|
||||
- 삭제
|
||||
- 태그 붙이기
|
||||
- 드래그 앤 드롭 업로드
|
||||
- 외부 변경 감지 자동 리로드
|
||||
- 공유
|
||||
- STUN, TURN 서버를 통한 편집
|
||||
- navigator
|
||||
- File TreeView
|
||||
- 파일 삭제
|
||||
- 파일 다운로드
|
||||
- 파일 업로드
|
||||
- Document 오픈
|
||||
- 드래그앤드롭 파일 move
|
||||
- Search
|
||||
- 문서 태그 검색
|
||||
- 문서 내용 검색
|
||||
- Clipboard
|
||||
- 보기
|
||||
- 추가
|
||||
- 삭제
|
||||
- 클립보드 내용 바꾸기.
|
||||
- 드래그앤드롭 파일
|
||||
- Management
|
||||
- login with session
|
||||
- Configure
|
||||
- 현지화(localization)
|
||||
- 테마
|
||||
- 내부 플러그인
|
||||
- 샘플: 체스 형식 뷰어
|
||||
- 브라우저 확장기능: 로그인이 필요한 곳을 위한 캐시된 웹사이트 제공하는
|
||||
### 2.2.1 Scrap Opreration
|
||||
1. Focus, Unfocus
|
||||
1. 수정
|
||||
1. 읽기
|
||||
1. 삭제
|
||||
1. 다른 것과 스왑
|
||||
- Alt 화살표로 스왑
|
||||
1. LaTex 편집, 미리보기 띄워주기
|
||||
1. 링크 타입
|
||||
- 미리보기 보여주기
|
||||
- 링크 캐시
|
||||
1. git 히스토리 보여주기
|
||||
1. LaTex 타입
|
||||
1. 그림, 비디오
|
||||
1. 워드, 한글 뷰어
|
||||
1. 자동 완성
|
||||
### 2.2.2 Document Opreration
|
||||
1. Scrap 얻어오기
|
||||
1. 삭제
|
||||
1. 태그 붙이기
|
||||
1. 드래그 앤 드롭 업로드
|
||||
1. 외부 변경 감지 자동 리로드
|
||||
1. 공유
|
||||
1. STUN, TURN 서버를 통한 편집
|
||||
1. navigator
|
||||
### 2.2.3 File TreeView Opreration
|
||||
1. 파일 삭제
|
||||
1. 파일 다운로드
|
||||
1. 파일 업로드
|
||||
1. Document 오픈
|
||||
1. 드래그앤드롭 파일 move
|
||||
### 2.2.4 Search Opreration
|
||||
1. 문서 태그 검색
|
||||
1. 문서 내용 검색
|
||||
### 2.2.5 Clipboard Opreration
|
||||
1. 보기
|
||||
1. 추가
|
||||
1. 삭제
|
||||
1. 클립보드 내용 바꾸기.
|
||||
1. 드래그앤드롭 파일
|
||||
### 2.2.6 Management Opreration
|
||||
1. login with session
|
||||
1. Configure
|
||||
1. 현지화(localization)
|
||||
1. 테마
|
||||
### 2.2.7 내부 플러그인 Opreration
|
||||
1. 샘플: 체스 형식 뷰어
|
||||
### 2.2.8 브라우저 확장기능 Opreration
|
||||
1. 로그인이 필요한 곳을 위한 캐시된 웹사이트 제공하는
|
||||
|
||||
### 2.2.9 비기능적 기능
|
||||
- Docker 배포
|
||||
- .env 설정
|
||||
- 첫 로드후 로딩 0.5s 이내
|
||||
- 동시 편집 이용자 5명 이내
|
||||
- 1000 RPS 정도 버티기
|
||||
|
||||
## 2.3. 사용자 특성(User characteristics)
|
||||
|
||||
사용자는 기본적인 GUI 조작을 할 줄 알며 인터넷 사용을 원활히 할 수 있고 기본적인 영어를 읽고 쓸 줄 알며, markdown을 작성할 수 있는 사용자로 한정한다. 일반적으로 13세 이상 65세 이하의 사람을 사용자로 가정한다.
|
||||
|
||||
> - 교육 수준, 경험, 기술적 전문 지식을 포함하여 제품의 대상이 되는 사용자의 일반적인 특성을 설명해야 한다.
|
||||
> - 세부적인 요구사항을 기술하는 데 사용되어서는 안 되고, 세부 요구사항이 나중에 명시되는 이유로 제공되어야 한다.
|
||||
|
||||
## 2.4. 제약사항(Constraints)
|
||||
|
||||
이 프로젝트는 MIT License로 개발되고 있으므로 라이브러리의 라이센스도 신경을 쓴다.
|
||||
|
||||
> - 개발자의 선택을 제한할 모든 항목에 관한 일반적인 설명을 제공해야 한다.
|
||||
> - 포함되는 내용
|
||||
> 1. Regulatory plocies
|
||||
@ -153,18 +126,11 @@
|
||||
> 1. Reliability requirements
|
||||
> 1. Criticality of the application
|
||||
> 1. Safety and security considerations
|
||||
>
|
||||
- Docker 배포
|
||||
- .env 설정
|
||||
- 첫 로드후 로딩 0.5s 이내
|
||||
- 동시 편집 이용자 5명 이내
|
||||
- 1000 RPS 정도 버티기
|
||||
-
|
||||
|
||||
## 2.5. 가정 및 의존성(Assumptions and dependencies)
|
||||
|
||||
> - SRS에서 명시한 요구사항에 영향을 미치는 요소들을 나열해야 한다.
|
||||
> - 이 요소들은 소프트웨어의 설계 제약사항이 아니라 SRS의 요구사항에 영향을 미칠 수 있는 변경 사항들이다.
|
||||
해당되지 않음.
|
||||
|
||||
## 2.6. 단계별 요구사항(Apportioning of requirements)
|
||||
|
||||
> - 시스템의 향후 버전으로 지연될 수 있는 요구사항을 식별해야 한다.
|
||||
해당되지 않음.
|
@ -12,30 +12,7 @@
|
||||
|
||||
## 3.1. 외부 인터페이스 요구사항(External interface requirements)
|
||||
|
||||
> - 소프트웨어 시스템의 모든 입력과 출력에 관해 자세히 설명해야 한다.
|
||||
> - "Overall description"의 인터페이스 설명을 보완하되, 그곳의 정보가 반복되지 않아야 한다.
|
||||
> - 포함되는 외부 인터페이스의 내용 및 형식
|
||||
> 1. Name of item
|
||||
> 1. Description of purpose
|
||||
> 1. Source of input or destination of output
|
||||
> 1. Valid range, accuracy, and/or tolerance
|
||||
> 1. Units of measure
|
||||
> 1. Timing
|
||||
> 1. Relationships to other inputs/outputs
|
||||
> 1. Screen formats/organization
|
||||
> 1. Window formats/organization
|
||||
> 1. Data formats
|
||||
> 1. Command formats
|
||||
> 1. End messages
|
||||
|
||||
### 3.1.1. 사용자 인터페이스(User interfaces)
|
||||
|
||||
### 3.1.2. 하드웨어 인터페이스(Hardware interfaces)
|
||||
|
||||
### 3.1.3. 소프트웨어 인터페이스(Software interfaces)
|
||||
|
||||
### 3.1.4. 통신 인터페이스(Communications interfaces)
|
||||
|
||||
해당되지 않음.
|
||||
## 3.2. 기능 요구사항(Functional requirements)
|
||||
|
||||
> - 기능 요구사항은 소프트웨어가 입력을 처리하고 출력을 생성하는 기본적인 행동을 정의해야 한다.
|
||||
@ -76,13 +53,7 @@
|
||||
|
||||
### 3.5.1. 표준 준수(Standards compliance)
|
||||
|
||||
> - 표준이나 규정에서 파생된 요구사항을 기술한다.
|
||||
> - 포함될 수 있는 내용
|
||||
> 1. Report format
|
||||
> 1. Data naming
|
||||
> 1. Accounting procedures
|
||||
> 1. Audit tracing
|
||||
|
||||
해당되지 않음.
|
||||
## 3.6. 소프트웨어 시스템 속성(Software system attributes)
|
||||
|
||||
> - 요구사항으로 사용될 수 있는 소프트웨어의 여러 가지 속성 중 제품이 객관적으로 입증되는 데 필요한 속성을 명시해야 한다.
|
||||
@ -112,13 +83,7 @@
|
||||
|
||||
### 3.6.5. 이식성(Portability)
|
||||
|
||||
> - 소프트웨어를 다른 호스트 시스템 또는 운영체제로 쉽게 이식할 수 있는 속성을 명시해야 한다.
|
||||
> - 포함될 수 있는 속성의 종류
|
||||
> 1. Percentage of components with host-dependent code
|
||||
> 1. Percentage of code that is dependent
|
||||
> 1. Use of a proven portable language
|
||||
> 1. Use of a particular compiler or language subset
|
||||
> 1. Use of a particular operation system
|
||||
해당되지 않음.
|
||||
|
||||
## 3.7. 상세 요구사항의 구성(Organizing the specific requirements)
|
||||
|
||||
|
@ -1,37 +1,20 @@
|
||||
# 1. 소개(Introduction)
|
||||
|
||||
## 목적(Purpose)
|
||||
|
||||
본 문서는 전북대학교 컴퓨터공학과의 Floor 팀에서 Scrap Yard라는 어플리케이션을 설계 및 구현하기 위한 소프트웨어 요구사항 명세서(SRS)이다.
|
||||
|
||||
## 목적(Purpose)
|
||||
|
||||
본 문서의 목적은 프로젝트의 관련된 모든 아이디어들을 정리하고 분석해서 나열하는 것이다. 또한 프로젝트를 더 잘 이해하기 위해 이 제품이 어떻게 사용될지 예측하고 분류하고, 나중에 개발될 요소를 설명하고, 고려 중이지만 폐기될 수 있는 요구사항들을 문서화합니다.
|
||||
|
||||
## 범위(Scope)
|
||||
|
||||
본 프로젝트는 다음과 같은 항목을 범위로 한다.
|
||||
본 문서의 범위는 ScrapYard의 기능들과 그 환경이다.
|
||||
|
||||
- ScrapYard 앱이 가지는 기능
|
||||
- 기능: 웹페이지 링크 미리보기
|
||||
- 기능: 로그인이 필요한 곳을 위한 캐시된 웹사이트 제공하는 브라우저 확장기능.
|
||||
- 기능: 문서 편집
|
||||
- 기능: Latex 수식 편집
|
||||
- 기능: 문서 링크 공유(파일 공유)
|
||||
- 기능: 드래그 앤 드롭 업로드
|
||||
- 기능: 파일이 에디터 외부에서 편집되어도 업데이트
|
||||
- 기능: 검색
|
||||
- 기능: 문서 태그
|
||||
- 기능: 단순 로그인/로그아웃 설정
|
||||
- 기능: 관리창
|
||||
- 기능: self-hosting을 위한 Docker image 제공
|
||||
- 기능: gitbook 과 같은 문법으로 nav를 만들 수 있음.
|
||||
- 기능: 다국어 지원: Internationalization (i18n)
|
||||
- 기능: 테마(Light, Dark)
|
||||
- 기능: 서버에서의 문서 동시 편집.
|
||||
- 기능: STUN 서버를 통한 동시 편집.
|
||||
- 기능: 자동완성
|
||||
- 기능: 문서 히스토리 버퍼
|
||||
- 기능: git 사용시 git histroy 보여주고 diff 보여주기
|
||||
- 기능: 클립보드
|
||||
- 기능: 워드, 한글 뷰어
|
||||
- 기능: 여러 파일 형식을 위한 플러그인
|
||||
ScrapYard는 문서 작성 밎 문서를 아카이빙 할 수 있는 웹 어플리케이션이다. 같이 제공되는 확장기능을 통해 북마크(즐겨찾기)를 구조적으로 보관할 수 있고 미리보기를 보여줄 수 있다.
|
||||
|
||||
또한 문서를 다른 사람과 링크로 공유할 수 있다.
|
||||
|
||||
개인정보의 관리를 자기 자신이 제어할 수 있도록 파일과 문서에 대한 메타데이터가 어떠한 외부 DB가 있는 것이 아닌 파일에서 사람이 읽을 수 있는 형태로 관리된다.
|
||||
|
||||
## 용어 및 약어 정의(Definitions, acronyms and abbreviations)
|
||||
|
||||
@ -46,23 +29,9 @@
|
||||
2. Open Meta Graph: https://ogp.me/
|
||||
|
||||
## 개요(Overview)
|
||||
개요는 2장에서는 종합적인 요구사항을 서술하고, 3장에서는 기능 및 UI에 대해서 상세한 요구사항을 설명한다.
|
||||
2장에서는 종합적인 요구사항을 서술하고, 3장에서는 기능 및 UI에 대해서 상세한 요구사항을 설명한다.
|
||||
|
||||
|
||||
## 기능적 요구
|
||||
|
||||
## 비기능적 요구
|
||||
|
||||
- Docker 배포
|
||||
- .env 설정
|
||||
- 첫 로드후 로딩 0.5s 이내
|
||||
- 동시 편집 이용자 5명 이내
|
||||
- 1000 RPS 정도 버티기
|
||||
|
||||
|
||||
## Detail
|
||||
|
||||
### Scrap
|
||||
#### Focus, Unfocus
|
||||
|
||||
사용자가 Scrap의 영역에 클릭을 했을때, Focus 된다. 다른 Scrap의 포커스는 사라진다. Scrap을 수정, 삭제하기위한 기능은 Focus를 해야 할 수 있다.
|
||||
|
Loading…
Reference in New Issue
Block a user