1. 구조적 분석 설계
1-1. 구조적 분석 설계 소개
- 소프트웨어 개발 방법은 절차 지향적, 전통적, 객체 지향적 방식이 있음
- 절차 지향적 방식은 전통적, 전통적 방식은 구조적 방법으로 프로그램을 개발함
- 객체 지향적 방식은 소프트웨어 공학도로 소프트웨어의 품질을 높임
- 일반적으로 객체 지향적 방식을 다루지 않음
- 분석, 설계, 구현, 검사, 유지보수를 구조적 분석 설계의 과정으로 봄
1-2. 구조적 분석 도구
- 구조적 분석 도구는 DFD, DD, 메타데이터, 스테이지 명세서로 구성됨
- DFD는 데이터 흐름과 업무 변환 과정을 도형 법칙화한 명세서임
- 평행선, 네모, 화살표로 업무의 흐름과 자료 저장소를 표시함
- DFD는 실무에서도 자주 사용됨
- DD는 DFD에 자료 설명을 더한 메타데이터 명세서임
1-3. 구조적 분석 설계 과정
- DFD를 통해 업무의 흐름을 분석하고 데이터 저장소를 기록함
- 메타데이터는 데이터의 특징과 용도를 설명하는 데이터임
- 시스템의 처리과정과 자료의 흐름을 도형 법칙화한 명세서로 정리함
- 설계 도구에는 상향식, 하향식, 모듈식 등이 있음
- (중요) 분석, 설계, 구현, 검사, 유지보수를 구조적 분석 설계 과정으로 봄
2. 시스템 구조설계
2-1. 분석 단계와 도구
- DFD, 시스템 카달로기, 데이터 디렉토리 등 분석 단계의 도구를 이해함
- DFD에서 '데이터'를 설명하는 메타데이터와 '자료'를 정의하는 기호를 설명함
- 메타데이터와 기호를 통해 데이터의 정의, 반복, 연결, 선택을 알 수 있음
- (중요) DFD의 소단위 명세서(DFD상의 처리 내용을 상세히 설명한 문서)를 이해함
- 구조적 분석 도구로 DFD, 개체 관계도, 소단위 명세서, 대상 관계도를 소개함
2-2. 구조적 설계
- 하향식 설계 기법을 설명하고, 이를 통해 전체화, 추상화, 개념화, 일반화 등의 설계 기법을 이해함
- 상향식 설계 기법과 하향식 설계 기법의 차이점을 인지함
- DFD를 기반으로 한 구조적 설계의 산출물인 DFD를 이해함
- (중요) 구조적 설계의 종류인 상향식, 하향식 설계 기법, 모듈 설계, 데이터베이스 설계, 통합화 등을 설명함
- 모듈 설계 시 응집도와 결합도가 중요함을 강조함
2-3. 모듈 설계
- 모듈을 독립된 단위 프로그램으로 이해함
- 모듈의 기능 단위로 세분화한 설계 방식인 분할과 정보 분할, 정보 흐름을 설명함
- 모듈 설계 시 응집도와 결합도를 고려해야 함을 강조함
- 응집도의 종류인 순차적, 통신적, 절차적, 시간적, 논리적, 우연적 응집도를 암기함
- 객체의 개념을 이해하기 위해 모듈 설계의 중요성을 강조함
3. 구조적 프로그래밍과 검사 기법
3-1. 모듈 설계와 응집도 결합도
- 모듈의 결합 정도를 기능적 응집도로 측정함
- 기능적 응집도가 가장 강하고, 그 밑으로 갈수록 약해짐
- 응집도가 약한 모듈은 주로 베드나 노락 같은 것을 의미함
- 기능적 응집도가 가장 강한 모듈을 설계하는 것이 좋음
- (중요) 결합도는 서로 다른 모듈 간의 상호 관련성을 의미하며, 이 값이 많을수록 좋음
3-2. 공유도와 제어도
- 모듈 설계 시, 제어도와 공유도도 고려해야 함
- 제어도는 하위 모듈 수, 공유도는 상위 모듈 수를 의미함
- 모듈 2의 공유도와 제어도를 알기 위해, 3개의 다른 모듈을 연결해서 계산함
- 제어도는 하위 모듈 수를 의미하며, 공유도는 그 이상의 개수를 의미함
- (중요) 제어도와 공유도가 많을수록 좋으며, 이는 각 모듈이 독립적으로 작동하도록 보장함
3-3. 구조적 검사와 시스템 검사
- 프로그래밍 구현의 마지막 단계인 검사 방법을 알아봄
- 검사 방법에는 화이트박스 검사와 블랙박스 검사가 있음
- 화이트박스 검사는 프로그램 검사로, 블랙박스 검사는 기능 검사로 진행함
- 이외에도 단위 검사, 모듈 검사, 통합 검사, 인수 검사 등이 있음
- 검사 전에, 사용자 요구사항에 맞는지 검사하는 것이 중요함
화자 1
00:10
자 성북에 계시는 우리 엔투엠 안방 가족 여러분 오늘 또 뜨거운 가슴으로 감동의 수업을 함께 하겠습니다. 아 좋아요. 여러분들 야 이제 우리 어 정보처리 산업기사 CT 무슨 설계 마지막 대단원의 막을 내릴 시간이 돌아왔습니다. 그죠 여러분 참 고생했죠. 이제까지 매일 저녁 7시마다 인터넷에서 두사부일체의 정신으로 여러분은 방구석에서 여러분 해서 성은역에서 생중계로 여러분 진행했는데 그 생방송의 마지막 예 마지막 오늘 시간이 왔습니다. 그죠 이제 어 마지막 대단의 막을 내리고요. 자 여러분 이제 CTM 부서 설계 우리 산업 기사 학생들 CTM 부서 설계죠 그죠 마지막 2 챕터가 자 남아 있어요.
화자 1
01:04
마지막 2 챕터 환상적으로 오늘 끝내고 또 당부의 말씀 앞으로 이야기를 하고 필기 대단의 막을 끝나고 실기에서 다시 여러분 뵙겠습니다. 자 일단은 들어가 봅니다. 빠져봅시다 자 구조적 분석 설계요 자 이제까지 우리가 이 시스템 분석 설계 잘 했습니다. 이미 다 됐죠 어 이제 여러 가지 우리가 처음 인제 개요에서부터 코드 설계 아이오 설계 파일설계 어허 그죠 그다음에 거 프로세스와 프로세스 설계 프로그램 설계 그렇죠. 그리고는 이제 어 이 소프트웨어 시스템을 평가하고, 문서화 하는 거 그리고 이제 우리가 또 IPT 기법 소프트웨어 공학 기사 학생들이 하는 소프트웨어 공학도 맛도 보구요.
화자 1
01:54
또 프로그램의 품질을 높여보자 그죠 IPT 기법에 대해서도 배웠죠 그죠 지난 시간까지 배웠고 이제 오늘 구조적 분석 설계와 객체지향적 분석설계를 마지막으로, 놔두고 있습니다. 자 정리하면 이런 겁니다. 어쨌든지 오늘날 이 소프트웨어 이 시스템을 시스템을 개발하는 방법은요, 개발하는 방법론은 크게 보면 3가지가 있더라 이 말입니다. 자 가장 절차 지향적 절차적으로 절차적으로 절차 지향적으로 개발하는 거 이거 인제 일반적입니다. 그죠 아주 옛날꺼죠 그리고 이제 전통적 전통자 전형적 이건 바로 구조적이에요. 구조적 구조적 방법이 전통적입니다. 그리고 이제 객체적 객체 지향적 3가지가 있는데, 이 논문이 우리가 일반적으로 다루지 않고요.
화자 1
02:50
이제는 전통적 즉 구조적 방법과 객체적 방법으로 프로그램을 개발할 수가 있거든요. 그래서 이 구조적 방법으로 이제 프로그램을 개발하기 위해서는 시스템을 만들기 위해서는 분석 과정 그렇죠. 그리고 설계 과정 어 그리고 구현 코딩하는 거 그리고 검사요 검사 그렇죠. 검사하고 그다음에 이상이 없으면 유지 운영하고 수정해주는 이런 단계를 거치고 격차의 지향은 또 1가지 똑같이 분석 설계 구현 검사유지 보수인데 접근 방법이 다르죠 접근 방법이 다릅니다. 접근 방법이 다르다 이 말입니다. 그래서 이제 일반적인 건 다 배웠고 우리가 인제 구조적 분석 설계 구형 검사 유지 보수는 다루지 않죠 우리 시티엠 분석에서는 분석 설계 격체지향적의 분석 설계 이 파트에 대해서 지금부터 공부를 하자는 거예요.
화자 1
03:48
알겠나 그래서 하고 난 뒤에 종합 정리 함 하도록 하겠습니다. 자 구조적 분석설계 자 들어가 봅시다 인제 개념을 잡았죠 자 이 구조적 분석 구조적 전통적 소프트웨어 개발 방법론 다른 말로 구조적 소프트웨어 개발의 방법이죠. 그죠 그래서 이거는 분석은 어떻게 하고 설계는 어떻게 하고 구현 검사 유지보수를 어떻게 하는지 그중에서도 분석과 설계 과정이 우리 시스템 산업 기술 학생의 시험 범위다 이 말입니다. 알겠나 자 프로그램 개발하는 방법은 절차적 구조적 객체적이 있다는 거죠. 예 자 구조적 분석은 말 그대로 자료의 흐름 처리를 중심으로 하는 요구분석 방법 자 구조적 분석용 도구에는 이게 중요합니다. 자 여러분 인제 이거 뭐 개괄적으로 이야기 다 해버릴게 뭐 이거 다 묻어보면 되니까.
화자 1
04:41
자 구조적 방법에 구조적 개발방법론의 분석요 이 분석하는 과정 분석하는 데 이용되는 게 분석 도구인데 이게 뭐였냐 하면 오늘 비울 DFD DD 소 단위 명세서 미니스펙 그리고 우리 앞에서 배운 ERD 데이타베이스에서 배할 때 계체 관계도 또는 상태적인 STD 요런 것들이 뭐고 구조적 분석을 하는데 구조적으로 업무를 분석하는 데 이용되는 도구 즉 구조적 분석 도구입니다. 구조적 뭐 분석 도구야 도구 이걸 배우는 거야. 이게 시험에 나오는 거지 구조적 봉수도구 다른 말로 업무를 분석한 명세서 분석명세서 또는 요구 명세서라 하지 요구 명세서야 그렇죠. 자 이놈을 가지고 인제 설계를 하죠. 설계 설계를 합니다. 설계를 합니다. 설계를 하는데 설계 도구도 뭐 있어요.
화자 1
05:36
설계 도구도 상향식 설계 도구가 있고 하향식 설계 도구가 있고요. 그죠 또 하향식 설계 도구를 조금 더 구체화한 게 모듈 시기에서 모듈 모듈식 모듈화가 있고 그다음에 요거 외에도 우리가 IPTS 잠깐 배웠습니다마는 히포 히포도 있고 그렇죠. 히프 설계법도 있고 NS 차트도 있고요. NS 차트 배웠잖아. 그리고 PDL 또 있습니다. 그쵸. 요런 것들은 설계 도구단이 많이 설계도구 이걸 배우는 거지 그리고 요런 도구를 가지고 이제 구현을 하죠. 구현을 하고 그리고 검사를 하고 그리고 이제 유지보수를 한다는 거예요. 그죠 자 그래서 이 과정은 구조적 분석 설계는 이거 배우는 거야. 이거 됐나 이거 배우는 것들입니다. 이미 다 됐다. 끝 고만 자 카메라 끄라 이 다 끝나는 거예요. 이게 시합은 제목만 나와 제목만 에 되겠나요? 분석 설계 예 요런 겁니다. 자 함 볼까요?
화자 1
06:35
최근에서 구조적 분석용 도구는 바로 DFD DD 소단위 명세서 이알디에스 요 3가지가 많이 이용되고 ERD나 에스 DDSD는 그 이알디는 인제 데이터베이스 설계해서 많이 이용합니다마는 크게 저 구조적 분석 도구로 이용됩니다. 자 구조적 분석 도구의 첫 번째 DD 데이타 플로 다이어그램 요 흐름도죠 그죠 이거 다른 말로 버블 차트라고 데이터의 흐름 업무의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법 도형 법칙화 에 기호로 했는 거예요. 그래서 기호만 알면 되죠. DFDS 요거 요거는 프로세스 처리 처리입니다. 처리 각종 처리사항을 처리 사항을 요 동그라미 안에 넣는 거예요. 처리기호 요것만 하면 되죠. 그다음 자료의 흐름은 화살표랑 흐름 흐름 기호고 저장소 데이터를 저장하선 이 평행선 이게 저장소입니다.
화자 1
07:29
쉽지요 단말기 입출력 과정 요건 단말기죠 그죠 즉 시스템의 처리과정은 요거고, 자료의 흐름은 화살표로 시스템의 자료 저장소는 이게 평행선으로요 자료의 출처와 도착지를 도착지를 표시하는 거는 네모입니다. 그죠 IO에 이용된다는 단말기제 자 요거 4가지를 이용해서 업무의 흐름을 파악하는 게 DFD입니다. 실무에서도 많이 합니다. 이런 거죠. 주문 확인이 있으면은 이놈 이제 뭐야? 주문 요청서가 있고 그 다음에 처리주문으로 들어가고 그다음에 주문서가 이렇게 오고 뭐 이러이런 것들 또 여기에서 또 갈라지고 뭐 이런 것들 뭐 이런 식으로 막 꼬여있는 것들이 꼬여 있는 것들이 뭐다 뒤에 부딪힙니다. 즉 업무의 흐름을 내가 분석해야 할 업무를 말로 분석하는 게 아니고 이런 이러한 동그라미 평행성 네모 이렇게 만든 게 뭐다 DFD 업무의 흐름을 도착하였다. 이런 걸 가지고 업무를 분석한단 말입니다.
화자 1
08:22
알겠나 그래서 여러분 집중 몰라도 좋고 요 기호가 시험에 나오제 우리가 이야기도 해봤죠 이야기하고 똑같은 거죠. 그죠 그래서 요런 동그래 평행선 네모 화살표 요런 걸 가지고 업무의 흐름을 쫙쫙 분석하는 건 바로 DFD라는 겁니다. 대제 예 요런 거로 실무에서도 많이 합니다. 업무분석 도구 업무분석 도구요. DFD 됐고요. 그다음에 자 디디를 한번 볼까요? 디디는 자료상이죠. 데이터 비셔널이죠. 자료 흐름도 DF되어 있는 자료를 더 자세히 정리하고 기록한 명세서입니다. 명세서 자 디디는 메타데이터라 카죠 메타 데이터 메타 데이터가 뭐고 데이터를 설명하는 데이터 정보 데이터제 데이타의 데이터죠 메타 데이터는 그러니까 자료 흐름도의 자료를 설명했는 게 DD입니다. DD 그러니까 DD를 우리가 데이터베이스에서 배웠어요.
화자 1
09:16
이걸 실제 데이터베이스에 들어있는 데이터를 설명하는 데이터 메타데이터죠 그죠 실제 업무를 설명하는 데이터 메타 데이터를 메타 데이터가 기록되어 있는데, 이 메타 데이터를 기록하고 있는 게 DD 또는 시스템 카달로기예요. 카달로 배웠죠 우리는 카달로우 카달로기라 하고 디디를 하고 또는 우리가 데이터 디셔너링 하셨다 어 데이타 자료 사전 또는 데이타 디렉토리라고 하제 데이타 사전 카드로 시스템 카드로 데이터도션 같은 말입니다. 요 안에 들어있는 데이터는 무슨 데이터 메타데이터 메타 데이터는 뭐고 실제 데이터를 설명하는 정보 데이터죠 다 배웠잖아요. 그러니까 우리가 자동차 카드록을 보고 차에 대한 걸 다 알 수가 있듯이 그죠 그러니까 자료사전 이겁니다. 어 데이터 디셔널이 시스템 과달로 데이터 디렉토리 같은 말이고 이 안에는 어떤 데이터가 들어가 있다. 실제 데이터를 설명하는 메타 데이터를 기호하는 거고, 이 자료 사전에는 어떤 기호로 표현 역시 기호만 시험이 나오죠. 요건 이 꼴은 자료의 정의입니다.
화자 1
10:14
정의 그다음에 요거는 자료의 반복이다. 눈으로 보면 되겠죠. 요놈은 생략입니다. 오미션 여기 오는 연결입니다. 데이터와 데이터 연결이고 요놈은요, 선택입니다. 뭐 데이터가 있으면 둘 중에 하나 선택 또는 오알이죠. 오알 오아 선택이고 요놈은 자료에 설명 아 쓰레스 2개 있는 거 주석 코멘트 설명할 때 하는 거예요. 주석 요것만 알면 되겠죠. 정의 반복 생략 연결 선택 주석 되겠죠. 요런 기호를 이용해 가지고 데이터들을 메타데이터를 기록하여 있는 분석을 한 도구가 뭐다 디디다 이 말입니다. 되겠나요? 쉽죠 자 소단위 명세서 미니스펙은 뭐다 DFD상의 처리 내용을 상세하게 설명해 놓은 문서 즉 구조적 언어나 의사결정부 등을 이용한다. 요런 게 있다. 하는 걸 말하면 됩니다. 자 그러니까 시행을 어쨌거나 다음 중 구조적 분석 도구가 아닌 것 이렇게 나오지 알겠나 자 그러면 여러분 뭐 DFD 꼭 기호 알고요. 디디 기호 알고 소단위 명세서는 있고요.
화자 1
11:13
개체 관계자는 이미 데이터베이스에서 환상적으로 했죠. 개체관계도 설명할 필요 없죠 잠깐 볼까요? 개체관계도 한번 볼까요? 이것도 분석 도구입니다. 예 그래서 개체는 속성 관계 아니죠. 개체 학생이라는 개체는 여러 가지 속성을 가지고 있죠. 학번이라는 속성 이름이라는 속성 전공이라는 속성 또는 학생과 교수의 관계는 뭡니까? 또 우리가 관계 이제 이렇게 다이아몬드로 관계를 하죠. 1대1 관계냐 관계 그죠 이게 무슨 관계냐 이 말입니다. 뭐 학습의 관계냐 그죠 이미 DBS 잘했는 거제 됐고 상태 전이도나 이런 게 있더라 분석 도구더라 이렇게 아시면 됩니다. 그죠 한번 읽어보시면 되고요. 자 방금 봤는 것들이 바로 분석 단계에서 구조적 분석 단계에서 우리가 하는 도구들이다. 이렇게 이해하면 된다. 됐다.
화자 1
12:12
공부 그렇게 할 필요 없습니다. 자 특히 시스템은 핵심적인 단어만 잡자 이 말이고 자 설계도 1가지 이미 설계 다 했죠. 설계죠 설계 구조적 설계라 하제 자 여기 설계는 뭐 하향식 구조적 설계 하향식 설계 동그래미 하향식 설계 입법입니다. 하향식 어 그러니까 어떤 큰 프로젝트를 디바이딩 쿠왕크 쪼개 가지고 쪼개서 쪼개서 설계하는 거 단위별로 하는 이런 설계 기법이 뭐다 하향식 설계고요. 밑에 꺼부터 설계해 가지고 위로 쳐 올려오는 것들이 뭡니까? 이거는 이건 뭐야? 상향식 설계죠 그래서 구조적 설계 기법은 상향식이 아니고 뭐다 하향식 설계 기법을 따른다는 거예요. 하향식 설계기법 알겠죠. 그리고 DFD 자료 흐름을 중심으로 하는 설계 기법이라 해 가지고 자료 흐름 설계다 이렇게도 이야기하고 구조적 분석의 산출물 즉 DFD 디디 요놈을 보고 설계한다는 겁니다. 알겠죠.
화자 1
13:06
구조적 설계는 자 이 설계의 종류는 방금 봤죠 상향식 상향식은 뭐고 밑에서부터 오히려 올라가니까 작은 데를 설계하고 마지막 큰 그릇이 설계하니까 이게 상향식이고 다른 말로 추상화 핵심적인 사항을 뽑아 한다. 추상화 또는 개념화 또는 일반화 또 다른 말로 전체화 같은 말이다. 전체화 설계 일반화 설계 개념설계 추상설계 같은 말입니다. 그리고 하향식은 뭡니까? 밑으로 가니까 구체화시키고 세분화 이 업무를 상세와 모주라죠 모주라 되겠나 그래서 설계의 종류는 상향식으로 할 수도 있고 하향식으로 할 수가 있는데, 구조적 설계 기법 뭐다 하향식 설계 기법이다. 이런 이야기죠 되겠어요. 자 이런 구조적 설계 전체 중요한 구조 도표의 작성 그리고 도표입 작성 평가 모듈의 설계 모듈설계 독립된 단위 프로그램 소단위 작업이죠.
화자 1
14:01
소단위 설계 그다음 데이터베이스 설계 설계 통합화 이런 과정을 갖추면서 구조적 설계가 이루어진다는 겁니다. 그래서 요 순서만 여러분 아시면은 되겠다는 말씀 좋고요. 자 그다음에 자 모듈의 설계죠 자 구조적 설계에서 가장 중요한 게 모듈이죠. 모듈 모듈에 대해서 배워야 됩니다. 어 그러니까 구조적 설계 기법은 하향식 설계 기법이야 이 하향식은 뭐고 아주 큰 업무를 쪼개죠 쪼개서 설계하는 거제 작은 단위로 작은 단위로 쪼개서 설계하는 걸 세분화 부채화 상세화하게 설계하는 게 하향식 설계인데 요 쪼개진 독립적인 요 부분을 뭐라 한다. 모듈이란다 모듈 모듈 요거는 독립된 단위 프로그램이죠. 독립된 단위 프로그램 모듈입니다. 그래서 이 모듈에 대해서 시험에 문제가 많이 나옵니다.
화자 1
14:55
모듈 독립된 단위 그래서 모듈은 독립적으로 움직이는 단위 프로그램 단위 요거 어 근데 여러분 봐봐요. 아래 한글이라는 소프트웨어도 시스템 또 뭐고 수많은 모듈로 돼 있잖아. 불러오기 프로그램 저장하기 프로그램 오류 두기 프로그램 많은 프로그램 구성돼 있지 요런 불러오기 저장 요런 것들이 뭐고 모듈이라는 거야. 모듈 알겠습니까? 어 자 그래서 기능 단위로 세분화한 설계 방식이고 복잡하고 큰 문제를 단순하고 작은 문제로 분할하는 게 뭐다 바로 디바이드 앤드 퀄크 이 큰 걸 쪼개서 정복 하는 거죠. 분할과 정복입니다. 분할과 정보 분할과 정보 희로를 가지고 설계하는 거 모듈설계입니다. 분할과 정보 알아 놓으시고요. 이제 모듈의 개요고 자 그런데 이런 모듈을 설계할 때 이왕이면은 좋은 모듈을 만들어야 된다. 이런 말이죠. 중요하다 조음모듈 이 좋은 모듈은 뭡니까? 한마디로 응집도가 좋고 결합도 높고 결합도가 낮아야 돼요.
화자 1
15:54
자 조음모듈의 조건 군모듈이에요. 군모줄의 조건은 뭐다 모듈 안에 서로 데이타들 관계 구성 요소들의 응집도가 응집도가 강하고요. 또 모듈과 모듈 간의 결합 또는 약해야 됩니다. 결합 또는 약해야만이 뭐다 이 모듈이 뭐, 뭐가 보장된다. 독립성이 보장됩니다. 독립성 독립적으로 나오는 모듈이 좋은 거요 이 독립성이 보장되는 모듈이 나중에는 뒤에 배우면 뭐가 된다. 객체가 됩니다. 객체 오브젝트가 되는 겁니다. 알겠나 그래서 좋은 모듈의 조건 중요하다 응집 또는 넣고 결합 또는 낮추면은 좋은 모듈이 된다. 이 말입니다. 그죠 어 자 그래서 모듈 설계할 때는 어떻게 설계하라 응집도는 높게 결합도는 낮게 설계해야 좋은 모듈이 되니까. 반드시 응집도와 결합도를 중심으로 설계하라 그런 이야기야 알겠나 병대손자야 자 그럼 응집도는 뭡니까?
화자 1
16:50
시험에 반드시 나온다 응집도는 1모듈 안에서 1모듈 안에서 각각 데이터들 구성 요소들의 관련성 있는데, 이거는 끈끈해야 돼 저 식구끼리는 똘똘 똘똘 뭉쳐야 된다는 거야. 알겠습니까? 그래서 그 응집도의 종류는 뭐예요? 자아 중요하다 기순 기능적 응집도 암기해야 됩니다. 이거는 순차적 통신적 절차적 시간적 논리적 우연적 응집도가 있습니다. 귀순통절 신호음 그죠 귀순통절 신호음 외워야 됩니다. 그리고 가장 강한 게 기능적 응집도입니다. 가장 강하고 밑으로 가면 갈수록 약해요. 가장 약한 응집도가 뭐야? 어떤 모듈이 우연적 응집도로 결합돼 있다 하면 이건 뭐야? 약한 모듈이다. 이 말이야. 응집도가 약하다 이 말입니다. 알겠어요. 자 가장 강한 게 기능적 응집도가 좋은 거제 좋은 거예요. 이게 굿 에 약한 건 베드 나쁜 거요 깃순 통절 우리가 뭐요 시간적 신호 누이 안겨야 돼 이런 거는 손바닥에 적어놔도 된다.
화자 1
17:48
이거는 컨닝이 아니다. 뭐 이거 다 원리는 아는데 이건 뭐 요즘 암기하는 시대가 아니잖아요. 개념을 아는데 이런 걸 손바닥에 적어 가도 됩니다. 알겠나 순자야 그렇지만 적을 것 없죠 그래서 응집도의 여러분 순서 기능적 응집도가 가장 강하더라 기능적 응집도가 되도록 설계를 하라 이런 뜻이죠. 그다음에 결합도는 뭡니까? 서로 다른 모듈 간의 상호 관련성 서로 이 모듈이 있고 모듈 원과 모듈 투가했을 때 서로 관련성을 관련성이 좀 적어야 돼요. 에 이게 좋은 거예요. 그래서 이 결합도는요 자주 내용결합도 공통결합도 제어결합도 외부 그러면 스템프 복사 결합도 자료 결합도죠 가장 강한 게 내용이고 가장 약한 게 자료 결합도입니다. 가장 좋은 거는 뭐다 자료 결합도 그죠 자료 결합도가 굿 좋은 거고요. 내용 결합도는 나쁜 거 그래요. 되겠습니까? 그러니까 내공 제외 서자 내공 제외 서자 알겠나 이렇게 암기해 주시면 되겠죠.
화자 1
18:46
결합도가 약한 게 좋은 거고, 강한 건 나쁜 거다 나쁜 모줄이다. 이런 이야기입니다. 됐나요? 반드시 시험에 나온다 그리고 또 모듈 설계에 있어서 응집도와 결합도만 생각할 게 아니고 또는 공유도와 제어자도 좀 생각하라 공유도는 펜이입니다. 어떤 모듈을 제어하는 모듈의 수를 그렇죠. 상위 모듈 수를 그 모듈의 공유도 만약에 모듈 이 모듈 2의 공유도 페닌은 얼마냐 이러면 모듈 2는 뭡니까? 3개의 지배를 받고 있죠. 모듈 1 페닌이죠. 3개의 페닌 3개의 지배를 받고 있기 때문에 2라는 모듈의 공유도는 공유도 페닌 값은 얼마다 3이다. 이 말입니다. 알겠나 제어도는 반대 PEN 아웃이죠. 지가 지배하는 하위 모듈 수야 그러면 모듈 2에 제어도는 왜 만약 하면 2개죠 이 제어죠 펜아웃이죠. 펜아웃 그 제어도는 얼마다 제어도는 2다 이 말입니다.
화자 1
19:42
그래서 현재 모듈 2는요 공유도 3 제어도 2로 구성되어 있다. 이렇게 이야기할 수가 있습니다. 됐나 자 모듈 시험 나옵니다. 자 조모주를 설계하기 위해서 여러분 어떻다 뭐야? 응집도 결합도 그 다음에 공유도 제어도 3가지가 4가지를 가지고 우리가 고민을 하라 이런 뜻입니다. 그죠 그중에서 응집도와 결합도 응집도는 강하게 하고요. 결합도는 약하게 해라 그래야 우수한 모듈이 되면서 그런 모듈은 뭐가 보장된다. 독립성이 보장되고 독립성이 이빨이 보장되면 뭐가 된다. 뒤에 요 객체로 탄생됩니다. 헐렐리아 자 넘어갑니다. 예 결합도 벌써 끝났나요? 좋습니다. 예 그러니까 이게 다시 여러분 정리하면은 우리가 이미 원리를 다 배웠기 때문에 쉽게 할 수가 있죠.
화자 1
20:31
현재 우리는 뭐 배우나 자 요건 뭐 구조적 우리가 프로그램 개발 방법은 구조적 절차적 구조적 뭐가 있노 객체 지향적이 있죠. 근데 절차적은 되었고요. 구조적 방법에 뭐다 구조적 분석 구조적 분석 구조적 분석 어 그다음에 구조적 설계 구조적 다 생략하겠죠. 구조적 분석 구조적 설계 구조적 구현 구조적 검사 구조적 유지 보수가 있는데, 이제 시험 범위 용어예요. 분석 도구 말하면 되죠. 분석도 다시 한번 한다. 구조적 분석의 도구 DFD DD 소단위 명세서 ERDSD 이것만 알자 이런 거예요. 설계도구는 뭡니까? 상향식 설계 기법과 양식이 있는데, 가장 일반적인 게 모듈이고요.
화자 1
21:23
또 요거 외에 또 모듈 설계 외에 우리가 IPT 기업에서 배웠기 때문에 안 썼다 뭐 했노 히포로도 설계할 수도 있고 NS 차트로도 설계할 수도 있고 또 PDL도 있다는 거 이게 전부 다 설계 도구다 여러분 그중에서 모듈 설계가 가장 중요합니다. 그죠 모듈 설계에 대해서 이렇게 우리가 다뤘고요. 자 여러분 구현은 구조적 프로그램 구현은 여러분 알겠죠. 프로그램 언어를 선정해서 개발하는 거고요. 이 검사는 검사는 여러분 뭐 우리 그 산업기사의 범인은 아닙니다. 범인은 아닌데 잠깐 테스트 검사를 검사하는 방법을 참고로 이렇게 이야기 하면은 검사하는 방법에는 크게 2가지가 있습니다. 화이트박스 화이트박스 화이트 실적으로 이제 화이트박스 한글 쓸게 화이트 박스 검사가 있고 어 그리고 블랙박스 블랙박스 검사가 있습니다.
화자 1
22:20
화이트 박스 이 화이트 박스 검사는 뭐냐면은 이게 프로그램 검사예요. 프로그램 안에 점이 잘못 찍혔느냐 없겠느냐 이 프로그램 검사하고 블랙박스 검사는 기능검사입니다. 기능 이 프로그램은 제대로 됐는데 기능이 옳게 동작하느냐 1 더하기 2라면 2가 되느냐 이 말이죠. 그래서 검사를 하는 방법은 화이트박스와 블랙박스 검사가 있는데, 또 인제 이 검사를 단계별로 하는 데는요 단위검사가 있고요. 모듈별로 모듈을 검사하는 단위검사가 있고 모듈을 모아서 하는 통합검사가 있고요. 뭐 단위 통합 그리고는 이제 사용자 요구 사항에 맞나 안 맞나 내가 개발을 의뢰했던 사람 목적대로 되었나 아니냐 그 검사 인수하기 전에 검사하는 거 사용자 요구사항이 맞나만을 검사하는 게 인수검사입니다. 인수검사 다른 말로 적합성 검사라고 하죠. 자 인수검사건의 종합적으로 다 하는 검사가 종합검사죠 다른 말로 시스템 검사입니다. 그죠 요것만 아시면 되는 거예요. 그래서 시스템 부드 서비에서 범인이 아닌데 가끔 어떤 식으로 문제 나올 수가 있거든.
화자 1
23:17
그래서 검사하는 방법은 화이트박스 검사와 블랙박스 검사가 있고 단계별로는 뭐다 단위검사부터 하고 그다음에 통합검사하고 그다음에 사용자 내한테 의뢰했던 사람은 나한테 검사받는 인수검사가 있고 종합적으로 하는 시스템 검사가 있더라 자 요것만 정리하시면은 검사 파트는 됐다잉 어떤 문제 나와도 할 수가 있습니다. 됐죠 좋습니다. 좋고요. 근데 요거 어디서 이야기했는 것 같은데, 예 그래서 구조적으로 분석됐고요. 자 이렇게 해서 우리가 이제 시스템 분석 설계의 마지막 강의 이제 여기 했고요. 잠시 쉬다가 진짜 마지막 강의 들어가겠습니다. 자 잠시 후에 돌아오겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[ 정보처리] 시스템분석설계 - 시스템 평가와 문서화 (0) | 2024.09.05 |
---|---|
[정보처리] 시스템분석설계 - 객체지향 분석과 설계 (0) | 2024.08.10 |
[ 정보처리] 시스템분석설계 - 프로세스와 프로그램설계 (0) | 2024.08.10 |
[정보처리] 시스템분석설계 - 입출력설계 및 파일설계 (0) | 2024.08.10 |
[정보처리] 시스템분석설계 - 코드설계 (0) | 2024.08.09 |