Singleton 패턴 Singleton 은 ‘정확히 하나의 요소만 갖는 집합’ 이라는 뜻으로, 클래스가 하나의 객체만을 생성하도록 제한한다. 이 말은 즉, 생성자를 통해서 여러 번 호출이 되더라도 인스턴스를 새로 생성하지 않고 최초 호출 시에 만들어두었던 인스턴스를 재활용하는 패턴이라는 의미이다. 동일한 자원이나 데이터를 처리하는 객체가 불필요하게 여러 개 만들어질 필요가 없는 경우에 주로 사용한다. 굳이 하나의 객체만을 생성하도록 제한하는 이유는객체를 많이 만드는 것은 시간이 많이 걸리고, 잉여 객체는 메모리 낭비이기 때문이다.그 외에 여러 가지 다른 객체가 메모리에 떠도는 것은 유지보관에 골치 덩어리기도 하다. 싱글톤 패턴을 사용하면 그 타입의 객체는 유일하기 때문에, 유일한 인스턴스에 대..
여러 가지 방법론 개발 방법론엔 프로세스 지향 방법, 데이터 지향 방법, 객체지향 방법, 컴포넌트 기반 방법 등 다양한 방법론이 있다. 프로세스 지향 방법 여러 방법론 중 프로세스 지향 방법으로 분류되는 절차적 방법 ( procedural approach )은 처리 순서를 구조화하는 방법이다.대표적으로 DFD (Data Flow Diagram)을 사용한다. 프로세스 지향 방법은 기능이 중심(우선)이 되고 그 기능을 수행하는 데 필요한 데이터가 참조되는 형태로 구성된다. 이러한 방법은 다음과 같은 특징이 있다.프로세스와 데이터의 분리프로세스와 데이터가 각각 별개의 것으로 파악되고 분리되어 구조가 매우 복잡하며 유지보수가 어려움실세계를 컴퓨터 처리 방식으로 표현 실세계를 원래의 형태가 아니라컴퓨터가..
프로젝트란, 유일한 제품이나 서비스를 만들기 위해 일정한 기간을 정해놓고 수행하는 작업을 말한다. 이러한 프로젝트를 관리하는 프로젝트 매니저는 다음과 같은 일들을 한다.프로젝트 시작 시점부터 기획 및 설계프로젝트에 참여하는 팀원들의 능력을 잘 파악하여 적재적소에 배치고객과의 많은 대화를 통해 의견을 조율프로젝트가 시작되면 진행 상황 체크 및 진척 관리프로젝트 수행 중 발생하는 문제에 대해 고민하고, 책임감을 갖고 해결인력 관리를 통한 참여자들의 도중하차 예방 및의사소통 분위기 조성개발 기간 내에 최종 결과물을 고객에게 인도 그렇다면 프로젝트를 관리하기 위해서는 어떤 일들을 수행해야 할까? 이에 대해 프로젝트와 관련된 대표적인 문서로 프로젝트와 관련된 작업의 표준인 PMBOK이 있다. PMBOK ..
표준 프로세스가 필요한 이유 소프트웨어 개발에서 표준 프로세스는 요리의 레시피와 같다.프로세스를 통해 조직원들이 우왕좌왕 해매는 시간을 줄여주고 생산성을 높일 수 있다. 네비게이션과 같이 표준 프로세스는 기준과 목표, 방향을 제시해주기 때문에 업무 처리 프로세스가 명확하고 계획적이며 결과를 충분히 예측할 수 있다. 만약 어떤 조직이 표준 프로세스를 사용하고 지속적으로 개선하게 될 경우, 조직의 업무 수행 능력 및 품질이 향상되고 프로젝트의 정량적 목표 및 계획을 수립할 수 있다.즉, 소프트웨어 공학의 목표인 개발의 생산성 향상과 품질 향상을 꾀할 수 있다. CMMI 모델 ( Capability Maturity Model Integration ) 능력 Capability개발 목표(주어진 기간, ..
품질 정의 품질이란, 관점에 따라 달라진다. 사용자 관점에서 좋은 소프트웨어는 배우기 쉽고 사용하기 편한 것이고,프로젝트 관리자 관점에서 좋은 소프트웨어는 추가 부담(기간, 비용)이 발생하지 않는 것이다. 이렇듯이, 소프트웨어에서 품질은 사용자의 요구와 부합되는 정도를 말한다. 좋은 품질의 소프트웨어를 만들기 위해선 처음부터 품질을 고려한 계획을 세워서 품질 요구 사항에 대한 명세서를 작성해야 한다. 아래는 우리가 개발할 소프트웨어의 품질에서 어떤 부분을 평가해야 하는지 정리한 표이다. 품질 요소 아까 관점에 따라 중요하게 생각하는 품질의 요소가 다르다고 했었다.학자 또한 중요하게 생각하는 요소가 다르다. 이 중에서, 우리는 맥콜이 주장하는 품질의 요소에 대해 알아보자. 우선 제품 운영이다..
https://guhonga.tistory.com/58 개발 프로세스와 모델 소개 (폭포수, V, 통합 프로세스 모델 등)소프트웨어 공학이란공학은 사람들에게 유익함을 주기 위해 만들어진 분야이다.하지만 이러한 모든 것을 공학이라 부르진 않는다. 시간과 비용이 들어야 비로소 공학이라 말할 수 있다. 그렇guhonga.tistory.com V 모델에 대해 간단하게 설명하자면 소프트웨어 개발의 각 단계에서 짝을 이루는 테스트를 진행해나가는 방법이다.프로젝트의 초기 단계에서부터 이미 테스트 계획을 세우는 것으로, 테스트를 설계하는 과정이 같이 진행되는 것이다. 살짝 헷갈렸던게, 각 단계의 설계를 먼저 하고, 그와 동시에 테스트 설계를 하는 것이다.실제 테스트 동작은 위 그림의 순서를 따른다. 단위 테..