2.6 KiB
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)
서버는 2GB 메모리 환경에서 정상 작동해야 한다.
2.1.7. 운영(Operations)
해당되지 않음.
2.1.8. 사이트 적용 요건(Site adaption requirements)
해당되지 않음.
2.2. 제품 기능(Product functions)
본 프로젝트의 결과물은 다음과 같은 기능을 수행한다.
<%
const table = new Map();
it.issues.forEach((x)=>{
const category = x.title.split(":")[0];
if(!category) return;
let c = table.get(category)
if(!c){
c = [];
table.set(category,c);
}
c.push(x);
})
let index = 1;
for (const [c,issues] of table) {
%><%= ### 2.2.${index++} ${c} Operation\n\n
%><%
let subIndex = 1;
for (const i of issues) {
%><%=${subIndex++}. #${i.number} ${i.title}\n
%><%
}
%>
<% } %>
2.3. 사용자 특성(User characteristics)
사용자는 기본적인 GUI 조작을 할 줄 알며 인터넷 사용을 원활히 할 수 있고 기본적인 영어를 읽고 쓸 줄 알며, markdown을 작성할 수 있는 사용자로 한정한다. 일반적으로 13세 이상 65세 이하의 사람을 사용자로 가정한다.
2.4. 제약사항(Constraints)
- 이 프로젝트는 MIT License로 개발되고 있으므로 라이브러리의 라이센스도 신경을 쓴다.
- XSS 공격에 안전해야 한다.
2.5. 가정 및 의존성(Assumptions and dependencies)
해당되지 않음.
2.6. 단계별 요구사항(Apportioning of requirements)
해당되지 않음.