일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- IOS
- CD
- libasm
- 인공지능
- 네트워크
- 스프링부트
- MySQL
- 스프링부트 웹 소켓
- CI
- swift
- 오라클
- Spring
- 프로그래밍언어론
- 리눅스
- 다이어리
- AI
- 스프링
- 데이터베이스
- 오블완
- jenkins
- 소켓
- 42seoul
- JPA
- DBMS
- Xcode
- springboot
- javascript
- 티스토리챌린지
- sql
- 아이패드다이어리
- Today
- Total
Hi yoahn 개발블로그
#2 [소프트웨어 공학] 프로세스와 방법론 본문
프로세스: 어떤 일을 하기 위한 특별한 방법. 단계나 작업으로 구성됨
프로세스 없는 소프트웨어 개발은 프로그래밍 한 후 사용자가 만족할 때까지 수정하는 과정을 반복하게 된다.
이 경우 문제점 1) 설계의 중요성을 깨닫지 못함. 사용자의 높은 요구에 도달하기 어렵다. 2) 설계 작업이 없어 구조가 나빠질 수 있다. 3) 계획이 없어 작업 목표 없음. 일을 한 후에도 잘한 것인지 못한 것인지 판단할 수 없고, 비용과 일정을 조절할 수 없다. 4) 체계적인 테스트 작업, 품질 보증 차원의 활동에 대한 필요성의 인식이 없다. 따라서 발견되지 않은 결함이 남아 계속 고치게 될 것이며 시스템이 더욱 악화된다.
-> 이러한 문제점들은 소프트웨어 개발과 유지보수에 비용이 많이 들게 한다.
프로세스
- 단계적인 작업의 틀을 정의한 것
- 무엇을 하는가에 중점
- 결과물의 표현에 대하여 언급 없음
- 패러다임에 독립적
- 각 단계가 다른 방법론으로도 실현 가능
* 폭포수 프로세스, 나선형 프로세스, 프로토타이핑 프로세스, Unified 프로세스, 애자일 프로세스
방법론
- 프로세스의 구체적인 구현 (프로세스 각 단계에 적용할 방법)
- 어떻게 하는가에 중점
- 결과물을 어떻게 표현하는지 표시
- 패러다임에 종속적
- 각 단계의 절차, 기술, 가이드라인을 제시
* 구조적 분석, 설계 방법론, 객체지향 방법론, 컴포넌트, 애자일 방법론
2.1 소프트웨어 생명주기
1. 요구분석
: 사용자 요구 분석
2. 설계
: 시스템 설계. 컴포넌트, 인터페이스, 사용자 인터페이스 설계 (기능, DB, UI)
3. 구현
4. 테스팅
: 개별적으로 작성한 프로그램이 완성되면 모아서 통합하기 전에 테스팅한다. 모듈 단위의 시험이 끝나면 통합하고 전체 시스템을 테스트한다.
5. 유지보수
2.2 프로세스
소프틑웨어 시스템을 구축하기 위해 수행되는 작업의 단계
'sswu > 소프트웨어 공학' 카테고리의 다른 글
[소프트웨어 공학] 유스케이스 다이어그램 (0) | 2021.03.15 |
---|---|
UML 다이어그램 (0) | 2021.02.22 |
유저 스토리란? (0) | 2021.02.22 |
#1 [소프트웨어 공학] 개요 (0) | 2020.11.12 |