본문 바로가기

전체 글135

디자인 패턴 어제 쉬고 왔더니 확실히 공부가 잘되는것 같다. 오랜만에 드라이브도 갔다오고 피시방에서 게임도 했다. 그리고 코노에서 1시간 있었더니 목이 나갔었다. 크크 앞으로도 일주일에 한번정도는 쉬면서 분위기도 바꿔보고 여러가지 취미생활도 할 예정이다. 오늘 배운건 디자인 패턴이다. 패턴이란 일정하게 반복되는 모양? 이다. 그냥 평소에 알고 있는 그 패턴이 맞으니 따로 구체적인 설명은 하지 않겠다. 무아레 패턴 가끔씩 모니터나 버스 시간표를 카메라로 찍으면 이상한 물결무늬가 나와 원하는 화면을 찍지 못할 때가 있다. 그 때 나오는 물결무늬를 무아레 패턴 이라고 한다. 무아레패턴으로 인해 화질이 떨어지거나 원하는 것을 못 찍을 때도 있지만, 아래 그림처럼 그것을 이용하기도 한다. 소프트웨어에서의 디자인 패턴 특징 ①.. 2022. 1. 23.
자료 흐름 중심 설계와 데이터베이스 설계 이 단원에서는 지금까지 배운 정보 모델링, 객체지향분석을 통해 얻은 ER모델/클래스 다이어그램을 '관계형 데이터베이스'로 옮기는 과정을 배운다. 다시말해 구조적 분석을 통해 얻은 산출물을 프로그램 구조로 바꾸는 것이다. 그 과정에서 필요한 것이 자료 흐름 중심 설계이다. 자료 흐름 중심 설계 (DFD : Data Flow-oriented Design) - 앞서 분석을 하며 얻은 결과를 구조적 설계로 옮기는 과정 - 시스템을 모듈화하여 하향식으로 세분화 개요 - 프로세스, 자료흐름, 자료저장소, 외부객체로 구성 - 구조적 설계를 위한 입력 = DFD에 기초한 요구사항 명세서 구조도표 - 모듈들 사이의 자료와 제어의 흐름을 보여주며 반복, 선택과 같은 프로그램 제어구조를 나타냄 구조도표의 표기법 사각형 = .. 2022. 1. 21.
소프트웨어 설계 기법 최근들어 공부에 대한 의욕이 점점 사라지고 있다는걸 요즘 느끼고 있다. 그동안 내가 쓴 글들을 하나하나 읽어보았는데 모델링에 들어갈때까지는 되게 열정이 넘쳐서 내 경험에 빗댄 예시도 많이 들곤 했었지만, 최근 글은 전부 책에 있는 내용만 받아쓰기 한 느낌이다. 이제 곧 개강도 다가오고 여자친구도 생겨서 바쁠일이 되게 많을텐데 이제라도 다시 초심으로 돌아가 공부를 해야겠다. 소프트웨어 공학 카테고리의 거의 초반부분 글을 보면 개발의 단계는 크게 5가지로 나누어져 있는 것을 알 수 있다. ① 요구사항분석 (계획) ② 설계 ③ 개발 ④ 테스트 ⑤ 유지 및 보수 이렇게 나누어져 있는데 지금까지는 여러가지 모델링을 통한 분석 과정을 배웠었다. 이제는 다음 단계인 '설계'이다. 앞서 설명했듯 설계와 계획은 비슷하면.. 2022. 1. 20.
유스케이스와 UML 이번 단원에서는 이 표의 대해서 조금 더 구체적으로 배웠다. 저번 단원과 같은 내용을 다루지만 전의 글은 개념을 설명했고 이번 단원은 인터넷 쇼핑몰을 예로 들어서 심화된 내용을 배울 수 있었다. * 유스케이스 : 사용자가 어떤 용도로 시스템을 시용하는가 / '사용 예'의 해당 유스케이스 모델링이 필요한 이유 : 앞서 설명했다시피 기능 모델링은 사용자가 '무엇'을 요구하는 지에 초점을 두고있다. 유스케이스 모델링은 고객의 요구가 무엇인지 빠르게 파악할 수 있다. 유스케이스 다이어그램 : 유스케이스와 행위자, 그 관계를 나타낸 다이어그램 ① 유스케이스 → 타원으로 표현 ② 행위자 → 사람의 형태 혹은 허수아비로 표현 (때때로 하드웨어나 다른 시스템의 행위자가 될 수 있음) 관계 유형 ③ 일반화 관계 → 기본.. 2022. 1. 19.
객체지향 분석 기법 처음에 객체지향 단원을 들어가면서 저번에 배웠던 내용이라 쉬울거라고 생각했었다. 그런데 막상 예전에 겉핥기식으로 공부했던 것으로 이 내용을 이해하려 하니 내가 생각했던 것보다 더 어려웠던 것 같다. 그래서 더 열심히 이해하려 노력하며 공부했던 단원이다. 객체지향 분석 기법의 개념 객체 (object) 속성 (attribute) 동작 (behaviour) 클래스 (class) 관계(relationship) 객체지향 분석 기법의 순서 객체지향 분석 객체지향 설계 객체지향 프로그래밍 객체지향 테스트 객체지향 분석 기법의 정의 - 앞에서 배운 세가지 모델링 기법을 단계별로 적용하여 그 결과를 통합한 것 객체지향 분석 프로세스 ①「 행위자의 시스템을 사용하는 용도와 목적에 따라 사용사례를 정의 (기능 모델링) ②.. 2022. 1. 17.
정보 모델링 정보 모델링은 전에 정처기 공부했을 때 배웠던 내용이 많아 상당히 쉬웠다. 이 단원을 공부하며 어려웠던 동적 모델링도 다시한번 복습할 수 있는 시간을 가졌고, 떨어져 가던 내 의욕에 다시 불을 붙힐 수 있는 계기가 됬다. 사실 이 단원은 전에 공부했었는데 앞단원에서 막혀서 블로그도 늦게 쓰는 중이다. 그래서 다시 복습겸 블로그 작성을 하고 자려고 한다. 정보 모델링 - 시스템에 사용되는 데이터베이스의 구조를 알아내 데이터를 개념적 차원에서 기술한다. - 물리적인 면은 나타내지 않는다. - ER모델(Entity-Relationship)이 가장 많이 사용된다. ER모델 - 엔티티와 객체들 사이의 연관성을 나타내는 관계로 구성 *엔티티 : 독립적으로 존재하는 사물 혹은 객체 ex) 명재휘 *엔티티 타입 : 엔.. 2022. 1. 12.
동적모델링(2) 이번 글은 시작하기에 앞서 먼저 저번글의 내용을 잠깐 복습하는 글을 써보려한다. 블로그를 되게 오랜만에 쓰는데 며칠전에 알바를 시작해서 너무 바빴다. 매일 알바하고 운동하고 공부할라니까 죽을것 같다. 이제 알바 안해야지 ㅋ 제어 명세서 시스템의 행위를 기술함 -다양한 제어 흐름에 어떤 동작 시나리오가 발생하는지 알려줌 *데이터 : 계산에 사용되어 새로운 데이터를 생성하거나 이를 변형 *제어 : 계산에 직접적으로 사용되지 않고 계산의 순서나 조건을 나타냄 제어논리 조합논리 : 순서가 문제되지 않는 조합 ex. 번호 자물쇠 순열논리 : 순서가 중요시되는 조합 ex. 현관 비밀번호 자료흐름도의 실시간확장모델 프로세스 활성도 결정표 상태변화도 상태사건표 출처: https://re-hwi.tistory.com/1.. 2022. 1. 12.
동적 모델링(1) 동적 모델링의 키워드는 '시간' 이다. 이 단원에서는 시스템의 제어흐름, 상호작용, 동작의 순서를 다루는데 여기서 '제어'란 외부의 자극에 시스템이 수행하는 동작을 말한다. 유한상태기계 유한상태기계의 3요소 제어 : 기능이 일어나는 순서 기능 : 자료의 변환 자료 : 기능의 입출력 그래픽을 이용해 시스템을 표현함 시스템의 동작을 표시하는 추상적인 모델 시스템의 동작과 수행순서를 모델링하기 쉽다. 상태변화도 개념 : 시스템이 가지고 있는 값을 표시하는 상태와 외부에서 가해지는 사건. 유한상태기계를 확장하여 도식적으로 표현함 시스템의 흐름, 동작의 순서를 나타냄 (제어흐름x) 유한상태기계 + 사건/기능의 다양화 사건추적도 사건의 순서와 시간을 주고받는 객체나 시스템을 보여줌 객체나 시스템은 수직, 사건은 수.. 2022. 1. 9.
기능 모델링 이전 글에서는 모델링의 대해서 공부했었다. 모델링의 종류는 생각보다 다양한데 먼저 기능 모델링의 대해서 알아볼 것이다. 기능이란 입력물을 입력받아 결과물을 내는 활동이다. 이를 프로세스 라고 한다. 시스템을 기능 관점에서 바라보고 시스템에서 요구되는 정보의 흐름과 정보의 변환을 나타내는 대표적인 기능 모델을 구조적 분석기법이라고 한다. 구조적 분석기법의 특징 자료 흐름도 (DFD) 사용 하향식 방식 사용 기능 관점만을 나타냄 시스템을 분할하여 서로의 종속 관계를 표시 자료 흐름도 정보의 변화와 그것의 대한 출력을 그림으로 묘사하는 기법이다. 위의 기호를 사용하여 이해를 돕는다. 자료흐름도의 특징으로는 데이터의 흐름을 중심으로 만들어지기 때문에 처리의 순서나 제어는 표시하지 못한다. 또한, 프로세스의 이름.. 2022. 1. 6.