Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- sequelize
- TypeScript
- css
- Express
- Kotlin
- docker
- wireshark
- mongoose
- DATABASE
- HTML
- Android
- macos
- Network
- Crawling
- algorithm
- linux
- OOAD
- Scheduling
- AWS
- React
- Util
- postman
- ubuntu
- node.js
- mysql
- typeorm
- S3
- MongoDB
- python
- OS
Archives
- Today
- Total
Seongwon Lim
소프트웨어 프로세스(Software Process)란? 본문
반응형
소프트웨어 프로세스란?
소프트웨어 개발 프로세스(software development process)는 소프트웨어 제품을 개발하기 위해 필요한 과정 또는 구조로 쉽게 설명하면 소프트웨어 제품이 만들어지는 일련의 단계라고 생각할 수 있다.
프로세스 구성 요소
- 사람 → 누가 참여하는지 구성
- 전반적인 프로세스 → 어떤 과정으로 진행될 것인지 구성
- 중간 산출물 → 중간중간 서비스 산출물을 나타내야 한다.
- 프로세스 단계 → 어디서 어떤 것을 할건지 정의한다.
일반적인 프로세스 단계
이전의 output은 다음 단계의 input이 될 수 있으며 다른 여러 input도 물론 들어올 수 있다.
STEP1 : 요구사항 정의
- 현실 세계에서 사용자(고객)이 원하는 것이 무엇인지를 정의하는 것
- 여러 사람들이 모여서 계약 기반의 합의를 하는 과정
- 요구사항 정의 단계의 한계점
- 사용자들이 개발이 불가능한 수준의 요구를 하기도 한다.
- 요구사항 자체가 불완전하고 모순적인 것들이 존재한다.
STEP2 : 요구사항 분석 (What)
- 문제 도메인과 사용자가 수행하길 원하는 작업을 이해하는 과정이다.
- 어떻게 사용자를 만족시킬 수 있을지 고민해보는 과정이라고 생각하면 편하다.
- 또한, 반론을 통해 실제로 무엇이 필요한지 계속해서 이끌어내는 과정이 중요하다.
- 개념 클래스(conceptual class)와 그 class 간 관계를 식별
- 예를 들면, 제공하려는 기능들이 어떤 컨셉을 가지고 있는지, 어떤 데이터를 필요로 하는지를 분석한다.
- 계좌 이체를 예시로 들면 인증, 금액, 비밀번호, 상대 계좌, 거래 내역등과 같은 것들이 필요하다는 것을 생각해볼 수 있다.
STEP3 / STEP4 : 아키텍처 (Architecture) (How) / 설계
- 분석 모델을 구현 가능한 상태로 재정의하는 작업으로 아키텍처 및 설계를 동일 단계로 두는 경우가 많다.
- 아키텍처 구현 시 고려사항
- 요구사항, Programming Language, Re-use Models, GUI, DB ..
- 기능 요구사항 및 비기능 요구사항(품질, 제약)
- 제약? → 실제로 개발자가 구현할 수 있는지 분석 (겉만 번지르르하면 안된다는 뜻)
STEP5 : 구현
- 실제 개발자들이 프로그래밍을 통해 기능을 만들어가는 과정
- 개발자들은 개발 가이드를 지켜 개발을 해야 함
- 요구사항에 맞는 기능, 제한을 지키면서 개발
STEP6 : 테스팅
- 모든 종류의 오류 및 실패를 검출하고 그것을 제거하는 과정
- 테스팅을 언제 설계할까? : 주로 요구사항 분석 단계 후 테스트 계획을 세운다.
BONUS STEP : 유지보수
- 릴리즈 이후 발생하는 모든 개발과 관련된 활동을 처리하는 과정
- 환경 변화, 새로운 기술의 등장 등의 이유로 유지보수는 지속적으로 필요하다.
'Architecture' 카테고리의 다른 글
소프트웨어 프로세스 3가지 모델 비교하기 (0) | 2022.05.09 |
---|
Comments