본문 바로가기

Study/Software Engineering4

[소프트웨어공학] 폭포수 모델(waterfall model) 폭포수 모델(waterfall model) 소프트웨어 프로세스 중 하나로 개발의 흐름 단계가 마치 폭포수처럼 흐른다 하여 폭포수 모델이라고 하며, 선형 순차 모델 또는 고전적 소프트웨어 생명주기라고도 한다. 폭포수 모델의 특징 수행되는 활동들이 서로 겹치지 않음 단계들이 병행 수행되거나 거슬러 올라가지 않음 매 단계에서 끝날 때마다 결과를 확인 후 다음 단계로 가야 함 수정을 위한 재작업을 위해 앞 단계의 피드백 필요 폭포수 모델은 다음과 같은 단계를 가진다. 타당성 조사 요구분석 설계 개발 통합과 시스템 테스트 이행과 유지보수 타당성 조사 먼저 첫 번째 단계에서는 개발할 소프트웨어 시스템의 세부 사항을 확인하는 것이다. 이것을 확정 지어야 다음 설계 단계로 넘어갈 수 있다. 즉, 소프트웨어 개발 시나리.. 2020. 4. 7.
[소프트웨어공학] 소프트웨어 프로세스 개요 프로세스(process) 프로세스는 간단히 말해서 '일의 과정이나 공정'이다. 하지만 소프트웨어 프로세스는 소프트웨어 시스템을 개발하거나 유지보수의 목적으로 수행되는 활동들의 절차를 의미한다. 소프트웨어 프로세스의 목적 소프트웨어 공학에서 프로젝트를 수행할 때 프로세스의 존재가 왜 필요한지 생각해보자면 생산성 향상과 공통의 개발 문화와 공통의 기술을 제공하기 때문이다. 또한 조직 구성원들 간의 활발한 의사소통은 높은 추적성을 뒷받침해준다. 전체 프로세스를 이해하는데 도움을 줌 시스템 개발 진행과정 추적 자원 사용에 대한 사전 계획 가능 구조화된 방법을 개발에 적용 이전에 얻은 노하우를 통한 시행착오 감소 빠른 적응 소프트웨어 프로세스 활동 섬머 빌(Sommerville) 1. 소프트웨어 명세: 소프트웨어.. 2020. 4. 5.
[소프트웨어공학] 소프트웨어 공학의 정의 소프트웨어 공학의 정의 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다. NATO 소프트웨어 공학 콘퍼런스 이후로 고품질 소프트웨어의 경제적이고 빠른 생산과 유지보수를 위한 전문 작업과 연구 분야로 발전되었다. 즉, 소프트웨어 위기 현상을 부각하고 해결책으로 표현하기 위해서 만든 용어. 소프트웨어 공학의 여러 정의들 NATO 바우어 교수 "신뢰성 있고 요구기능을 효율적으로 수행하는 소프트웨어를 경제적으로 생산하기 위해 건전한 공학적 원리와 방법을 만들고 사용하는 것이다." IEEE 소프트웨어 공학 표준 용어집 "소프트웨어의 개발, 운영, 유지보수에 체계적이고 제어 가능하며 정량화된 접근 방법을 적용하는 것, 즉 소프트웨어 개발에 공학 기술을 적용.. 2020. 4. 4.
[소프트웨어공학] 소프트웨어(Software) 소프트웨어의 정의 컴퓨터 프로그램과 관련 데이터의 묶음으로서, 프로그램은 데이터를 입력받아 처리함으로써 원하는 출력을 제공하기 위해 사용되는 명령어들의 집합. 포괄적 의미에서 본다면 소스 코드와 모든 관련 문서까지 포함하는데, 실행 파일, 설계 문서, 설치 파일, 시스템 매뉴얼, 설치 매뉴얼, 및 사용자가 소프트웨어를 사용하는데 도움을 주도록 작성된 매뉴얼 또한 포함한다. 컴퓨터 소프트웨어는 컴퓨터 하드웨어의 반대 의미로, 컴퓨터 하드웨어는 소프트웨어가 실행되고 저장되는 물리적 장치(물리 구조)이다. 소프트웨어의 중요성 소프트웨어는 정보화 시대에서 사회의 많은 분야를 움직이는 원동력이므로 주요한 역할을 하고 있다. 또한 모든 면에서 영향을 주고 상업, 문화, 일상, 등에 빈번히 쓰이게 되었으므로 그에 대.. 2020. 4. 3.