Skip to content

Commit

Permalink
Merge pull request #28 from 95126m/writting_2
Browse files Browse the repository at this point in the history
Writting 2
  • Loading branch information
95126m authored May 23, 2024
2 parents d95ebc4 + a09e32d commit ad33fa6
Show file tree
Hide file tree
Showing 2 changed files with 190 additions and 0 deletions.
46 changes: 46 additions & 0 deletions 글쓰기/요구사항정의서.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# 네이버블로그 글쓰기 요구사항 정의서

## 개요
### 목적
네이버블로그에서 자신의 블로그에 글 작성하기 위함

### 범위
+ 이 시스템은 모든 사람이 이용가능하지만, *내 블로그* 의 수정권한은 지정된 사용자만 가능합니다.
+ 다양한 주제(여행, 음식 등)를 가지고 자유롭게 블로그 글 작성이 가능합니다.

### 기능
---
**글쓰기**
+ 권한: 로그인 후 사용가능합니다.
+ 기능: 로그인한 사용자가 *글쓰기 기능* 을 통해 블로그에 새로운 글을 작성할 수 있습니다.

**글삭제**
+ 권한: 로그인 후 사용가능합니다.
+ 기능: 로그인한 사용자가 *글삭제 기능* 을 통해 기존에 게시했던 게시글을 삭제할 수 있습니다.

**글수정**
+ 권한: 로그인 후 사용가능합니다.
+ 기능: 로그인한 사용자가 *글수정 기능* 을 통해 기존에 게시했던 게시글을 수정할 수 있습니다. 또한, 게시글은 *옵션, 제목, 내용* 등 전체 수정이 가능합니다.


### 비기능적 요구사항
---
#### 성능 요구사항
+ 다양한 나라에서 *내 블로그* 에 접속할 수 있어야합니다. (접근성)
+ 게시글 작성, 수정, 삭제가 즉시 처리될 수 있어야 합니다.

#### 보안 요구사항
+ 로그인 없이 사용이 불가능해야 합니다. (암호화)
+ 개인 사용자만 블로그를 이용해야 합니다. (권한)

#### 사용성 요구사항
+ 누구나 사용 가능하도록 사용자 인터페이스는 직관적이고 사용하기 쉬워야 합니다.
+ 다양한 웹 브라우저(크롬, 엣지 등)에서 사용이 가능해야합니다.
+ 다양한 기기(PC 및 모바일)에서 사용이 가능해야합니다.

#### 유지보수성 요구사항
+ 시스템은 쉽게 업데이트 및 확장될 수 있어야 합니다.
+ 기술 지원을 위한 충분한 문서화가 필요합니다.

#### 기타 요구사항
+ 사용자가 *내 블로그* 에 작성한 글은 계속해서 유지되어야 합니다.
144 changes: 144 additions & 0 deletions 글쓰기/프로젝트정의서.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# 네이버블로그 글쓰기 프로젝트 정의서

## 개요
### 프로젝트명
네이버블로그 글 작성하기

### 목표
+ 네이버블로그 글 작성하기(그 외 삭제, 수정 기능)

### 사용자 정의
+ 로그인한 사용자(블로그 주인)
+ 다른 사용자(방문)

## 요구사항
요구사항 정의서 참고

## 시스템 아키텍처
### 아키텍처 개요

* 프론트엔드: JavaScript (React.js)
* 백엔드: Node.js (Express.js)
* 데이터베이스: MySQL

### 모듈 구성

* 프론트엔드: 사용자 인터페이스, 데이터 시각화, API 연동
* 백엔드: RESTful API, 비즈니스 로직, 데이터베이스 연동
* 데이터베이스: 직원 정보, 급여 정보, 근태 정보, 휴가 정보

### 데이터베이스 설계

데이터베이스 설계서 참고

### 인터페이스 설계

프론트엔드-백엔드 인터페이스: RESTful API를 사용한 데이터 통신
백엔드-데이터베이스 인터페이스: Prisma를 사용한 MySQL 연동

## 설계 상세

### 사용자 스토리

#### 직원 관리

##### 직원 등록
* 인사부서 직원으로서, 나는 새로운 직원을 등록하고 싶습니다. 그래서 회사의 직원 정보를 최신 상태로 유지할 수 있습니다.

##### 직원 정보 수정
인사부서 직원으로서, 나는 기존 직원의 정보를 수정하고 싶습니다. 그래서 잘못된 정보를 정정하거나 최신 정보를 유지할 수 있습니다.

##### 직원 삭제
인사부서 직원으로서, 나는 더 이상 회사에 속하지 않는 직원을 삭제하고 싶습니다. 그래서 직원 데이터베이스를 최신 상태로 유지할 수 있습니다.

#### 급여 관리

##### 급여 계산
회계부서 직원으로서, 나는 월말에 직원의 급여를 자동으로 계산하고 싶습니다. 그래서 수동 계산의 오류를 줄이고 시간을 절약할 수 있습니다.

##### 급여 명세서 발행
직원으로서, 나는 매월 내 급여 명세서를 확인하고 싶습니다. 그래서 내 급여 내역을 명확하게 알 수 있습니다.

#### 근태 관리

##### 출퇴근 기록
직원으로서, 나는 매일 출퇴근 시간을 기록하고 싶습니다. 그래서 정확한 근무 시간을 회사에 보고할 수 있습니다.

##### 초과근무 기록
직원으로서, 나는 초과근무 시간을 기록하고 싶습니다. 그래서 초과근무 수당을 받을 수 있습니다.

##### 휴가 관리
직원으로서, 나는 휴가를 신청하고 싶습니다. 그래서 계획된 날짜에 쉴 수 있습니다.
관리자로서, 나는 직원의 휴가 신청을 승인하거나 거절하고 싶습니다. 그래서 부서의 업무 배치를 효율적으로 관리할 수 있습니다.

#### 보고서 생성

##### 급여 보고서
인사부서 관리자으로서, 나는 월별 급여 보고서를 생성하고 싶습니다. 그래서 회사의 급여 지출을 한눈에 파악할 수 있습니다.

##### 근태 보고서
인사부서 관리자으로서, 나는 직원들의 근태 보고서를 생성하고 싶습니다. 그래서 직원들의 출근 현황을 관리할 수 있습니다.


## 구현 계획

### 개발 환경

* 프론트엔드: React.js, HTML, CSS, JavaScript
* 백엔드: Node.js, Express.js, Prisma
* 데이터베이스: MySQL
* 도구: Visual Studio Code, Git, Postman

### 개발 일정

* 요구사항 분석 및 설계 (2주)
* UI/UX 디자인 (4주)
* 백엔드 개발 (8주)
* 프론트엔드 개발 (8주)
* 통합 및 테스트 (4주)
* 배포 및 유지보수 (지속적)

### 자원 계획

* PM: 1명
* UI/UX 디자이너: 2명
* 프론트엔드 개발자: 3명
* 백엔드 개발자: 2명
* DBA: 1명
* QA 엔지니어: 3명

### 테스트 계획
#### 테스트 전략

유닛 테스트, 통합 테스트, 시스템 테스트, 사용자 수용 테스트

#### 테스트 시나리오

기능별 TC(테스트 케이스) 정의서 참고

#### 품질 보증

코드 리뷰, 자동화 테스트(E2E), 성능 테스트

### 배포 계획

#### 배포 전략

스테이징 환경에서 충분한 테스트 후 프로덕션 환경에 배포

#### 유지보수 계획

버그 수정 및 기능 개선을 위한 정기 업데이트

### 문서화
#### 사용자 매뉴얼

시스템 사용법을 상세히 설명하는 매뉴얼 작성

#### 개발자 문서

시스템 아키텍처, API 명세서, 코드 설명서 작성

#### 용어 정의

주요 용어와 약어 정의

0 comments on commit ad33fa6

Please sign in to comment.