본문 바로가기

컴퓨터과학[4-1]28

소프트웨어 공학 - [제10강] 유스케이스 다이어그램 및 명세 소프트웨어 공학 - [제10강] 유스케이스 다이어그램 및 명세주요용어유스케이스: 사용자 입장에서 시스템의 동작을 기술한 시나리오. 시스템의 유사 기능을 나타내는 모든 시나리오들을 구조적으로 표현함.유스케이스 다이어그램: UML 다이어그램의 하나로 시스템 외부의 액터와 시스템이 제공하는 기능을 표현하는 유스케이스를 추상화하여 표현한 그림요구사항: 문제 해결이나 목적 달성을 위해 사용자가 필요로 하는 조건이나 능력요구사항 분석: 자연어로 작성된 요구사항이 정확하고 완전하며 일관성이 있는지 검토하여 수정하는 작업유스케이스 분석: 자연어로 작성된 요구사항을 유스케이스를 사용하여 구조화한 후 이것을 보다 정형화하고 구체화하는 작업유스케이스 분석의 개요유스케이스사용자가 본 시스템 동작에 관한 시나리오액터와 시스템간.. 2017. 1. 3.
소프트웨어 공학 - [제9강] 객제지향 분석과 설계 소프트웨어 공학 - [제9강] 객제지향 분석과 설계주요용어OOA/OOD: 객체 지향 분석과 설계는 상호작용하는 객체들로 시스템을 모델링하는 방법이다. 분석 과정에서는 문제 도메인을 분석하여 다루어야 하는 정보들에 관한 개념 모델을 작성하는 것에 주안점을 둔다. 설계 과정에서는 비기능적 요구사항과 아키텍처를 고려하여 개념 모델을 변환하여 구현을 위한 명세를 작성한다.유스케이스: 사용자가 의도된 작업을 위해 수행하는 시스템과의 일련의 상호 작용 또는 구체적 사용 시나리오로 기능적 요구사항을 의미한다.시스템 설계: 분석 모델을 시스템 설계 모델로 변환하는 일이다. 주요 작업은 아키텍처를 정하는 일이며 구현과 관련된 여러 제약 사항들에 관한 결정이 이루어진다. 아키텍처 설계를 객체지향 방법에서는 시스템 설계라는.. 2017. 1. 2.
소프트웨어 공학 - [제8강] 소프트웨어 유지보수 소프트웨어 공학 - [제8강] 소프트웨어 유지보수주요용어소프트웨어 유지보수: 고객에게 인도되어 사용 중에 있는 소프트웨어를 환경 적응, 오류수정, 성능 향상, 유지보수성 향상 등을 위하여 계속하여 수정, 보완하는 일이다재공학: 레가시 시스템의 이해성을 높이고 유지보수성, 재사용성 등을 개선하기 위해 소프트웨어를 변경하는 작업재구조화: 이해성과 유지보수성을 높이기 위해 프로그램의 제어 구조를 개선하는 작업역공학: 소프트웨어 요소를 분석하여 높은 추상 수준의 표현을 유도하는 작업이다. 예를 들어 시스템을 분석하여 구성 요소들과 그들의 관계를 찾는 일, 소스 코드로부터 설계문서를 유도하는 일, 목적 코드로부터 소스 코드를 유도하는 일 등코드 스멜: 소스 코드에서 문제를 일으킬 수도 있는 나쁜 부분리팩토링: 기.. 2017. 1. 2.
소프트웨어 공학 - [제7강] 소프트웨어 설계 소프트웨어 공학 - [제7강] 소프트웨어 설계 주요용어소프트웨어 아키텍처: 소프트웨어 구조를 말하며 시스템을 구성하는 요소들과 그들 간의 관계를 표현하향식/상향식 설계: 하향식 설계는 시스템의 주요 컴포넌트를 먼저 찾아 설계한 후 그 것들을 낮은 수준의 컴포넌트들로 분해하여 설계하는 것. 상향식 설계는 가장 기본적인 컴포넌트들을 설계한 후, 이것들을 사용하는 상위 수준의 컴포넌트들을 차례로 설계하는 방법아키텍처 스타일: 유사한 애플리케이션들에 적용되는 공통적인 아키텍처 패턴으로 같은 부류의 시스템을 설계할 때 초안으로 사용될 수 있는 아키텍처구조적 설계: 데이터 흐름을 분석하여 시스템을 기능적으로 분해하는 전통적 설계 방법구조도: 구조적 설계 기법에서 아키텍처를 표현하기 위해 사용되는 시스템 모델모듈화:.. 2017. 1. 2.
소프트웨어 공학 - [제6강] 사용자 요구 분석 소프트웨어 공학 - [제6강] 사용자 요구 분석주요용어FURPS+: HP에서 정의한 요구사항 분류 모델로 F는 기능적 요구사항을 의미하며 나머지는 비기능적 요구사항인 사용성, 신뢰성, 성능, 지원성을 의미한다. +는 제약조건이다.요구 공학: 시스템의 목표와 기능 및 제약 사항을 결정하는 과정으로 시스템 요구사항을 만들고 유지하기 위한 반복적 프로세스를 말한다.JAD: 애플리케이션 설계와 개발 과정에 고객과 사용자를 참여시키는 방법론이다. 고객과 개발자 간의 협력과 합의를 위해 워크숍을 진행한다.객체지향 분석: 객체와 객체 간의 관계를 바탕으로 요구 사항을 분석하는 방법이다. 클래스 다이어그램으로 표현되는 분석 객체 모델과 상태 다이어그램이나 시퀀스 다이어그램으로 표현되는 동적 모델로 분석 과정의 결과물을.. 2016. 12. 31.
소프트웨어 공학 - [제5강] 소프트웨어 테스트 소프트웨어 공학 - [제5강] 소프트웨어 테스트주요용어소프트웨어 테스트: 프로그램을 실행시켜 결함을 찾고자 하는 활동결함 테스트/검증 테스트: 결함 테스트는 소규모 코드에서 결함을 찾고자 하는 것이며 검증테스트는 고객이 원하는 것인지를 보이기 위한 고수준 테스트상향식/하향식 통합: 제어 계층 구조상의 최상위 모듈부터 시작하여 아래의 하위 모듈들을 통합시켜 가는 것을 하향식이라 하며, 최하위 수준을 먼저 만들고 위 수준의 모듈들을 차례로 통합하는 것을 상향식 통합이라 함화이트박스 테스트: 프로그램의 논리 구조에 바탕을 두어 테스트하는 것으로 구조 테스트라고도 함테스트 케이스 선정 기준: 화이트박스 테스트 방식에서 테스트 케이스들이 얼마나 적정한지를 판단하는 기준으로 문장, 분기, 조건 검증 기준 등블랙 박.. 2016. 12. 29.