728x90 반응형 Software Engineering/프로젝트 관리9 소프트웨어 유지 보수 소프트웨어 유지 보수 소프트웨어 유지 보수는 소프트웨어 시스템이 고객에게 인도된 후 이를 수정하고 업데이트하는 프로세스를 말한다. 유지 보수 활동에는 버그 수정, 새 기능 추가, 성능 향상 또는 새 하드웨어 또는 소프트웨어 시스템과 함께 작동하도록 소프트웨어 업데이트가 수행된다. 소프트웨어 유지 보수의 목적은 소프트웨어 시스템이 정확하고 효율적이며 안전하게 작동하도록 유지하고 사용자의 요구를 지속적으로 충족하도록 하는 것이다. 소프트웨어 유지보수의 주요 수행 이유에는 다음과 같은 것들이 있다. 1. 버그 수정 소프트웨어 유지보수의 핵심은 기존 코드의 버그를 수정하는 것이다. 새로운 기능 추가나 개선보다 우선순위가 높다. 2. 호환성 유지 새로운 하드웨어나 소프트웨어와의 호환성 문제가 발생할 수 있다. 유.. 2023. 3. 26. 기본적인 결함내성(Fault Tolerance) 소프트웨어 기술 기본적인 결함내성 소프트웨어 기술 Fault Tolerance(결함 내성)은 소프트웨어 시스템의 운영 중 장애나 오류가 발생했을 때에도 계속해서 작동할 수 있도록 하는 소프트웨어 시스템의 속성을 말한다. 다음은 소프트웨어 시스템의 내결함성을 향상시키는 데 사용되는 몇 가지 기본 기술이다. 1. 이중화 소프트웨어 시스템의 중요한 구성 요소를 복제하여 한 구성 요소가 실패 또는 오류가 발생하면 다른 구성 요소가 인계하여 시스템을 계속 실행할 수 있도록 하는 방법이다. 이는 서버 또는 스토리지 시스템과 같은 하드웨어를 이중화하여 사용하거나 중복 소프트웨어 구성 요소를 생성하는 방법들이 있다. 2. 체크포인트 소프트웨어 시스템의 상태를 주기적으로 저장하여 오류가 발생할 경우 시스템을 이전 상태로 복원할 수 있도.. 2023. 3. 26. 소프트웨어 프로젝트 관리의 복잡성 소프트웨어 프로젝트 관리의 복잡성 프로젝트 관리 복잡성은 소프트웨어 프로젝트를 관리하는 데 발생하는 다양한 어려움을 말한다. 소프트웨어 프로젝트 관리의 주요 목표는 일정 내에 프로젝트를 성공적으로 완료하기 위해 개발자 그룹이 효과적으로 작업할 수 있도록 하는 것이다. 하지만 소프트웨어 프로젝트 관리는 매우 어려운 작업이다. 이전에 많은 프로젝트가 잘못된 프로젝트 관리 관행으로 인해 실패했다. 소프트웨어 프로젝트의 관리는 다른 종류의 프로젝트 관리보다 훨씬 복잡하다. 복잡성 유형 1. 시간 관리 복잡성 프로젝트 기간을 추정하는 복잡성. 또한 다양한 활동 일정을 수립하고 프로젝트를 적시에 완료하기 위한 복잡성도 포함된다. 2. 비용 관리 복잡성 프로젝트의 총비용을 추정하는 것은 매우 어려운 작업이며, 프로젝.. 2023. 3. 25. 소프트웨어 프로젝트 관리자의 역할 및 책임 소프트웨어 프로젝트 관리자의 역할 및 책임 소프트웨어 프로젝트 관리자는 팀 내에서 소프트웨어 프로젝트를 관리하고 프로젝트를 성공적으로 완료하는 데 있어 중요한 역할을 담당하는 가장 중요한 사람이다. 프로젝트 관리자는 이러한 일을 하기 위해 많은 어려운 상황에 직면해야 한다. 실제로 프로젝트 관리자의 업무 책임 범위는 팀의 사기를 높이는 것과 같은 보이지 않는 활동에서부터 눈에 잘 띄는 고객 프레젠테이션에 이르기까지 다양하다. 대부분의 관리자는 프로젝트 제안서 작성, 프로젝트 비용 추정, 스케줄링, 프로젝트 인력 배치, 소프트웨어 프로세스 조정, 프로젝트 모니터링 및 제어, 소프트웨어 구성 관리, 리스크 관리, 관리 보고서 작성 및 프레젠테이션, 고객과의 접촉을 담당한다. 프로젝트 관리자의 업무는 크게 두.. 2023. 3. 25. 통합 리스크 관리 SDLC(Software development life cycle)에서 통합 리스크 관리 소프트웨어 개발 수명 주기(SDLC)는 소프트웨어 개발 프로세스의 각 단계에서 수행되는 작업을 정의하기 위한 개념적 모델이다. SDLC에는 다양한 모델이 있지만, 일반적으로 SDLC는 다음과 같은 단계로 구성된다. 1. 예비 분석(Preliminary Analysis) 예비 분석은 프로젝트의 타당성과 실행 가능성을 결정하기 위해 높은 수준의 평가가 수행되는 프로젝트의 초기 단계에서 수행한다. 이 단계의 목적은 정보를 수집하고 프로젝트와 관련된 잠재적인 위험과 이점을 평가하는 것이다. 2. 시스템 분석 및 요구사항 정의 시스템 요구 사항 분석, 시스템의 기능적 및 비기능적 요구 사항 정의, 이러한 요구 사항을 충족하는.. 2023. 3. 25. 역량 성숙도 통합 모델 (CMMI) 역량 성숙도 통합 모델 (CMMI) CMMI란 능력 성숙도 통합 모델은 Capability Maturity Model Integration의 약어로 조직이 고품질의 제품과 서비스를 제공하기 위한 능력을 향상하기 위한 지침을 제공하는 프로세스 개선 프레임워크다. CMMI 프레임워크는 Carnegie Mellon 대학교 소프트웨어 공학 연구소(SEI)에서 개발되었다. 능력 성숙도 통합 모델(CMMI)은 CMM의 후속 모델로서 소프트웨어 CMM, 시스템 엔지니어링 CMM, 인적 자원 CMM 등 CMM의 각 분야에서 최상의 구성 요소를 통합하여 더 발전된 모델이다. CMM은 특정 분야에서 성숙된 사례의 참조 모델이기 때문에 이러한 분야를 요구 사항에 맞게 통합하는 것은 어려워진다. 따라서 CMMI는 필요할 때마.. 2023. 3. 23. 형상 관리(System Configuration Management) 형상 관리(System Configuration Management) 소프트웨어가 개발될 때마다 항상 개선의 여지가 있으며 이러한 개선으로 인해 변경이 발생할 수 있다. 기존 솔루션을 수정 또는 업데이트하거나 문제에 대한 새 솔루션을 생성하려면 변경이 필요할 수 있다. 요구 사항은 매번 변경될 수 있으므로 원하는 결과를 얻으려면 현재 요구 사항에 따라 시스템을 계속 업그레이드해야 한다. 기존 시스템을 변경하기 전에 이전 및 이후 상태에 대한 세부 정보를 분석, 기록 및 보고하고 품질을 개선하고 오류를 줄이는 방식으로 제어해야 한다. 여기에서 형상 관리가 필요하다. SCM(System Configuration Management)은 변경 항목을 식별하고, 해당 항목 간의 관계를 설정하고, 다양한 버전을 관.. 2023. 3. 21. 프로젝트 규모 추정 기법 프로젝트 규모 추정 기법 프로젝트 규모 추정은 프로젝트 관리자가 프로젝트 범위를 결정하고 그에 따라 리소스를 할당할 수 있도록 하기 때문에 소프트웨어 엔지니어링에서 중요한 활동이다. 다음은 소프트웨어 엔지니어링에 사용되는 일반적인 프로젝트 규모 추정 기법 들이다. 전문가의 판단 전문가 판단은 관련 분야의 전문가 그룹이 경험과 전문성을 바탕으로 프로젝트 규모를 추정하는 프로젝트 추정 기법이다. 이 기법은 일반적으로 프로젝트에 대해 사용할 수 있는 정보가 제한적이거나 다른 추정 기법을 적용할 수 없을 때 사용된다. 전문가들은 추정치를 제공하기 위해 다양한 방법을 사용할 수 있는데, 예를 들어 유사한 프로젝트를 유추하거나 보다 정확한 추정치를 위해 프로젝트를 더 작은 구성요소로 세분화하는 것이다. 그런 다음 .. 2023. 3. 19. 프로젝트 관리 프로세스 프로젝트 관리 프로세스 프로젝트 관리는 소프트웨어 프로젝트를 계획, 모니터링 및 제어하며 범위를 식별하고 작업을 추정하며 프로젝트 일정을 관리하는 활동이다. 또한 팀에 프로젝트 진행 상황을 최신 상태로 유지하고 문제를 처리하고 해결책을 논의하는 책임도 있다. 프로젝트 관리 프로세스는 다음의 4단계로 구성된다. 타당성 조사 타당성 조사는 프로젝트의 실행 가능성을 결정하기 위해 시스템의 요구 사항을 평가하는 것이다. 경제적 타당성, 운영 타당성 및 기술적 타당성과 같은 다양한 영역을 다룬다. 주요 목표는 시스템이 성공적으로 구현될 수 있는지 여부를 평가하는 것이다. 타당성 조사 프로세스에서는 사용자가 제공한 세부 정보와 기타 도메인별 세부 정보를 고려한다. 타당성 조사의 결과는 프로젝트를 수행해야 하는지 여.. 2023. 3. 18. 이전 1 다음 728x90 반응형