본문 바로가기

개발/소프트웨어 공학25

프로젝트 범위, 원가, 일정 관리 이번 단원은 대체로 비용과 큰 관계가 있다. 프로젝트의 범위, 원가와 일정 관리 모두 개발에 필요한 비용을 예측하기 위함이기 때문이다. 범위 관리 : 프로젝트의 성공을 위해 해야 할 일과 하지 말아야 할 일의 경계기준 원가 산정 : 프로젝트 전체에 요구되는 비용을 예상 일정 관리 : 프로젝트 전체 일정을 개발하는 관리활동 프로젝트 범위 관리 → 제품 범위와 프로젝트 범위로 나눌 수 있음 제품 범위 : 제품과 서비스 또는 프로젝트 결과물이 가지는 특징 및 기능 → 제품이 제공해야 할 기능과 제공하지 않아도 되는 기능을 분리 시키는 일 → 자세한 내용은 유스케이스와 UML단원에 다룬다. https://re-hwi.tistory.com/17 프로젝트 범위 : 계획 단계에서 프로젝트에 포함시킬 사항과 제외시킬 .. 2022. 2. 10.
소프트웨어 형상 관리 일상생활에서 형상이라는 말을 많이 들어 봤을 것이다. 우리가 흔히 알고있는 형상의 뜻은 '모습'이다. 하지만 소프트웨어는 정확한 실체가 없다. 이 때 소프트웨어의 형상을 표현할 수 있는것이 바로 각 단계의 산출물인 '문서'이다. 따라서 소프트웨어에서의 형상 관리란 소프트웨어의 문서를 관리하는 모든 작업을 뜻한다. 형상관리는 소프트웨어 유지보수과정에서 발생하는 각종 결과물들에 대한 계획/ 개발/ 운용들을 종합하여 시스템의 형상을 만들고 이에 대한 변경을 체계적으로 관리, 추적 및 제어하는 활동이다. 형상관리 : 제품 개발에서 요구되는 일반적인 관리절차 소프트웨어 형상관리의 4가지 활동 형상식별 → 관리되어야하는 문서 식별 형상통제 → 문서가 함부로 변경되지 못하게 제어 형상보고 → 문서를 이해 관계자에게 .. 2022. 2. 7.
품질관리와 프로세스 개선 ※ 재검토 필요 이 단원에서는 모르는 용어가 많이 나온다. 처음엔 그냥 대충 넘어갔었는데 하나도 이해가 되질않아서 하나하나 구글링을 해보니 이제야 조금은 이해가 가는것 같다. 용어를 찾아보는게 조금 귀찮더라도 나중에 단원을 끝냈을 때 이해가 되지않아 다시 보는것 보다 시간도 단축되고 이해도 훨씬 쉬워지는것 같다. 이번 단원은 품질보증과 품질관리에 대해 다룬다. 하지만 소프트웨어의 품질을 결정하는것은 매우 주관적이다. 그래서 품질을 결정하는 기준 혹은 품질을 보증해주는 단체 등 여러가지의 품질 보증방법이 있다. 품질관리 : 소프트웨어의 유용성을 얻기 위해 갖추어야하는 특성들의 집합 사용자의 입장에서 봐야함 공식기술검토회를 거쳐야함 ex) ISO 소프트웨어 품질 보증(SQA : Software Quality.. 2022. 2. 5.
유지보수 유지보수는 프로그램이 완성되고 완성된 프로그램을 유지하는 단계이다. 앞서 설명했듯이 개발하는 과정중 가장 많은 비용이 소모되며, 계속적인 변경을 수용할 수 있도록 만들어져야하며 적응성과 확장성을 갖도록 설계되어야 한다. 유지보수의 정의 : 소프트웨어의 사용에서 발생하는 여러 변경사항에 대해 적응하는 활동이며 변화에 대비하는 과정. 유지보수의 종류 수정 유지보수 : 잘못된 것을 수정 ex) 오류 적응 유지보수 : 사회가 변화함에 따라 새로운 환경에 적응 ex) 새로운 버전의 하드웨어 완전 유지보수 : 새로운 기능을 추가함 예방 유지보수 : 미래의 시스템관리를 위함 예방 유지보수의 종류 역공학 : 소프트웨어에 사용된 코드를 보며 그 소프트웨어를 이해함 → 소프트웨어의 문서가 없어 어떻게 분석되고 설계되었는지.. 2022. 2. 3.
소프트웨어 테스트 이번 단원은 개발이 끝난 뒤 테스트를 하는 방법과 그 종류에 대해서 알아보았다. 그 중에는 처음 봐서 많이 생소한 것도 있었고, 나도 모르게 일상생활속에서 많이 접해봐서 익숙했던 방법도 있었다. 어렵다고만 생각했던 테스트 방법도 한번만 다시 생각해보면 정말 당연한 말들이였고 그동안 내가 접해본 수많은 프로그램에서 오류가 났던 유형도 이 단원에서 모두 나와 신기했다. 테스트란 : 소프트웨어의 품질을 확보하고 결함을 찾아내기 위해 수행되는 일련의 작업으로 개발된 소프트웨어의 품질의 평가와 품질향상을 위한 수정 작업 등을 포함한다. 테스트 케이스 : 모든 경우의 수에 대하여 테스트를 하는건 불가능. 따라서 높은 확률로 오류를 찾아낼 수 있는 좋은 시험 사례 일반적인 소프트웨어 테스트 목적 소프트웨어 내에 존재.. 2022. 1. 25.
프로그래밍과 코드 검사 드디어 개발 단계로 넘어왔다. 이제부터 정말 프로그램을 만들기 위한 코드를 짜는 단계이고 분석과 설계 단계의 결과를 내는 단계이기도 하다. 처음 공부를 시작 할때에 직접 코딩을 하는 단계가 가장 어려울 거라 생각했지만, 공부를 하면서 개발이 생각보다 어렵지 않을 거란 생각도 했다. 내 개인적인 생각이지만 개발은 이렇게 개념을 공부하는 것 보단 실질직인 언어 공부를 하는것이 더 효과적일 것 같다. 프로그래밍 : 설계의 연장선. 설계 문서에 나타낸 내용을 컴퓨터가 알 수 있도록 변환하는 것이다. 프로그래밍 언어 1세대 : 기계어, 어셈블리 언어 2세대 : 최초의 고급 언어인 FORTRAN, COBOL 등 3세대 : C, C++ (구조적 프로그래밍) 4세대 : 수행 과정보다 결과물 선언을 중시하는 비절차 언어.. 2022. 1. 24.