소프트웨어 생명주기 모형 -> 소프트웨어 생명주기를 표현하는 형태프로토타입 모형, 폭포수 모형, 애자일 모형, 나선형 모형 등 많음.한번 떨어진 물은 거슬로 올라갈 수 없음.(css의 cascade느낌인거같음)고전적 생명주기 모형이라고도 함.모형을 적용한 성공 사례가
스크럼은 럭비 경기에서 반칙 시 양 팀 선수들이 럭비공을 가운데에 두고 상대팀을 밀치기 위해 서로 대치해 있는 대형이다.즉, 팀이 중심이 되어 개발의 효율성을 높인다는 뜻이다.팀은 제품 책임자, 스크럼 마스터, 개발팀으로 구성된다.팀원 스스로가 스크럼을 구성한다.개발에
수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시킨다.XP는 짧고 반복적인 개발주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 뜻한다.소규모 인원의 개발 프로젝
서로 개발하려는 시스템의 개발 범위를 명확히 설정하기 위해 현행 시스템의 구성과 제공 기능, 시스템 간의 전달 정보, 사용되는 기술 요소, 소프트웨어, 하드웨어, 그리고 네트워크의 구성 등을 파악한다.1단계시스템 구성 파악시스템 기능 파악시스템 인터페이스 파악2단계아키
개발하고자 하는 소프트웨어와 관련된 운영체제(Operation System), 데이터베이스 관리 시스템(Database Management System), 미들웨어(Middle Ware) 등을 선정할 때 고려해야 할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내
요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.기능 요구사항, 비기능 요구사항시스템 요구사항, 사용자 요구사항요구공학은 무엇을 개발해야 하는지 요구사항을 정의하고, 분석 및 관리하는
소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다.사용자 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정한다.요구사
요구사항 분석 명세서를 기술하도록 개발된 도구를 의미한다.요구사항 분석을 위한 자동화 도구 사용의 이점은 다음과 같다.표준화와 보고를 통한 문서화 품질 개선데이터베이스가 모두에게 이용 가능하다는 점에서 분석자들 간의 적절한 조정교차 참조도와 보고서를 통한 결함, 생략,
개발할 대상물을 다이어그램으로 설계하는 것같은 대상물을 보아도 해석하는게 다르기 때문에 공통된 표현법을 만들어서 사용하는 것이 UML이다.객체기술에 관한 국제 표준화 기구인 OMG(Object Management Group)에서 표준으로 지정하였다.UML을 이용하여 6
유스케이스 다이어그램클래스 다이어그램시퀀스 다이어그램개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현외부 요소와 시스템 간의 상호 작용 확인사용자의 요구사항을 분석하기 위한 도구로 사용시스템의 범위를 파악시스템 범위시스템 내부에서 수행되는 기능들을
사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어사용자 인터페이스의 3가지 분야정보 제공과 전달을 위한 물리적 제어에 관한 분야콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분
UI의 화면 구조나 화면 배치 등을 설계할 때 사용하는 도구이다.종류는 와이어프레임, 목업, 스토리보드, 프로토타입, 유스케이스 등이 있다.기획 단계의 초기에 제작하고 개략적인 레이아웃이나 뼈대를 설계한다.영역구분, 콘텐츠, 텍스트 배치 등을 화면 단위로 설계한다.대표
UI 관련 요구사항을 조사해서 작성하는 단계로 다양한 경로를 통해 사용자의 요구사항을 조사하고 분석한 후 작성해야 한다.요구사항 확인 순서목표 정의활동 사항 정의UI 요구사항 작성사용자들을 대상으로 인터뷰를 진행한 후 사용자들의 의견이 수렴된 비즈니스 요구사항을 정의한
소프트웨어의 품질은 소프트웨어의 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체이다.소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로 확립된다.ISO/IEC 9126ISO/IEC 9126은 소프트웨어 품질 특성
프로토타입은 사용자 요구 사항을 기반으로 실제 동작하는 것처럼 만든 동적인 형태의 모형으로 테스트가 가능하다.사용자의 요구사항을 개발자가 맞게 해석했는지 검증하기 위한 도구로 최대한 간단하게 만든다.일부 핵심적인 기능만 제공하지만 최종 제품의 작동 방식을 이해시키는데
UI 설계를 구체화하여 작성하는 문서사용자의 요구사항을 바탕으로 작성대표적인 화면을 설계기획자, 개발자, 디자이너 등과 원활한 의사소통을 위해 작성한다.프로젝트명, 시스템명을 포함시켜 작성한다.UI 설계서 개정 이력은 UI 설계서가 수정될 때마다 어떤 부분이 어떻게 수
사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가에 대한 척도사용자 측면에서 복잡한 시스템을 얼마나 편리하게 사용할 수 있는지를 평가하는 것으로, 시스템의 문제점을 찾아내고 개선 방향을 제시하기 위한 과정사용 의도 파악사용자의 목적을 명확히 파악
UI 설계서를 바탕으로 실제 설계 및 구현을 위해 모든 화면에 대한 자세한 설계를 진행하는 단계상세설계를 할 때는 반드시 시나리오를 작성해야 한다.UI 시나리오 문서는 인터페이스의 기능 구조, 대표 화면, 화면 간 인터랙션의 흐름, 다양한 상황에서의 예외 처리 등을 문
사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구 개발하는 학문, 시스템을 사용하는데 있어 최적의 사용자 경험(UX)을 만드는 것이다.사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험특징주관성 : 사람마다 느끼는 바가 다르므로 주관
웹 표준 : 웹에서 사용되는 규칙 또는 기술웹 접근성 : 누구나, 어떠한 환경에서도 웹 사이트에서 제공하는 모든 정보를 접근하여 이용할 수 있도록 보장하는 것웹 호환성 : 하드웨어나 소프트웨어 등이 다른 환경에서도 모든 이용자에게 동등한 서비스를 제공하는 것장애인과 비
소프트웨어 아키텍처의 설계 소프트웨어 개발 시 적용되는 원칙과 지침이며 이해 관계자들의 의사소통 도구로 활용된다. 소프트웨어의 기본 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다. 좋은 품질을 유지하면서 사
아키텍처 설계 시 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미검증된 구조로 개발하기 때문에 안정적인 개발이 가능하다.시행착오를 줄여 개발 시간을 단축, 고품질의 소프트웨어 생산공통 아키텍처를 이해관계자들이 공유, 의사소통 간편시스템 구조를 이해하는 것이 쉽다.
주요 구성 요소객체(Object)클래스(Class)주요 개념캡슐화(Encapsulation)상속(Inheritance)다형성(Polymorphism)연관성(Realtionship)독립적으로 식별 가능한 이름을 가지고 있다.데이터와 데이터를 처리하는 함수를 묶어 놓은 하
사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 이와 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분으로 나눠서 분석한다.Rumbaugh(럼
모듈화를 통해 분리된 시스템의 각 기능소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용된다.단독 컴파일이 가능하며, 재사용 할 수 있다.모듈의 독립성은 결합도(Coupling)과 응집도(Cohesion)에 의해 측정되며 결합도는 약하게, 응집도는 강하게, 모
여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다.자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다.공통 모듈을 구현할 때는 다른 개발자들이 해당 기능을 명확히 이해할 수 있도록 다음의 명세기법을 준수한다.정확성
식별, 분류, 배열, 표준화, 간소화순차, 10진, 블록, 그룹분류, 연상, 표의 숫자, 합성 등
디자인 패턴 개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고하여 적용하는 것이 더 효율적이다. 1995년 GoF라고 불리는 집단이 처음으로 구체화 및 체계화하였다. GoF 디자인 패턴은 생성 패턴 5개, 구조 패턴 7
시스템 인터페이스는 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙을 의미한다.시스템 인터페이스 요구사항 명세서 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터, 인터페이스 주기, 기타 고려사
요구사항 검증은 인터페이스 설계 및 구현 전에 사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술되었는지 검토하고 개발 범위의 기준인 베이스라인을 설정하는 것프로젝트 이해관계자들이 프로젝트 품질 관리 계획을 참조한다.검토 기준 및 방법 : 프로젝트의 규모,
인터페이스 관련 자료를 기반으로 개발하고자 하는 시스템의 상세 식별 정보를 정의하고 목록을 작성하는 것인터페이스 관련 자료에는 시스템 아키텍처, 유스케이스가 있다.관련자료들을 기반으로 개발할 시스템과 연계할 내, 외부 시스템들의 상세 식별 정보를 정의하고 목록을 작성하
식별 대상 데이터는 송, 수신 시스템 사이에서 교환되는 데이터규격화된 표준 형식에 따라 전송된다.인터페이스 표준 항목송, 수신 시스템을 연계하는데 표준적으로 필요한 데이터를 의미한다.표준 항목은 시스템 공통부와 거래 공통부로 나뉜다.시스템 공통부 : 시스템 간 연동 시
내, 외부 시스템이 연계하여 작동할 때 인터페이스별 송, 수신 방법, 데이터, 오류 식별 및 처리 방안에 대한 내용을 문서로 명확하게 정리하는 것이다.개발할 시스템과 내, 외부 시스템을 연계할 때 사용되는 기술을 의미한다.주요 연계 기술은 다음과 같다.DB Link :
시스템 인터페이스 현황을 확인하기 위해 시스템이 갖는 인터페이스 목록과 각 인터페이스의 상세 데이터 명세를 정의한 문서이다.명세화 과정에서 작성한 산출물을 기반으로 작성한다.정의서의 내용과 비교하여 누락되거나 보완이 필요한 경우 내용을 수정한다.연계 업무와 연계에 참여
분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신 환경 등을 연결한다.연결 서버와 클라이언트 혹은 운영체제와 응용 프로그램 간의 원만한 통신이 이루어지도록 다양한 서비스를 제공표준화된 인터페이스를 제공함으로써 데이터 교환에 일관성을 보장한다.위치 투
자료 구조는 효율적인 프로그램 생산을 위해 가장 먼저 고려되는 저장 공간의 효율성과 실행시간의 신속성을 분석해야 하는데 있어 중요한 역할을 한다.일련의 자료들을 조직화하고 구조화하는 것어떠한 자료 구조에서도 필요한 연산들을 모두 처리할 수 있다.자료 구조는 선형과 비선
수식의 표기법
삽입 정렬(Insertion Sort)쉘 정렬(Shell Sort)선택 정렬(Selection Sort)버블 정렬(Bubble Sort)퀵 정렬(Quick Sort)힙 정렬(Heap Sort)2-Way 합병 정렬(Merge Sort)기수 정렬(Radix Sort) =
데이터를 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다.논리 데이터저장소와 물리 데이터저장소로 구분된다.논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화 한 것.물리 데이터저장소는 논리 데이터저장소에 저
데이터베이스의 데이터를 출력하는 작업데이터를 조작하는 모든 행위하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 트랙잭션이라고 한다.관계대수와 관계해석을 기초로 한 혼합 데이터 언어이다.데이터 정의어(DDL), 데이터 조
C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQLBEGIN ~ END 형식으로 작성되는 블록(Block)구조로 되어 있기 때문에 기능별 모듈화 가능프로시저, 트리거, 사용자 정의 함수가 있다.프로시저(Procedure)
단위 모듈(Unit Module)의 개요 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것 단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 부른다. 단위 모듈의 구성 요소에는 처리문, 명령문, 데이터 구조 등잉 ㅣㅆ다. 단
단위 모듈 테스트의 개요 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것 단위 테스트(Unit Test)라고도 하며 화이트박스 테스트와 블랙박스 테스트기법을 사용한다. 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템
통합 개발 환경(IDE, Integrated Development Environment) 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(debugger) 등 다양한 툴을 하나의 인터페이스에 통합하여 제공하는 것 통합 개발 환경을
소프트웨어 패키징의 개요 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것 개발자가 아니라 사용자 중심으로 진행한다. 소스코드는 향후 관리를 고려하여 모듈화하여 패키징한다. 사용자가 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징한다
릴리즈 노트의 개요(Release Note) 개발 과정에서 정리된 릴리즈 정보를 소프트웨어의 최종 사용자인 고객과 공유하기 위한 문서 릴리즈는 풀어놓다라는 뜻으로 개발이 완성된 소프트웨어를 출시, 즉 배포하는 것을 의미 소프트웨어 출시 후 개선 작업이 있을 때마다 관
저작권의 개요 창작자가 가지는 독점적 권리로 타인의 침해를 받지 않을 고유한 권한 시, 소설, 논문 등이 이를 가지고 있다. 디지털 저작권 관리(DRM, Digital Right Management)의 개요 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정에 걸쳐
소프트웨어 설치 매뉴얼의 개요 설치하는 과정에서 필요한 내용을 기록한 설명서와 안내서이다. 설치 시작부터 완료까지 전 과정을 빠짐없이 순서대로 설명한다. 사용자 기준으로 작성한다. 서문 서문에는 문서 이력, 설치 매뉴얼의 주석, 설치 도구의 구성, 설치 환경 체크
소프트웨어 사용자 매뉴얼의 개요 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서 개별적으로 동작이 가능한 컴포넌트 단위로 매뉴얼을 작성 소프트웨어 배포 후 발생될 수 있는 오류에 대한 패치나 기능에 대한 업그레이드를 위해 매뉴얼의
소프트웨어 패키징의 형상 관리 형상관리(SCM, Software Configuration Management)는 소프트웨어 개발 과정에서 변경 사항을 관리하기 위해 개발된 일련의 활동이다. 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되
공유 폴더 방식 각자의 컴퓨터에 공유 폴더를 만들어서 작업을 관리하는 방식이다. 다소 아날로그한 방식이기에 주로 사용하진 않는다. 파일의 변경 사항을 데이터베이스에 기록하여 관리한다. 종류는 SCCS, RCS, PVCS, QVCS 등이 있다. 클라이언트/서버 방식
빌드 자동화 도구의 개념 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정이며 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구 라고 한다. Ant, Make, Maven, Gradle, Jenkins 등이 있
애플리케이션 테스트의 개념 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차 고객의 요구사항을 만족하는지 확인(Validation) 기능을 정확히 수행하는지 검증(Verification) 소프트웨어의 분류 상용 소프트웨어 : 산업 특성에 따라 산
프로그램 실행 여부에 따른 테스트 프로그램 실행 여부에 따라 정적 테스트, 동적 테스트로 나뉜다. 정적 테스트 : 워크스루, 인스펙션, 코드 검사 등 프로그램 실행 없이 테스트한다. 개발 초기에 소프트웨어의 개발 비용을 낮추는데 도움이된다. 동적 테스트 : 블랙박스
화이트박스 테스트(White Box Test) 원시 코드를 오픈 시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 모듈의 모든 문장을 한 번 이상 실행함으로써 수행된다. 테스트 과정의 초기에 적용된다. 프로그램의 제어 구조에 따
개발 단계에 따른 애플리케이션 테스트 소프트웨어 개발단계는 우하향하는 그래프로 보여지고 그것을 테스트하는 것은 다시 우상향 그래프로 보여진다. 그렇기 때문에 둘을 합쳐 V-모델 이라고 한다. 소프트웨어 개발 단계는 요구사항, 분석, 설계, 구현으로 나뉜다. 테스트 단
통합 테스트 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법 점진적 통합 방식과 비점진적 통합 방식이 있다. 하향식 통합 테스트(Top Down Integration Test) 프로그램의 상위 모듈에서 하위 모듈 방향으로 통