일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- HWP
- sm
- 이름바꾸기
- 특정페이지가로로
- 홈페이지제작견적
- 가로세로세팅
- 베른 떠돌이상인
- SE
- 애니츠 떠돌이상인
- SI
- 슈샤이어 떠돌이상인
- 작은화면
- 루테란 떠돌이상인
- SSL
- 토토이크 떠돌이상인
- 아르데타인 떠돌이상인
- 3
- PIP모드
- 한글
- zoom
- 파푸니카 떠돌이상인
- 페이튼 떠돌이상인
- 욘 떠돌이상인
- 유튜브
- https
- IT용어
- 로헨델 떠돌이상인
- Today
- Total
도담도담
1.소프트웨어 설계 (정처기 공부) 본문
인터넷으로 공부하면서 나중에 훑어보려고 적는 노트
1.소프트웨어 설계
User Interface 설계 시 오류 메시지나 경고에 관한 지침
1) 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함.
2) 유효성(Effectiveness) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함.
3) 학습성(Learnablilty) : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함.
4) 유연성(Flexibility) : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함.
애자일 방법론 특징
1) 프로젝트 요구사항은 '기능' 중심
2) 공정과 도구보다 '개인'과 소통을 중요시
3) '변화'에 유연하고 신속한 대처
4) '고객'과의 피드백을 중요시
객체지향의 주요 개념(원칙)
캡슐화(Encapsulation)
-데이터와 데이터를 처리하는 함수를 하나로 묶은 것
-캡슐화된 객체의 세부 내용이 은폐되어 변경이 발생해도 오류의 파급효과가 적음
-캡슐화된 객체들은 재사용이 용이함
-인터페이스가 단순해지고 객체간의 결합도가 낮아짐
상속성(Inheritance)
-객체지향 프로그래밍에서 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스가 상속(물려)받는 것
-하위 클래스는 상위 클래스로부터 받은 속성과 연산 외에도 새로운 것을 첨가 가능
-클래스의 재사용, 소프트웨어의 재사용을 높이는 중요한 개념
-속성과 연산 등을 물려주는 클래스를 상위 클래스 또는 슈퍼 클래스, 물려받는 클래스를 하위 클래스 또는 서브 클래스라고 한다.
다형성(Polymorphism)
-하나의 메시지에 대해 각 객체가 갖고 있는 고유한 방법대로 응답하는 것을 의미
-하나의 클래스나 메서드가 다양한 방식으로 동작이 가능한 것을 의미
-오버로딩과 오버라이딩이 존재
통합테스트
1. 하향식 통합 테스트 ( Top Down Integration Test )
a. 깊이 우선 통합법, 넓이 우선 통합법 사용
b. 테스트 초기 부터 사용자에게 시스템 구조 보여줄 수 있다.
c. 상위 모듈에서는 tc를 사용하기 어렵다.
d. 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
e. 절차
- 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁 ( stub )로 대체 한다.
- 깊이우선 or 넓이 우선 등의 통합방식에 따라, 하위 모듈인 스텁들이 한 번에 하나씩 실제모듈로 교체된다.
- 모듈이 통합될 때마다 테스트 실시
- 새로운 오류가 발생하지 않음을 보증 하기 위해 회귀 테스트 실시
2. 상향식 통합 테스트 ( Bottom Up Integration Test )
a. 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트 하는 방법
b. 가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다.
c. 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스티 ( cluster ) 은 필요하다.
d. 절차
- 하위 모듈을 클러스터로 결합
- 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 드라이버 작성
- 통합된 클러스터 단위로 테스터
- 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동 하여 결합하고, 드라이버는 실제 모듈로 대체
자료흐름도 4가지 구성요소
- 처리 Process : 원
- 자료흐름 Data Flow : 화살표
- 자료저장소 Data Store : 평행선
- 단말 Terminal : 사각형
스프린트
- 실제 개발을 2~4주간 진행하는 과정
- 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발 자에게 할당합니다.
- Task는 할 일, 진행 중, 완료의 상태로 구성된다.
정적(구조적)다이어그램
: 클객컴배복패
원칙
단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐
개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
리스코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자로 사용할 때, 그 타입의 하위 타입도 문제 없이 작동해야 함
의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있음
GoF(Gangs of Four) 디자인 패턴
생성패턴
- 추상팩토리(Abstract Factory)
- 빌더(Builder)
- 팩토리메서드(FactoryMethod)
- 프로토타입(Prototype)
- 싱글톤(Sington)
구조패턴
- 어댑터(Adapter)
- 브리지(Bridge)
- 컴포지트(Composite)
- 데코레이터(Decorator)
- 파사드(Facade)
- 플라이웨이트(Flyweight)
- 프록시(Proxy)
행위패턴
- 책임 연쇄(Chain of Responsibility)
- 커맨드(Command)
- 인터프리터(InterPreter)
- 이터레이터(Iterator)
- 중재자(Mediator)
- 메멘토(Memento)
- 옵서버(Observer)
- 상태(State)
- 전략(Strategy)
- 템플릿메서드(Template Method)
- 방문자(Visitor)
디자인패턴
: 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.
소프트웨어 아키텍처의 설계과정
설계목표설정 -시스템 타입 결정 - 아키텍처 패턴 적용 - 서브시스템 구체화 - 검토
방법론
Rumbaugh(럼바우) 방법
모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법으로, 객체 모델링 기법(Object Modeling Technique) 라고도 한다. 분석활동은 객체모델링 -> 동적 모델링 -> 기능 모델링 순으로 통해 이루어진다
Booch(부치) 방법
미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.
Jacobson 방법
Use Case를 강조하여 사용하는 분석 방법이다.
Coad와 Yourdon 방법
E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법
Wirfs-Brock 방법
분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
용어 및 단어
스토리보드 : 디자이너와 개발자가 최종적으로 참고하는 작업지침서. 상단이나 우측에 제복,작성자등을 입력하고 좌측에는 UI화면,우측엔 디스크립션을 기입한다.
프로토타입 : 와이어프레임이나 스토리보드등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
유스케이스 : 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
EAI(Enterprise Application Integration): 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
FEP(Front-End Processor): 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
GPL(General Public License): 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스
Duplexing: 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)
Method(메서드) : 클래스로부터 생성된 객체를 사용하는 방법, 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
Message(메시지) : 객체 간 상호 작용을 하기 위한 수단, 객체에게 어떤 행위를 하도록 지시하는 방법
Class(클래스) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀, 객체 지향 프로그래밍에서 데이터를 추상화하는 단위
Field(필드) : SQL에서 열 또는 속성이라고 불리는 것
'IT 공부 > 개인정리' 카테고리의 다른 글
3.데이터베이스 구축 (정처기 공부) (0) | 2022.03.31 |
---|---|
2.소프트웨어 개발 (정처기 공부) (0) | 2022.03.28 |
버블정렬 (Bubble Sort_ JavaScript) (0) | 2022.03.02 |
자바스크립트로 다음달 자동이체일 확인하기 (0) | 2022.02.16 |
자바스크립트로 나이 계산식 만들기 (0) | 2022.02.14 |