본문 바로가기

cs/sw 개발 프로세스6

Agile Framework - XP 정의 sw 개발에서 가장 중요한 4가지의 작업(코딩, 테스트, 듣기, 설계)에 극단적으로 집중하는 실천법. XP에 명시되지 않은 실천법은 철저히 배제한다. XP 실천법들을 통해 프로젝트를 더욱 안정적, 생산적, 지속적으로 수행할 수 있다.[1] 추구하는 가치 1. 존중(Respect) 모든 팀원은 인간으로서 동등한 가치를 지닌다. 팀원 개개인의 기여도를 존중한다. 개개인의 경험과 지식도 존중할 수 있어야 한다 2. 의사소통(Communication) 의사소통은 양방향이며, 효과적으로 협동하기 위해 필요하다. 가장 기본적인 가치이지만 동시에 가장 중요한 가치이다. 3. 단순성(Simplicity) 제품이 정상적으로 작동하기 위한 것 중 가장 단순한 것을 탐구한다. 불필요한 복잡성을 줄이는 것을 추구한다. .. 2022. 12. 1.
Agile Framework - Scrum 스크럼(Scrum) 정의 스크럼은 팀이 협업하여 제품을 만드는 등의 업무를 수행하는데 도움을 주는 애자일 프레임워크이다. 2~4주의 짧은 개발 기간을 기준으로 반복적으로 업무를 수행하여 제품의 품질을 향상시킨다. 역할 Product Owner - 팀의 유일한 의사결정자로서 프로젝트와 제품의 성공을 책임진다. - 제품의 비전과 방향성을 수립하고 각 요구사항 별 우선순위를 책정하고 관리한다. 요구사항 우선순위를 토대로 팀과 협업하고 의사결정을 내린다. Scrum Master - 팀원들에게 스크럼 이론과 실천법을 이해하고 실행할 수 있도록 돕고, 이러한 원칙을 팀원들이 준수할 수 있도록 한다. - 외부 방해요인 등 프로젝트 장애 요소를 제거하는 것을 돕는다. - 팀 내 분쟁이 발생하면 합의가 이루어지도록 촉진.. 2022. 11. 30.
SW 개발 생명주기(SDLC) 정의 sw 개발 방법을 순차적 혹은 병렬적으로 구성. sw 개발 모델이나 sw 공학 패러다임이라고도 한다. 개발 시기의 트렌드에 따라 달라질 수 있다. 특징 SDLC 각 단계의 활동을 정의한다. 비용이나 시간 등 sw 개발 계획 수립의 골격을 제시한다. 충분한 문서화를 통해 프로젝트 관리를 용이하게 한다. 대표 모델 폭포수(waterfall) 모델 정의 - sw의 전 과정을 나누어 체계적이고 순차적으로 접근하여 개발한다. - 대부분의 프로젝트에서 사용되는 모델이다. - 요구사항 분석 -> 설계 -> 구현 -> 테스팅 -> 유지보수 장점 - 각 단계별 정형화된 접근으로 어느 정도 요구사항 변경에 대한 통제가 가능하다. - 체계적인 문서화가 가능하다. 단점 - 요구사항 변경에 취약하다 (다시 초기로) - 전.. 2022. 11. 28.
SW 개발 프로세스 정의 sw와 이에 관련된 산출물을 개발 및 유지하기 위해 사용하는 모든 활동과 방법, 절차를 의미한다. 개발에 필요한 절차뿐만 아니라 그와 관련된 인력이나 도구 등이 통합되는 수단이다. sw 개발 프로세스의 중요성 sw 개발 목표 - 정해진 기한, 주어진 예산으로 사용자가 원하는 좋은 품질의 sw를 개발해야 한다. - sw 요구사항이 점점 복잡해지고 규모가 커짐에 따라 체계적인 개발 프로세스 없이 고품질의 sw 개발이 어렵다. 중요성 - 개발될 제품의 품질은 조직 프로세스의 품질에 따라 결정된다고 이해해도 무방하다. - 프로세스의 특성을 준수하여 체계적인 프로세스를 구축한다면 고품질의 sw를 개발할 수 있다. 바람직한 프로세스 특성 1. 예측 가능성 체계적인 프로세스로 개발 중 일어날 수 있는 변수를 제.. 2022. 11. 25.
소프트웨어 공학(SW Engineering) 1. 등장 배경 sw 수요 및 복잡성의 증가로 개발에 어려움을 겪게 됨. 다른 분야의 공학 패러다임을 이용해 이를 해결하려 함. 2. 정의 sw 개발과 운영, 유지보수, sw 생명 주기 종료로 인한 폐기 등에 대한 체계적인 접근법 3. 특징 sw 개발의 전 과정에 필요한 이론과 개념적인 기술을 다룸. 모든 개발 산출물이 대상이다. ex) sw, 아키텍처, 테스트 보고서 등 4. sw 공학의 주요 영역 요구공학 - 개발될 시스템에 대한 고객의 요구사항을 정확히 이해하고 기능이나 성능, 타 시스템과 인터페이스 등을 정의. 아키텍처 - 아키텍처 구성 요소와 요소 간의 관계, 기능, 속성, 제약 조건 등을 적절히 반영하는 구조를 조직화하여 목표 시스템의 전체 형태를 표현. 개발방법론 - 소프트웨어를 개발하는데 .. 2022. 11. 24.
소프트웨어 1. 정의 - 일을 처리할 순서와 방법을 지시하여 컴퓨터를 동작시키는 프로그램과 프로그램 수행 절차와 규칙, 관련 문서들의 통칭. - 소프트웨어는 크게 두가지로 나뉜다. 응용 소프트웨어 : 사용자의 목적에 맞게 개발된 소프트웨어. ex) 한글, 워드, 엑셀 등.. 시스템 소프트웨어 : 하드웨어를 관리하고 응용 소프트웨어를 지원하는 소프트웨어. ex) linux, windows 등.. 2. 특성 비가시성(invisibility) - 완제품의 구조가 코드 내에 숨어있어 쉽게 파악하기 힘듦. 무형의 논리적 요소 - 개발 과정과 진행 상황을 쉽게 파악하기 어려움. 개발 과정 중 최종 산출물을 확인 불가 - 오류 발견 시기를 놓치거나 오류 해결책 불명을 야기. 3. 소프트웨어 개발에 연관된 역할 고객(client.. 2022. 11. 24.
반응형
LIST