init
This commit is contained in:
parent
849bca7cb0
commit
9c20f8adef
17
.gitignore
vendored
17
.gitignore
vendored
@ -1,16 +1 @@
|
||||
# ---> Rust
|
||||
# Generated by Cargo
|
||||
# will have compiled files and executables
|
||||
debug/
|
||||
target/
|
||||
|
||||
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
||||
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
||||
Cargo.lock
|
||||
|
||||
# These are backup files generated by rustfmt
|
||||
**/*.rs.bk
|
||||
|
||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||
*.pdb
|
||||
|
||||
book
|
||||
|
6
book.toml
Normal file
6
book.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[book]
|
||||
authors = ["monoid"]
|
||||
language = "en"
|
||||
multilingual = false
|
||||
src = "src"
|
||||
title = "Software Requirement Specification"
|
170
src/OverallDescription.md
Normal file
170
src/OverallDescription.md
Normal file
@ -0,0 +1,170 @@
|
||||
# 2. 전체 시스템 개요(Overall description)
|
||||
|
||||
> - 제품 및 제품 요구사항에 영향을 미치는 일반적인 요인을 설명해야 한다.
|
||||
> - 특정 요구사항을 설명하지 않고, 상세 요구사항(Specific requirements)에 관한 배경을 제공한다.
|
||||
|
||||
### 2.1. 제품 관점(Product perspective)
|
||||
|
||||
> - 제품을 관련된 다른 제품과의 관계를 중심으로 봐야 한다.
|
||||
> - 제품이 독립적인 경우 명시되어야 하고, 더 큰 시스템의 구성 요소로 정의된다면 시스템의 요구사항을 소프트웨어의 기능과 관계시켜야 하며 시스템과 소프트웨어 사이의 인터페이스를 식별해야 한다.
|
||||
|
||||
### 2.1.1. 시스템 인터페이스(System interfaces)
|
||||
|
||||
> - 각 시스템 인터페이스를 나열한다.
|
||||
> - 시스템 요구사항을 달성하기 위한 소프트웨어 기능과 시스템에 일치하는 인터페이스에 관해 설명한다.
|
||||
|
||||
본 시스템은 Cross-platform 소프트웨어이다. 다음과 같은 브라우저가 원활히 실행될 수 있는 시스템에서 동작 할 수 있다.
|
||||
- Chrome 버전 61 이상
|
||||
- Firefox 버전 60 이상
|
||||
- Edge 버전 79 이상
|
||||
- Safari 버전 11 이상
|
||||
- Chrome for Android 버전 100 이상
|
||||
- Samsung internet 버전 8.2 이상
|
||||
|
||||
### 2.1.2. 사용자 인터페이스(User interfaces)
|
||||
|
||||
> 1. 소프트웨어 제품과 사용자 간 인터페이스의 논리적 특성을 지정한다.
|
||||
> - 소프트웨어 요구사항을 충족하는 데 필요한 구성 특성(필요한 화면 형식, 페이지 또는 창 레이아웃, 보고서나 메뉴의 내용, 프로그래밍 가능한 기능 키의 사용 가능)을 포함
|
||||
> 1. 시스템을 사용해야 하는 사람에게 최적화된 모든 측면을 설명한다.
|
||||
|
||||
사용자 인터페이스의 디자인은 Material Design이나 Metro Design 같이 플랫한 디자인을 추구한다.
|
||||
인터페이스의 구성요소는 다음과 같다. 문서는 글뭉치의 집합입니다. 글뭉치는 문단이나 이미지, 영상, 링크 또는 csv등의 구조적 텍스트입니다. 글뭉치는 안의 내용에 따라 표시됩니다. 사용자는 글뭉치를 이리저리 원하는 장소에 배치 할 수 있습니다. 사용자는 글뭉치를 다른 웹 페이지에서 드래그엔드롭으로 끌어 올 수 있습니다. 사용자는 문서를 보이는 대로 웹 페이지로 출력 할 수 있습니다.
|
||||
|
||||
|
||||
### 2.1.3. 하드웨어 인터페이스(Hardware interfaces)
|
||||
|
||||
> - 소프트웨어 제품과 시스템의 하드웨어 컴포넌트 사이에 각 인터페이스의 논리적 특성을 지정해야 한다.
|
||||
> - 지원하는 기기의 종류와 지원 방법, 사용하는 프로토콜 등에 관한 내용을 다룬다.
|
||||
|
||||
### 2.1.4. 소프트웨어 인터페이스(Software interfaces)
|
||||
|
||||
> - 다른 필수 소프트웨어(데이터 관리 시스템, 운영체제, 수학 패키지)의 사용과 다른 시스템과의 인터페이스를 지정한다.
|
||||
> - 각 소프트웨어 제품에 대해 제공되어야 하는 정보
|
||||
> 1. Name
|
||||
> 1. Mnemonic
|
||||
> 1. Specification number
|
||||
> 1. Version number
|
||||
> 1. Source
|
||||
> - 각 인터페이스에 대해 제공되어야 하는 정보
|
||||
> 1. 소프트웨어와 인터페이스 하는 목적
|
||||
> 1. 인터페이스에서 사용되는 메시지의 내용과 형식에 관한 정의
|
||||
> - 문서화된 인터페이스를 자세하게 설명할 필요는 없지만, 인터페이스를 정의하는 문서에 대한 참조가 필요하다.
|
||||
|
||||
### 2.1.5. 통신 인터페이스(Communications interfaces)
|
||||
|
||||
> - 로컬 네트워크 프로토콜과 같은 통신에 대한 다양한 인터페이스를 지정해야 한다.
|
||||
### 2.1.6. 메모리 제약사항(Memory constraints)
|
||||
|
||||
> - 1차 및 2차 메모리에 적용 가능한 특성과 한계를 명시해야 한다.
|
||||
|
||||
### 2.1.7. 운영(Operations)
|
||||
|
||||
> - 지정해야 하는 운영 작업의 종류
|
||||
> 1. 사용자 그룹의 다양한 운영 모드
|
||||
> 1. Interactive한 작업 기간과 unattended한 작업의 기간
|
||||
> 1. 데이터 처리 지원 기능
|
||||
> 1. 백업 및 복구 동작
|
||||
> >
|
||||
> > - 사용자 인터페이스 항목의 일부로 지정되기도 한다.
|
||||
|
||||
### 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.3. 사용자 특성(User characteristics)
|
||||
|
||||
사용자는 기본적인 GUI 조작을 할 줄 알며 인터넷 사용을 원활히 할 수 있고 기본적인 영어를 읽고 쓸 줄 알며, markdown을 작성할 수 있는 사용자로 한정한다. 일반적으로 13세 이상 65세 이하의 사람을 사용자로 가정한다.
|
||||
|
||||
> - 교육 수준, 경험, 기술적 전문 지식을 포함하여 제품의 대상이 되는 사용자의 일반적인 특성을 설명해야 한다.
|
||||
> - 세부적인 요구사항을 기술하는 데 사용되어서는 안 되고, 세부 요구사항이 나중에 명시되는 이유로 제공되어야 한다.
|
||||
|
||||
## 2.4. 제약사항(Constraints)
|
||||
|
||||
> - 개발자의 선택을 제한할 모든 항목에 관한 일반적인 설명을 제공해야 한다.
|
||||
> - 포함되는 내용
|
||||
> 1. Regulatory plocies
|
||||
> 1. Hardware limitations (e.g., signal timing requirements)
|
||||
> 1. Interfaces to other applications
|
||||
> 1. Parallel operation
|
||||
> 1. Audit functions
|
||||
> 1. Control functions
|
||||
> 1. Higher-order language requirements
|
||||
> 1. Signal handshake protocols(e.g., XON-XOFF, ACK-NACK)
|
||||
> 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)
|
||||
|
||||
> - 시스템의 향후 버전으로 지연될 수 있는 요구사항을 식별해야 한다.
|
6
src/SUMMARY.md
Normal file
6
src/SUMMARY.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Summary
|
||||
|
||||
- [Introduction](./introduction.md)
|
||||
- [Overall Description](./OverallDescription.md)
|
||||
- [Specific Requirement](./SpecificRequirements.md)
|
||||
- [Supporting information](./SupportingInformation.md)
|
169
src/SpecificRequirements.md
Normal file
169
src/SpecificRequirements.md
Normal file
@ -0,0 +1,169 @@
|
||||
# 3. 상세요구사항(Specific Requirements)
|
||||
|
||||
> - 설계자가 요구사항을 만족하는 시스템을 설계할 수 있도록 모든 요구사항을 상세하게 포함해야 한다.
|
||||
> - 테스터가 시스템이 위 요건을 충족하는지 테스트해야 한다.
|
||||
> - 모든 요구사항은 사용자, 운영자, 다른 외부 시스템에 의해 외부적으로 인지할 수 있어야 한다.
|
||||
> - 이 요구사항에는 시스템에 대한 모든 입력(자극)과 출력(응답) 그리고 입력 또는 출력 지원에 대한 응답으로 실행되는 모든 기능에 관한 설명이 포함되어야 한다.
|
||||
> - 상세 요구사항을 작성하기 위한 원칙
|
||||
> 1. 상세 요구사항은 "Characteristics of a good SRS"에 설명한 모든 특성을 준수하도록 작성되어야 한다.
|
||||
> 1. 상세 요구사항은 관련이 있는 이전 문서들과 상호 참조되어야 한다.
|
||||
> 1. 모든 요구사항은 고유하게 식별할 수 있어야 한다.
|
||||
> 1. 가독성을 높이기 위해 요구사항을 구성할 때 주의를 기울여야 한다.
|
||||
|
||||
## 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)
|
||||
|
||||
> - 기능 요구사항은 소프트웨어가 입력을 처리하고 출력을 생성하는 기본적인 행동을 정의해야 한다.
|
||||
> - 포함하는 행동들
|
||||
> 1. Validity checks on the inputs
|
||||
> 1. Exact sequence of operations
|
||||
> 1. Responses to abnormal situations, including
|
||||
> 1. Overflow
|
||||
> 1. Communication facilities
|
||||
> 1. Error handling and recovery
|
||||
> 1. Effect of parameters
|
||||
> 1. Relationship of outputs to inputs, including
|
||||
> 1. Input/output sequences
|
||||
> 1. Formulas for input to output conversion
|
||||
|
||||
## 3.3. 성능 요구사항(Performance requirements)
|
||||
|
||||
> - 소프트웨어 또는 소프트웨어와 사람의 상호작용에 대하여 수치화된 정적/동적 요구사항이 명시되어야 한다.
|
||||
> - 수치화된 정적 요구사항의 종류
|
||||
> 1. 지원할 터미널 수
|
||||
> 1. 지원할 동시 접속 사용자 수
|
||||
> 1. 처리할 정보의 양과 유형작업 및 데이터의 양
|
||||
|
||||
## 3.4. 논리적 데이터베이스 요구사항(Logical database requirements)
|
||||
|
||||
> - 데이터베이스에 저장할 정보에 관한 논리적 요구사항을 지정해야 한다.
|
||||
> - 논리적 요구사항의 종류
|
||||
> 1. Types of information used by various functuons
|
||||
> 1. Frequency of use
|
||||
> 1. Accessing capabilities
|
||||
> 1. Data entities and their relationships
|
||||
> 1. Integrity constraints
|
||||
> 1. Data retention requirements
|
||||
|
||||
## 3.5. 설계 제약사항(Design constraints)
|
||||
|
||||
> - 다른 표준, 하드웨어 한계 등에 의해 부과될 수 있는 설계 제약사항을 명시해야 한다.
|
||||
|
||||
### 3.5.1. 표준 준수(Standards compliance)
|
||||
|
||||
> - 표준이나 규정에서 파생된 요구사항을 기술한다.
|
||||
> - 포함될 수 있는 내용
|
||||
> 1. Report format
|
||||
> 1. Data naming
|
||||
> 1. Accounting procedures
|
||||
> 1. Audit tracing
|
||||
|
||||
## 3.6. 소프트웨어 시스템 속성(Software system attributes)
|
||||
|
||||
> - 요구사항으로 사용될 수 있는 소프트웨어의 여러 가지 속성 중 제품이 객관적으로 입증되는 데 필요한 속성을 명시해야 한다.
|
||||
|
||||
### 3.6.1. 신뢰성(Reliability)
|
||||
|
||||
> - 배포될 때 소프트웨어 시스템의 필수 신뢰성을 확립하는 데 필요한 요소를 명시해야 한다.
|
||||
|
||||
### 3.6.2. 가용성(Availability)
|
||||
|
||||
> - 검사, 복구, 재시작과 같이 전체 시스템에 대해 정의된 가용성 수준을 보장하는 데 필요한 요소가 지정되어야 한다.
|
||||
|
||||
### 3.6.3. 보안성(Security)
|
||||
|
||||
> - 실수 또는 악의적인 접근, 사용, 수정, 파괴, 공개로부터 소프트웨어를 보호하기 위한 요소를 명시해야 한다.
|
||||
> - 포함될 수 있는 요구사항
|
||||
> 1. Utilize certain cryptographical techinques
|
||||
> 1. Keep specific log or history data sets
|
||||
> 1. Assign certain functions to diffrent modules
|
||||
> 1. Restrict communication between some areas of the program
|
||||
> 1. Check data integrity for critical variables
|
||||
|
||||
### 3.6.4. 유지 보수성(Maintainability)
|
||||
|
||||
> - 소프트웨어 자체를 쉽게 유지 보수할 수 있는 속성을 명시해야 한다.
|
||||
> - 모듈화, 인터페이스, 복잡성 등과 관련된 요구사항이 있을 수 있다.
|
||||
|
||||
### 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)
|
||||
|
||||
> - 시스템의 세부 요구사항은 광범위한 경향이 있으므로 자료를 이해하기에 가장 적합한 방식으로 구성하는 방법을 세심하게 고려해야 한다.
|
||||
|
||||
### 3.7.1. 시스템 모드(System mode)
|
||||
|
||||
> - 일부 시스템은 운영 모드에 따라 상당히 다르게 작동할 수 있다.
|
||||
> - 예: 제어 시스템은 연습, 일반, 긴급 등의 여러 모드가 있을 수 있다.
|
||||
|
||||
### 3.7.2. 사용자 부류(User class)
|
||||
|
||||
> - 일부 시스템은 사용자의 부류에 따라 서로 다른 기능을 제공한다.
|
||||
> - 예: 엘리베이터 제어 시스템은 승객, 정비원, 소방관에게 서로 다른 기능을 제공한다.
|
||||
|
||||
### 3.7.3. 객체(Objects)
|
||||
|
||||
> - 객체는 시스템에서 현실 세계와 대응되는 개체이다.
|
||||
> - 객체에는 각 각체의 상태(attributes) 및 객체의 행위(functions)가 포함된다.
|
||||
> - 이러한 행위는 services, methods, processes라고도 한다.
|
||||
|
||||
### 3.7.4. 특징(Feature)
|
||||
|
||||
> - 특징은 시스템에 의해 외부적으로 요구되는 서비스로서 원하는 결과를 얻기 위해서는 입력이 필요할 수도 있다.
|
||||
> - 예: 전화 시스템에서 특징들은 지역 내 통화, 착신 전환, 화상 통화를 포함한다.
|
||||
> - 일반적으로 각 특징은 자극-반응의 순서로 설명된다.
|
||||
|
||||
### 3.7.5. 자극(Stimulus)
|
||||
|
||||
> - 일부 시스템은 자극의 측면에서 기능들을 설명할 때 가장 잘 구성될 수 있다.
|
||||
> - 예: 항공기 자동 착륙 시스템은 동력 상실, 윈드시어 등을 위해 구성될 수 있다.
|
||||
|
||||
### 3.7.6. 반응(Response)
|
||||
|
||||
> - 일부 시스템은 반응 생성을 지원하는 기능들을 설명할 때 가장 잘 구성될 수 있다.
|
||||
> - 예: 직원 시스템의 기능은 급여 생성과 관련된 기능들, 직원 목록 생성과 관련된 기능 등으로 구성될 수 있다.
|
||||
|
||||
### 3.7.7. 기능 계층(Functional hierarchy)
|
||||
|
||||
> - 위 조직 체계 중 유용한 수단이 없다면, 전체 기능은 공통 입력, 공통 출력 또는 공통 내부 데이터 접근에 의해 구성된 기능의 계층으로 구성될 수 있다.
|
||||
> - 데이터 흐름 다이어그램과 데이터 사전을 사용하여 기능과 데이터 사이의 관계를 보여줄 수 있다.
|
||||
|
||||
|
||||
### 3.7.8. Additional comments
|
||||
|
||||
> - 새로운 SRS를 고려할 때 두 가지 이상의 조직 기법이 적합할 수 있다.
|
||||
> - 이 경우 명세에 따른 시스템의 상세 요구사항에 맞춘 다중 계층의 요구사항을 구성한다.
|
||||
|
16
src/SupportingInformation.md
Normal file
16
src/SupportingInformation.md
Normal file
@ -0,0 +1,16 @@
|
||||
# 추가 이력 (Supporting Information)
|
||||
|
||||
## 4.1. Table of contents and index(목차와 인덱스)
|
||||
|
||||
> - 목차와 인덱스는 매우 중요하므로 일반적인 compositional practices를 따라야 한다.
|
||||
|
||||
## 4.2. 부록(Appendixes)
|
||||
|
||||
> - 부록은 SRS의 일부로 간주하지 않으며, 항상 필요한 것도 아니다.
|
||||
> - 부록이 포함하는 내용
|
||||
> 1. Sample input/output formats, descriptions of cost analysis studies, or results of user surveys
|
||||
> 1. Supporting or background information that can help the readers of the SRS
|
||||
> 1. A description of the problems to be solved by the software
|
||||
> 1. Special packaging instructions for the code and the media to mmet security, export, initial loading, or other requirements
|
||||
> >
|
||||
> > - 부록이 포함된 경우 SRS는 부록이 요구사항의 일부로 간주하는지 명시해야 한다.
|
72
src/introduction.md
Normal file
72
src/introduction.md
Normal file
@ -0,0 +1,72 @@
|
||||
# 1. 소개(Introduction)
|
||||
|
||||
## 목적(Purpose)
|
||||
|
||||
본 문서는 전북대학교 컴퓨터공학과의 Floor 팀에서 Scrap Yard라는 어플리케이션을 설계 및 구현하기 위한 소프트웨어 요구사항 명세서(SRS)이다.
|
||||
|
||||
## 범위(Scope)
|
||||
|
||||
본 프로젝트는 다음과 같은 항목을 범위로 한다.
|
||||
|
||||
- ScrapYard 앱이 가지는 기능
|
||||
- 기능: 웹페이지 링크 미리보기
|
||||
- 기능: 로그인이 필요한 곳을 위한 캐시된 웹사이트 제공하는 브라우저 확장기능.
|
||||
- 기능: 문서 편집
|
||||
- 기능: Latex 수식 편집
|
||||
- 기능: 문서 링크 공유(파일 공유)
|
||||
- 기능: 드래그 앤 드롭 업로드
|
||||
- 기능: 파일이 에디터 외부에서 편집되어도 업데이트
|
||||
- 기능: 검색
|
||||
- 기능: 문서 태그
|
||||
- 기능: 단순 로그인/로그아웃 설정
|
||||
- 기능: 관리창
|
||||
- 기능: self-hosting을 위한 Docker image 제공
|
||||
- 기능: gitbook 과 같은 문법으로 nav를 만들 수 있음.
|
||||
- 기능: 다국어 지원: Internationalization (i18n)
|
||||
- 기능: 테마(Light, Dark)
|
||||
- 기능: 서버에서의 문서 동시 편집.
|
||||
- 기능: STUN 서버를 통한 동시 편집.
|
||||
- 기능: 자동완성
|
||||
- 기능: 문서 히스토리 버퍼
|
||||
- 기능: git 사용시 git histroy 보여주고 diff 보여주기
|
||||
- 기능: 클립보드
|
||||
- 기능: 워드, 한글 뷰어
|
||||
- 기능: 여러 파일 형식을 위한 플러그인
|
||||
|
||||
## 용어 및 약어 정의(Definitions, acronyms and abbreviations)
|
||||
|
||||
|용어 및 약어|정의|
|
||||
|---|----|
|
||||
|ScrapYard|현재 개발하는 앱의 명칭|
|
||||
|DnD|드래그 앤 드롭의 약자|
|
||||
|
||||
## 참고자료(References)
|
||||
|
||||
1. Knowledge base: https://en.wikipedia.org/wiki/Knowledge_base
|
||||
2. Open Meta Graph: https://ogp.me/
|
||||
|
||||
## 개요(Overview)
|
||||
개요는 2장에서는 종합적인 요구사항을 서술하고, 3장에서는 기능 및 UI에 대해서 상세한 요구사항을 설명한다.
|
||||
|
||||
|
||||
## 기능적 요구
|
||||
|
||||
## 비기능적 요구
|
||||
|
||||
- Docker 배포
|
||||
- .env 설정
|
||||
- 첫 로드후 로딩 0.5s 이내
|
||||
- 동시 편집 이용자 5명 이내
|
||||
- 1000 RPS 정도 버티기
|
||||
|
||||
|
||||
## Detail
|
||||
|
||||
### Scrap
|
||||
#### Focus, Unfocus
|
||||
|
||||
사용자가 Scrap의 영역에 클릭을 했을때, Focus 된다. 다른 Scrap의 포커스는 사라진다. Scrap을 수정, 삭제하기위한 기능은 Focus를 해야 할 수 있다.
|
||||
Unfocus 되었을때 Scrap을 저장한다.
|
||||
|
||||
#### 수정
|
||||
단순 텍스트를 수정한다.
|
Loading…
Reference in New Issue
Block a user