전체 글160 소프트웨어 설계 기법 최근들어 공부에 대한 의욕이 점점 사라지고 있다는걸 요즘 느끼고 있다. 그동안 내가 쓴 글들을 하나하나 읽어보았는데 모델링에 들어갈때까지는 되게 열정이 넘쳐서 내 경험에 빗댄 예시도 많이 들곤 했었지만, 최근 글은 전부 책에 있는 내용만 받아쓰기 한 느낌이다. 이제 곧 개강도 다가오고 여자친구도 생겨서 바쁠일이 되게 많을텐데 이제라도 다시 초심으로 돌아가 공부를 해야겠다. 소프트웨어 공학 카테고리의 거의 초반부분 글을 보면 개발의 단계는 크게 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. 요구사항 분석과 모델링 자꾸 강조하는 이야기이지만 개발을 하기 전에는 사용자의 요구가 무엇인지 정확하게 파악하는 것이 중요하다. 이 단원에서는 요구사항을 어떻게 분석하는지 상대가 무엇을 요구하는지 정확하게 캐치하는 내용을 다룬다. 만약 내가 마라톤 경기를 하고 있다고 가정해보자. 가는 도중 너무 힘들어 조금 쉬었다가 갈 수도 있을것이고 운동화 끈이 풀려 끈을 묶고 갈 수도 있을 것이다. 하지만 쉬지도 않고 정말 열심히 달렸는데 도착지점이 정반대라면? 이는 정말 상상하기도 싫은 대형 사고임에 분명하다. 요구사항 분석이라는 말은 앞으로 있을 프로젝트의 방향을 정하는 것과 같다. 요구사항 분석에는 코딩, 설계와는 다른 특징을 많이 가지고 있다. 먼저 고객과의 의사소통이 가장 중요한 역할을 맡는다. 그래야만 상대가 어떤 기능을 원하고.. 2022. 1. 5. 프로젝트 계획 나는 그동안 알바 경험도 많았고 사회생활을 나름 많이 해봤다고 생각했었다. 그래서 직장을 찾게 되면 적응을 빨리 할 수 있을 줄 알았다. 하지만 그것도 직장이 어떻게 돌아가는지, 일은 어떻게 시작되고 그 일을 하는데 어느 부서가 필요한지를 알아야 어느정도 여유가 생기고 적응을 할텐데, 그것도 모른채로 그동안 해왔던 거랑 뭐가 다르겠어 하면서 대충 생각했었던 것 같다. 이 단원을 공부하며 실제 회사에서는 대부분 이렇게 일을 시작을 하고 일을 하는 과정에는 무엇을 해야하며 어떻게 해야하는지 경험자로서의 노하우를 듣는 기분으로 공부했다. 먼저 프로젝트를 시작하려면 고객(스폰서)의 요구 부터 시작된다. 고객의 요구가 있어야 그에 맞는 제품을 개발하기 위해 프로젝트가 시작 되기 때문이다. 고객(발주자)은 자신이 .. 2022. 1. 4. 이전 1 ··· 14 15 16 17 18 다음