목록전체 글 (63)
공부해보잠
프로그램 실행 여부에 따른 테스트애플리케이션을 테스트할 때 프로그램의 실행 여부에 따라 정적 테스트(Static Testing)와 동적 테스트(Dynamic Testing)로 구분됩니다.테스트 유형설명특징정적 테스트 (Static Testing)프로그램을 실행하지 않고 명세서, 소스 코드 등을 분석하여 결함을 찾는 테스트- 개발 초기 단계에서 오류를 발견하여 비용 절감 가능 - 코드 검토(Code Review), 워크스루(Walkthrough), 인스펙션(Inspection) 등을 포함 - 소프트웨어의 논리적 오류나 구조적 문제를 조기에 식별동적 테스트 (Dynamic Testing)프로그램을 실제로 실행하여 오류를 찾는 테스트- 프로그램을 실행하여 입력값과 출력값을 검증 - 소프트웨어 개발의 모든 단계..
애플리케이션 테스트의 개요애플리케이션 테스트는 소프트웨어에 존재할 가능성이 있는 결함을 찾아내고, 개발된 소프트웨어가 요구사항을 충족하는지 확인(Validation)하며, 기능이 올바르게 수행되는지 검증(Verification)하는 과정입니다. 특징소프트웨어가 고객의 요구사항을 만족하는지 검증기능이 정확하게 수행되는지 확인잠재적 결함을 사전에 발견하여 품질을 향상테스트 실행 전에 애플리케이션 유형과 특성을 분석하여 중점적으로 검토할 사항을 선정소프트웨어 유형별 특성 및 중점 사항소프트웨어명제공 유형기능 유형사용환경개발 유형중점 사항A. xx오픈DB 구축서비스 제공 소프트웨어산업 특화Web신규 개발기능 구현 시 사용자 요구사항이 누락되지 않았는지 여부B. xx통합서비스 구현서비스 제공 소프트웨어산업 특화W..
통합 개발 환경(IDE : Intehraed Develpoment Environment)통합 개발 환경(IDE)은 코딩, 디버깅, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어 개발 환경입니다.기존에는 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등의 다양한 도구를 별도로 사용해야 했으나, 현재는 하나의 통합 인터페이스에서 모든 기능을 제공하는 형태로 발전했습니다. 특징코드 작성부터 컴파일, 디버깅, 배포까지 모든 과정을 하나의 환경에서 수행다양한 프로그래밍 언어와 운영체제, 플랫폼을 지원하는 도구들이 존재자동 완성, 코드 분석, 버전 관리 등의 기능을 제공하여 개발 생산성을 향상시각적 UI 지원으로 개발자가..
디자인 패턴 (Design Pattern)의 개요각 모듈의 역할, 모듈 간 인터페이스, 코드 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제이다.문제 해결을 위한 문제 및 배경, 실제 적용 사례, 재사용 가능한 샘플 코드로 구성된다."바퀴를 다시 발명하지 마라(Don’t reinvent the wheel)"라는 원칙처럼, 새롭게 해결책을 구상하는 것보다 기존의 디자인 패턴을 참고하여 적용하는 것이 더욱 효율적이다.한 패턴에 변형을 가하거나 특정 요구사항을 반영하면 유사한 형태의 다른 패턴으로 변화되는 특징이 있다.디자인 패턴의 역사1995년, **GoF(Gang of Four)**라고 불리는 **에릭 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(R..
객체지향 분석(OOA : Object Oriented Analysis)의 개요사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 그리고 그들 간의 관계 등을 정의하여 모델링하는 작업입니다. 특징소프트웨어를 개발하기 위한 비즈니스(업무)를 객체, 속성, 클래스, 멤버, 전체와 부분 등으로 나누어 분석합니다.분석가는 모델링의 주요한 구성 요소인 클래스, 객체, 속성, 연산을 정의하여 문제를 모형화할 수 있습니다.객체는 클래스로부터 인스턴스화되며, 이 클래스를 식별하는 것이 객체지향 분석의 주요 목적입니다.객체지향 분석의 방법론객체지향 분석을 위한 여러 방법론이 있으며, 각각의 방법론은 다음과 같습니다.방법론특징RumBaugh(럼바우) 방법가장 일반적으로 사용되는 방법으로, ..
객체지향 개요 (Object-Oriented Overview)객체지향은 현실 세계의 개체(Entity)를 객체(Object)로 만들어 조립하는 방식으로 소프트웨어를 개발하는 기법입니다. 마치 기계 부품을 조립하여 제품을 제작하듯이 객체를 조립하여 프로그램을 구성합니다. 특징구조적 기법의 문제점을 해결하기 위해 도입된 패러다임재사용성과 확장성이 뛰어나 유지보수가 용이하고, 고품질의 소프트웨어 개발이 가능복잡한 시스템을 단계적 계층 구조로 표현하여 이해하기 쉬움멀티미디어 데이터 처리 및 병렬 처리 지원현실 세계를 모형화하여 사용자와 개발자가 쉽게 이해 가능객체지향의 주요 구성 요소 및 개념객체(Object) : 독립적으로 존재하며 속성과 동작을 가짐클래스(Class) : 동일한 속성과 동작을 갖는 객체들의 ..

아키텍처 패턴(Patterns)의 개요아키텍처 패턴은 소프트웨어 시스템을 설계할 때 참조할 수 있는 전형적인 해결 방식이나 예제를 의미합니다. 이를 통해 아키텍처의 기본 구조와 서브시스템 간의 관계를 정의하고 지침을 제공합니다. 특징:소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽 제시.서브시스템과 그 역할, 서브시스템 사이의 관계, 설계 규칙과 지침 포함."아키텍처 스타일" 또는 "표준 아키텍처"라고도 불림.기존 컴포넌트를 활용하여 개발 시간 단축 및 비용 절감 가능.아키텍처 패턴의 장점개발 효율성 향상시행착오를 줄여 개발 시간을 단축하며 고품질의 소프트웨어 생산 가능.안정성 보장검증된 구조를 바탕으로 안정적인 개발 진행 가능.의사소통 용이이해관계자 간 공통된 아키텍처 공유로 소통이 간편.유지보..
소프트웨어 아키텍처의 설계소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체입니다. 특징의사소통 도구: 소프트웨어 개발 시 적용되는 원칙과 지침이며, 이해 관계자 간의 의사소통 도구로 활용.명확성: 이해하기 쉽고 명확하게 작성되어야 한다.제약과 요구사항 반영: 비기능적 요구사항에서 나타난 제약을 반영하고, 기능적 요구사항을 구현하는 방법을 찾는 설계 과정.구조 결정: 애플리케이션의 분할 방법, 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정.기본 원리: 설계의 기본 원리로는 모듈화, 추상화, 단계적 분해, 정보 은닉이 있다.부가 설명기능적 요구사항: 시스템이 제공해야 하는 서비스나 동작을 정의하며, 사용자가 원하는 주요 기능을..
유스케이스(Use Case) 다이어그램유스케이스(Use Case) 다이어그램개발된 시스템과 관련된 외부 요소(사용자와 다른 외부 시스템)가 개발될 시스템을 이용해 수행할 수 있는 기능을 **사용자 관점(View)**에서 표현한 다이어그램입니다. 주요 특징 :외부 요소와 시스템 간의 상호작용을 확인할 수 있습니다.사용자의 요구사항을 분석하기 위한 도구로 사용됩니다.시스템의 범위를 파악하는 데 도움을 줍니다.유스케이스 다이어그램 구성 요소 구성 요소설명시스템(System) / 시스템 범위(System Scope)시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현.액터(Actor)시스템과 상호작용하는 외부 요소로, 사람이나 외부 시스템을 의미.주액..

UML(Unified Modeling Language)의 개요시스템 분석, 설계, 구현 등 시스템 개발 과정에서 개발자와 고객 또는 개발자 상호 간의 의사소통을 원활하게 하기 위해 표준화된 객체지향 모델링 언어입니다. 특징 :UML은 RumBaugh(OMT), Booch, Jacobson 등의 객체지향 방법론의 장점을 통합하였으며, 객체 기술에 관한 국제 표준화 기구인 OMG(Object Management Group)에서 표준으로 지정되었습니다.UML을 통해 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있습니다.각 다이어그램은 사물과 사물 간의 관계를 용도에 맞게 표현합니다.UML 구성요소사물(Things)UML에서 모델링의 기본 구성 요..