객체의 이해 객체의 개념 실세계에서 어떤 구체적 의미를 구성하는 하나의 실체 단위로 특정 사물 및 개념이며 클래스(범주)의 인스턴스 필요로 하는 데이터와 그 위에 수행되는 함수들을 가진 작은 소프트웨어 모듈 데이터는 객체의 상태를 저장하는데 사용되고, 함수는 그 객체가 수행할 수 있는 기능을 정의 객체의 특성 객체는 속성과 행동을 가지고 있으며, 객체의 행동은 자신이 수행하는 연산(Operation)으로 구성됨 객체는 상태를 유지할 수 있어야 하며 기능을 가져야 함 객체는 다른 객체와 구별할 수 있는 식별자를 가져야 함 객체 지향의 이해 객체 지향의 의미 객체(예를 들어 "학생","교수","지도' 등)의 구체적 의미를 구성하는 각각의 실체 단위를 정의하고, 그 관계를 파악하는데 주의를 기울이는 작업 방법..
UML의 개요 UML의 정의 객체 기술에 관한 국제 표준화 기구(OMG; Object Management Group)에서 인정한 객체 지향 분석, 설계를 위한 통합 모델링 언어 Jabcoson(Use Case Model), Rumbaugh(OMT), Booch(Object Design)의 기법 통합 방법론과 모델링 언어의 차이점 방법론 : 생각과 행동을 구조화하는 방법을 제공(모델을 만들 때 어떻게, 언제, 무엇을, 왜라는 모든 방법을 제시하는 것 모델링 언어 : 모델을 단지 표현하는 것 UML의 출현 배경 시스템의 대형화 및 복잡도가 증가하여 좋은 모델링 언어의 필요성이 부각 모든 영역에 있어서 어떤 구조의 복잡도라도 설명할 수 있는 표기(Notation)와 의미(Semantic)를 표현 가능한 모델링..
Use Case Diagram Use Case Diagram의 개념 정의 Use Case 는 사용자의 입장에서 본 시스템의 행동을 표현 사용자의 요구 사항을 어떻게 문서화 하는가에 대한 방법 제시, 즉 사용자는 Visual한 정의, 개발자는 분석/설계로 전이가 용이 특징 이해하기 쉽고, 사용자 참여 용이 SDLC 전 체계에 영향 시스템과 사용자의 관계 정립 구성요소 Use Case : 사용자에 의해 수행되는 트랜잭션 Actor : Stick man, 시스템 외부에서 시스템의 작동 요인 Specification : Use Case 흐름을 기술 Relation : 일반적인 사용, extends 수행절차 Actor 선정 --> Use Case 선정 --> Diagram 작성 --> Spec 작성 Actor 정..
소프트웨어의 품질 개념 소프트웨어의 특징 논리적 대규모 집합체 장점 : 물리적 화학적 영향을 받지 않고 마모나 부식 같은 변화가 없음 단점 : 정확하게 조립하는 기술을 아직 충분히 확립하지 못하고 있음 눈에 보이지 않는 물체 소프트웨어 자체를 어떻게 하면 좋은지, 품질을 어떻게 평가할 것인지 등의 많은 문제와 품질 보증 측면에서 소프트웨어 개발 프로세스가 비가시적이 점도 커다란 문제로 부각됨 소프트웨어 개발 상의 문제 다양한 요구 사용자 요구를 얼마만큼 정확하게 파악하여 사양화할 것인가는 소프트웨어 공학과 품질 보증의 최대 과제이며 또한 요구 사항의 취합이 어려움 개인 의존도 생산성이나 품질은 개인의 능력차에 의해 수배 차이가 나며, 개발 지원 도구, 개발 기법 도입 등으로 개선된다 하더라도 품질 보증의..
소프트웨어 품질 보증의 개념 품질 보증의 정의 ISO 8402 어떤 물건이 품질 요구 사항을 만족하고 있다는 것에 대해 충분한 신뢰성을 주기 위해 품질 시스템 중에서 실시되고 필요에 따라 실증되는 모든 계획적이고 체계적인 활동 ANSI/IEEE 물품 또는 제품을 정해진 기술적 요구 사항에 적합하게 함으로써 충분한 신뢰를 얻는 데 필요한 모든 계획적이고 체계적인 활동의 유형 일반적 정의 소비자가 만족하는 제품 또는 서비스의 품질을 보증하기 위한 조직적.체계적 활동 품질 보증의 특성 소프트웨어 특징 품질 보증 관점 방법 논리의 대규모 집합체 논리의 구조화 논리의 검증 논리의 명확한 표현 구조 설계법 디자인/코드 검토, 테스트 도식화 설계 기법 비가시성 프로그램의 시각화 프로세스의 시각화 CASE 툴의 지원 ..
소프트웨어 품질 표준 개요 품질관점 관련표준 품질 경영 시스템(Quality Management System) ISO 9000 시리즈 TickIT 프로세스 품질(Process Quality) ISO/IEC 12207 SPICE(ISO 15504) CMM/CMMI 제품 품질(Product Quality) ISO 9126 ISO 12119 ISO 14598 품질 경영 시스템 ISO(International Organization form Standard)의 정의 ISO 9000의 개요 ISO 9000 인증 획득의 필요성 ISO 9000의 규격 ISO 9001 : 2000 개정 규격의 구조 ISO 9000 : 품질 개념 및 용어 ISO 9001 : ISO 9004 : 품질 경영 시스템 지침 내용상의 특징 제조..
ISO 9126 표준 ISO 9126의 개념 소프트웨어 제품의 품질 특성 및 척도에 대한 표준화 소프트웨어의 품질 보증을 위한 구체적인 정의가 필요하여, 1980년대 후반 ISO에서 사용자 관점에서 소프트웨어 품질 특성의 표준화 작업 수행 ISO 9125 구성 내역 ISO/IEC 9126(품질 특성 메트릭 : Quality Characteristics and Metrics) 소프트웨어 제품 품질에 대한 대표적인 모델 ISO 9126-1(품질 모델 : Quality Model) 소프트웨어 제품 품질 평가를 위한 프레임워크를 정의한 것으로, 6가지 품질 특성과 각 특성에 대한 21가지의 부특성으로 구성 ISO 9126-2(외부 메트릭 : External Metric) 소프트웨어가 사용될 때 외부적인 성질을 ..
프로세스의 개념 프로세스의 정의 프로세스 : 일정한 목적을 위해 수행되는 일의 순서(IEEE) 소프트웨어 프로세스 : 사람들이 소프트웨어 및 관련 산출물을 개발하고 유지보수하기 위해 사용하는 일련의 활동, 방법, 실무 및 변형(CMM) 소프트웨어 프로세스의 중요성 소프트웨어 시스템의 품질은 시스템을 개발하는데 사용되는 프로세스의 품질에 의해 좌우됨(Watts S. humphrey) 제품만을 중점 관리할 경우 단순한 측정으로 개선방법에 대한 지식 등을 간과하게 됨 프로세스를 중점 관리할 경우 결과에 대한 반복 가능성 프로젝트 추이, 제품 특성 등을 예측할 수 있음 소프트웨어 프로세스 모델 소프트웨어 프로세스 모델의 특성 ISO 9001 : 제품이 아닌 조직의 시스템이 제대로 갖추어져야 그 조직의 제품도 품..
소프트웨어 유지보수 개념 정의 SDLC의 마지막 단계로 소프트웨어의 생명을 연장 시키는 작업 소프트웨어가 개발되어 폐기될 때까지 이루어지는 일련의 소프트웨어 변경과 수정 작업 소프트웨어 인도 후 결함 제거, 성능 향상, 변화된 환경에 적응하도록 소프트웨어를 변경하는 작업 개발은 코딩 중심의 작업, 유지보수는 이해 중심의 작업 소프트웨어 유지보수의 중요성 유지보수 비용증가(개발 비용의 2~4배) 신규 프로젝트보다 기존 제품 유지보수에 더 많은 인력과 비용 소모 유지보수 기간이 개발 기간보다 김(개발 : 1~2년, 유지보수 : 5~10년) 기존 시스템의 수정 작업 증가(원인 : 새로운 Biz 요구 충족) 소프트웨어 유지보수 유형 목적에 따른 분류 수정 유지보수 : 오류 정정(하자(오류) → 처리 오류, 수행..
IT 아웃소싱의 개요 IT 아웃소싱의 정의 전통적 정의 IT 기능의 전반적 혹은 부분적 책임을 외부 업체에 맡기는 것, 또는 IT의 비 핵심적 기능 및 서비스를 외부 업체에 위탁하는 것 최신의 정의 IT의 발전에 따라 비즈니스 프로세스를 변화시키기 위한 전략 IT 아웃소싱의 배경 과거 비용 절감, 원가 절감, 자체 기술력의 부족, 개발 인력의 부족 등으로 인해, 전문 지식을 가진 업체나 기술 인력으로 부터 기술을 이전받기 위함 현재 전략적 차원에서 전문 분야에 집중하여 고부가가치의 업무 형태로 관리하고, 불확실한 시장 상황 변화로 부터 비즈니스의 적응력 학보를 위한 방안 IT 아웃소싱의 발전 추세 ~ 90년대 초반 ITO(IT Outsourcing) 단순히 비용 절감만을 목적으로 하는 전통적인 아웃소싱 ..