소프트웨어 공학 요약(4)
-
소프트웨어 공학 - 요약 #4
프로세스와 방법론의 비교 프로세스 방법론 특징 1. 단계적인 작업의 틀을 정의한 것 2. 무엇을 하는가에 중점 3. 결과물이 표현에 대하여 언급 없음 4. 패러다임에 독립적 5. 각 단계가 다른 방법론으로도 실현 가능 1. 프로세스의 구체적인 구현에 이름 2. 어떻게 하는가에 중점 3. 결과물을 어떻게 표현하는지 표시 4. 패러다임에 종속적 5. 각 단계의 절차, 기술, 가이드라인을 제시 사례 - 폭포수 모델 - 나선형 모델 - 프로토타이핑 모델 - 통합 프로세스 - 애자일 프로세스 - 구조적 분석, 설계 방법론 - 객체지향 방법론 - 컴포넌트 - 애자일 방법론 크게 구분하지 않고 쓰는 경우도 많음 지원 프로세스 국제 표준 기구에서 개발 프로세스 말고도 여러 프로세스가 존재한다고 정함 다양한 시각에서 프..
2023.08.21 -
소프트웨어 공학 - 요약 #3
애자일(Agile) 프로세스 이 시대에는 큰 프로젝트는 많지 않고 소형 중형이 많음 → 큰 프로젝트를 위한 통합 프로세스나 폭포수 모델, 나선형 모델은 문서 중심이기 때문에 옳지 않음 폭포수 모델 단점의 극단적인 해결방법 절차나 문서 규칙도 중요하지만 개인과의 소통을 제일 중요시함 잘 쓴 문서보다 잘 실행되는 소프트웨어에 더 가치를 둠 계획을 따라 하는 것보다 어차피 고객들은 변덕스러우니 변경에 잘 대응하는 것이 더 중요함 객체지향처럼 개발하려고 하는 시스템이 어떤 경우에 어떤 목적(사용사례)으로, 어떤 목적으로, 어떻게 사용자가 사용하는지에 대한 스토리를 뽑아놓고 그걸 단위로 진행(또는 피쳐 단위) 테스트 중심 개발 : 사례나 스토리 작성 시 테스트 시나리오 함께 작성 대규모 프로젝트를 하더라도 옛날처..
2023.08.21 -
소프트웨어 공학 - 요약 #2
프로세스의 정의 이 프로세스에서 작업이 이루어지기 전에 반드시 그 작업에서는 어떤 출력이 만들어져야 하는지 정해져 있어야 하고, 어떤 과정으로 이루어져야 하는지(방법), 이 프로세스가 시작되기 위한 입력 조건이 정해져 있어야 함 좋은 프로세스의 특성 프로세스 자체가 예측 가능해야 함 그 작업을 통해 나온 결과들이 유지보수를 좋게 만들어 줄 수 있는 작업이어야 함 변경이 쉬워야 함 → 변경 용이성 오류가 있을 때 빨리빨리 고쳐야 함 → 결함 제거 용이성 프로세스의 종류 개발 프로세스 : 무에서부터 돌아가는 소프트웨어를 개발하는데 필요한 작업들 관리 프로세스 : 제대로 이루어지는지 관리 작업 기타 프로세스 형상 관리 프로세스 : 형상관리 (만들어 진 것들도 체계적으로 관리, 고치는 것들에 대해서도 고쳤다는 ..
2023.08.21 -
소프트웨어 공학 - 요약 #1
소프트웨어 공학 체계적이고 훈련되어지고 정량화할 수 있는 접근의 응용, 소프트웨어의 개발, 운용, 유지보수에 대한 학문 소프트웨어 시스템 : 프로그램과 프로그램의 개발, 운용, 보수에 필요한 정보 일체 현재 코딩 기법보다 10% 정도의 비용이 절약되는 새로운 코딩 기법을 발견하면 사용해야 하는가? 훈련 비용 고려하여 결정 새로운 기술 도입의 영향을 고려 유지 보수에 대한 고려 전통적인 생명주기 모델 유지보수 이미 완성된 프로그램을 고치는 것 유지보수의 목적 : 기능 향상 (명세를 변경하고 변경된 명세를 구현) 유지보수의 유형 완전적 유지보수 수정적 유지보수 : 옳게 고쳐 내재된 결함 제거 적응적 유지보수 예방적 유지보수 고전적 유지보수의 문제점 설치 전 동일한 오류 감지 및 해결 설치 후 고객의 기능 추..
2023.08.20