목록CS/소프트웨어공학 (34)
개발자꿈나무
디자인 패턴- 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제- 디자인 패턴은 1995년 GoF(Gang of Four)에 의해 처음으로 구체화 및 체계화됨- 아키텍처 패턴과 디자인 패턴의 차이점은 아키텍처 패턴은 상위 수준의 설계에 사용되며 전체 시스템의 구조를 설계하기 위한 참조 모델이라면, 디자인 패턴은 서브시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델더보기Q. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?1. 모듈 분해2. 디자인 패턴3. 연관 관계4. 클래스 도출 디자인 패턴 장점 / 단점- 범용적인 코딩 스타일로 ..
소프트웨어 아키텍처- 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체- 소프트웨어 개발 시 적용되는 원칙과 지침이며, 이해 관계자들의 의사소통 도구로 활용- 이해하기 쉽고, 명확하게 작성이 되어야 함소프트웨어 아키텍처의 설계- 기본적으로 좋은 품질을 유지하면서 사용자의 비기능적 요구사항으로 나타난 제약을 반영하고, 기능적 요구사항을 구현하는 방법을 찾는 해결 과정- 애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정* 기능 / 비기능적 요구사항 : 시스템이 갖춰야할 필수적인 기능에 대한 요구항목들을 기능적 요구사항, 그 외의 품질이나 제약사향에 관한 것을 비기능적 요구사항이라고 함소프트웨어 아키텍처 ..
코드의 개요 - 코드는 컴퓨터를 이용해서 자료를 처리하는 과정에서 분류 / 조합 및 집계를 용이하게 하고 특정 자료의 추출을 쉽게 하기 위해 사용하는 기호 - 코드는 정보를 신속하고 정확하게 전달할 수 있게 함 - 일반적인 코드의 예: 주민등록번호, 학번 등 코드의 주요기능 식별 기능 : 데이터 간의 성격에 따라 구분이 가능 분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화할 수 있음 배열 기능 : 의미를 부여하거나 나열할 수 있음 표준화 기능 : 다양한 데이터를 기준에 맞춰 표현할 수 있음 간소화 기능 : 복잡한 데이터를 간소화할 수 있음 코드의 종류 순차 코드 (Sequence Code) = 일련 번호 코드 - 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 차례로 일련번호를 ..
CASE (Computer Aided Software Engineering-자동화 도구) - 소프트웨어의 생명주기 전반을 지원하는 프로그램 또는 소프트웨어 개발을 지원하는 자동화도구 혹은 방법론의 결합 - 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구 장점 - 표준화와 보고를 통한 문서화 품질 개선 - 데이터베이스가 모두에게 이용 가능하다는 점에서 분석자들 간의 적절한 조정 - 교차 참조도와 보고서를 통함 결함, 생략, 불일치 등의 발견 용이성 - 변경이 주는 영향 추적의 용이성 - 명세에 대한 유지보수 비용의 축소 종류 SADT (Structured Analysis and Design Technique) - SoftTech 사에서 개발한 것으로 시스템 정의, 소프트웨어 요..
시스템 시스템 - 하나의 공통적인 목적을 가지고 있는 구성 요소들을 상호 결합해 놓은 유기적 집합체 시스템 구성 요소 - 입력 (Input) : 처리방법, 제어조건, 처리할 데이터를 시스템에 투입하는 요소 - 출력 (Output) : 처리된 결과를 시스템에서 출력하는 요소 - 처리 (Process) : 입력된 자료를 처리 조건에 따라 변환 및 가공하는 요소 - 제어 (Control) : 시스템의 기본 요소들이 각 과정을 올바르게 행하는지 감독하는 요소 - 피드백 (Feedback) : 처리된 결과를 측정하고 목표에 도달되었는가를 검사하며 불충분할 경우 다시 입력하는 요소 피드백의 종류 - 전수 피드백 : 출력되는 신호를 전부 피드백하는 방법 - 부분 피드백 : 지정된 일부의 내용만 제한된 시간 내에 피드..
요구사항 명세 - 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것 - 기능 요구사항은 빠짐없이 완전하고 명확하게 기술해야 하며, 비기능 요구사항은 필요한 것만 명확하게 기술 - 사용자가 이해하기 쉬우며, 개발자가 효과적으로 설계할 수 있도록 작성 - 잘못된 부분이 확인될 경우 그 내용을 요구사항 정의서에서 추적할 수 있어야 함 - 구체적인 명세를 위해 소단위 명세서가 사용될 수 있음 소프트웨어 요구사항 명세서 (SRS) - 시스템의 모든 동작뿐만 아니라 성능, 보안, 사용성과 같은 품질도 기술 - 프로젝트 유형에 맞게 양식을 만들어 사용 - 소프트웨어 요구사항 명세서에 포함되는 시스템 기능, 데이터, 외부 인터페이스, 품질 요구사항은 요구사항 단위별로 개별 요구사항 명세서를 작성 요구사항 명세 ..