1. 모델링의 중요성 - 사용자 업무를 표현하는 수단이며, 개발자와 사용자 사이의 의사소통을 위해 사용 - 현실세계를 규칙적으로 나타낼 수 있어 공통적인 이해가 가능하게 함 시스템 개발은 어느 단계에서든지 오류가 발생할 가능성은 다분히 존재한다. 분석가는 의뢰인의 요구를 잘못 이해할 수 있으며, 의뢰인이 이해할 수 없는 문서를 만들어낼 수도 있다. 프로그래머가 분석 결과를 명쾌하게 이해하지 못하고 사용하기 어려운 프로그램을 만들어 냄으로써, 의뢰인의 문제를 제대로 해결해 주지 못할 수도 있다. 이를 해결하기 위해, 시스템 개발에 참여하는 분석가, 의뢰인, 프로그래머, 그 외의 모든 이들이 이해하고 동의할 수 있는 방법으로 설계 과정을 조직화해야한다. 모델은 바로 조직화 수단을 제공하기 위한 것이다. 모델..
1) 폭포수 모형(Waterfall Model) 특징 1970년대 항공 소프트웨어 개발 경험으로 습득 계획 -> 요구분석 -> 설계 -> 구현 -> 테스트 -> 인수 설치 각 단계가 순차적으로 진행되며 다음 단계는 이전 단계가 완전히 끝난 후 진행되어야 함 장점 프로세스가 단순하여 초보자도 쉽게 적용 가능 중간 산출물이 명확하고 관리하기 쉬움 코드 생성 전 충분한 연구/분석이 진행됨 단점 각 단계의 전환에 많은 노력이 필요 필요 없는 다종의 문서를 생산할 가능성이 높음 오랜 계획과 분석으로 코딩 및 테스트가 지연될 가능성 존재 프로토타입과 재사용성의 기회가 줄어듦 적용 분야 이미 잘 알고 있는 문제나 연구 변화가 적은 프로젝트에 적합 2) 프로토타이핑 모형(Prototyping Model) 특징 사용자의..
1. 소프트웨어 프로세스 품질 소프트웨어 품질의 저하는 소프트웨어 개발 경험의 부족에서 오는 경우가 많다. 경험이 부족하여 제대로 된 소프트웨어 개발 프로세스가 없고 품질 향상을 위한 관리 활동도 찾아볼 수 없는 것이다. 세계의 대형 프로젝트의 단 1%만이 목표를 달성하고 있으며 개발 비용이 수백만 원 이상 초과되는 것은 물론이고 납기의 지연은 몇 년씩 연기되고 수십억 원의 개발비용이 투입된 프로젝트들이 실패로 끝나 무용지물이 되고 말았다. 소프트웨어 개발은 인력, 기술, 절차, 도구가 어우러져 통합된 프로세스, 즉 개발을 위한 작업이 질서 있고 경험이 잘 반영되어 있어야 소프트웨어의 품질을 높일 수 있다. 소프트웨어 시스템의 품질은 그것을 개발하는데 사용되는 프로세스의 품질에 좌우되는 것이다. 엔지니어..
그동안 알고있던 요구공학 + 소프트웨어공학이 이번 특강을 듣고 머리가 탁 트이는 느낌이 든다시험보기 전에 훑어보았던 마구잡이 요구공학 내용이다 유스케이스1) 사용자 요구사항을 조사하기 위한 기법2) 사용자 중심, 사용법 중심의 관점3) 시스템과 사용자의 상호작용에 초점을 맞춤 → 최종 사용자용 응용프로그램과 상호작용하는데 매우 뛰어나다.4) 데이터 웨어하우스, 임베디드 제어 소프트웨어, 실시간 시스템, 계산을 수행하는 복잡한 비즈니스 규칙을 포함하는 시스템에 대해서는 한계 → 복잡한 비즈니스 규칙의 상호작용에 의해 주도 - 사용자와 시스템의 상호작용에 강한 복잡성이 없음 - 유스케이스 분석은 모든 시스템의 동작을 정의하는 기술로서는 부족5) 분석가가 사용자의 관점으로 작성하기 때문에 사용자의 비즈니스 측..