1. 요구사항 분석을 위한 CASE (자동화 도구)요구사항을 자동으로 분석, 요구사항 분석 명세서를 기술하도록 개발된 도구를 의미요구사항 분석을 위한 자동화 도구 사용의 이점표준화 보고를 통한 문서화 품질 개선데이터베이스가 모두에게 이용 가능하다는 점에서 분석자들 간의 적절한 조정교차 참조도와 보고서를 통한 결함, 생략, 불일치 등의 발견 용이성변경이 주는 영향 추적의 용이성명세에 대한 유지보수 비용의 축소자동화 도구의 종류SADT시스템 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계를 위해 널리 이용되어 온 구조적 분석 및 설계 도구구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구SREM = RSL / REVS실기삭 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 ..
1. 요구사항 분석의 개요소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정사용자 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성 있게 분석하여 문서화해야 함요구사항 분석 단계 : 소프트웨어 분석가에 의해 요구사항 분석이 수행되는 단계요구사항 분석에 사용되는 도구 : 애자일 방법, UML, 자료흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서 등2. 구조..
1. 요구사항의 개념 및 특징소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건을 나타냄소프트웨어 개발이나 유지 보수 과정에서 필요한 기준과 근거를 제공개발하려는 소프트웨어의 전반적인 내용을 확인할 수 있게 하므로 개발에 참여하는 이해관계자들 간의 의사소통을 원활하게 하는데 도움을 줌이해관계자 : 소프트웨어 개발 의뢰자, 소프트웨어 개발자, 소프트웨어 사용자 등요구사항이 제대로 정의되어야만 이를 토대로 이후 과정의 목표와 계획을 수립할 수 있음2. 요구사항의 유형기술하는 내용에 따른 분류기능 요구사항시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항시스템의 입력이나 출력으로 무엇이 포함되어야 하는지, 시스템이 어떤 데이터를 저장하거나 연산을 수..
1. 개발 기술 환경의 정의개발하고자 하는 소프트웨어와 관련된 운영체제, 데이터베이스 관리시스템, 미들웨어 등을 선정할 때 고려해야 할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내용을 제시미들웨어 (Middle Ware) : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어2. 운영체제 Operating System (OS)컴퓨터 시스템의 자원들을 효율적으로 관리사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어컴퓨터 운영체제의 종류에는 Windows, UNIX, Linux, Mac OS 등이, 모바일 운영체제에는 iOS, Android 등이 있음자원 : 시스템에서 사용할 수 있는..
1. 스크럼의 개요팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어팀원 스스로가 스크럼 팀을 구성(self-organizing)해야 하며, 개발 작업에 관한 모든 것을 스스로 해결(cross-functional)할 수 있어야 함스크럼 팀의 구성 : 제품 책임자, 스크럼 마스터, 개발팀제품 책임자 Product Owner (PO)개발 의뢰자나 사용자가 담당이해관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사 결정할 사람으로 선정이해관계자 : 소프트웨어 개발과 관련해서 이해 관계자는 소프트웨어 개발 의뢰자, 소프트웨어 개발자, 소프트웨어 사용자 등이해관계자들의 의견을 종합하여 제품에 대한 요구사항을 작성하는 주체요구사항이 담긴 백로그를 작성하고 백로그에 대한 우선순위를 지..
1. 소프트웨어 생명 주기 Software Life Cycle소프트웨어 수명 주기소프트웨어 개발 방법론의 바탕이 되는 것소프트웨어 개발 방법론 : 소프트웨어 개발과 유지보수 등에 필요한 여러 가지 작업들의 수행 방법과 작업들을 좀 더 효율적으로 수행하기 위해 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것소프트웨어 개발 단계, 각 단계별 주요 활동, 활동의 결과에 대한 산출물로 표현소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형소프트웨어 공학소프트웨어 공학의 개념소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문여러 가지 방법론과 도구, 관리 기법들을 통하여 소프트..