# 2. 전체 시스템 개요(Overall description) ### 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) 웹으로 동작하는 GUI이다. 키보드와 마우스, 터치 인터페이스로 동작할 수 있다. GUI의 디자인은 Material Design이나 Metro Design 같이 플랫한 디자인을 추구한다. ### 2.1.3. 하드웨어 인터페이스(Hardware interfaces) 해당되지 않음. ### 2.1.4. 소프트웨어 인터페이스(Software interfaces) 이 프로젝트의 결과물은 클립보드를 통해서 여러 타입의 데이터를 import/export한다. ### 2.1.5. 통신 인터페이스(Communications interfaces) 해당되지 않음. ### 2.1.6. 메모리 제약사항(Memory constraints) 해당되지 않음. ### 2.1.7. 운영(Operations) > - 지정해야 하는 운영 작업의 종류 > 1. 사용자 그룹의 다양한 운영 모드 > 1. Interactive한 작업 기간과 unattended한 작업의 기간 > 1. 데이터 처리 지원 기능 > 1. 백업 및 복구 동작 > > > > - 사용자 인터페이스 항목의 일부로 지정되기도 한다. ### 2.1.8. 사이트 적용 요건(Site adaption requirements) 해당되지 않음. ## 2.2. 제품 기능(Product functions) 본 프로젝트의 결과물은 다음과 같은 기능을 수행한다. ### 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 > 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 ## 2.5. 가정 및 의존성(Assumptions and dependencies) 해당되지 않음. ## 2.6. 단계별 요구사항(Apportioning of requirements) 해당되지 않음.