[정보처리기사] 메타코드 강의 후기 :: 1강 소프트웨어 설계

2024. 12. 2. 05:35메타코드/정보처리산업기사

 

 

이미지를 눌러 메타코드 가기

 


강의목차

소프트웨어 설계 목차

 

1강에서는 소프트웨어 설계에 관련하여 배운다. 배울 게 많네....그래도 앞으로 있을 강의와 비교했을때 짧은 편에 속하는 편이다. 아자아자.... 정보처리기사 합격을 향하여....

 

 

 

 

 

 

 

 

 

 

 

 

 

강의 정리 및 필기

 

♣ 인사/강의 소개

정보처리기사 자격증은 IT의 전반적인 흐름을 파악하는 데에 도움을 준다. it기업이 아니더라도 it기술은 쓰이기 때문에 전공상관없이 누구나 딸 수 있는 정보처리 기사 자격증을 공부하면 일하는 데에도 도움을 많이 줄 수 있다. 하긴 자격증 후기들을 보면 정말 개나 소나 다 따는 것 같다. 그리고 전공인데도 못따서 메타코드의 도움을 받아 공부하고 있는 내가 레전드...

 

♣ 현행 시스템 분석

현행 시스템 분석 - 요구사항 확인 - 화면 설계 이렇게 한 세트. 

요구사항 확인은 현행의 시스템을 분석하여 필요한 부분을 요구하는 것.

요구사항 확인을 하려면 현행 시스템 분석이 일어나야 함.

플랫폼 성능 분석 시 고려하는 항목에는 

경과시간, 사용률, 응답시간, 가용성 등이 있다.

 

시스템 분석을 위해서는 

운영체제 분석, BDMS 분석, 네트워크 분석 등이 있고

그 중 BDMS에는 성능, 가용성, 상호 호환성, 기술 지원, 구축 비용 등이 있다.

 

♣ 요구사황 확인

요구를 추출하여 목표를 정하고 어떻게 해결할 것인지.

개발 비용이 많이 드는 단계는 아니다. 유지보구에서 많이 든다.

지능적 요구사항 -  시스템이 무엇을 해야하는지 

비기능적 요구사항 - 시스템이 어떻게 동작해야하는지

데이터흐름도.

데이터가 프로세스를 따라 흐르면서 어떻게 변화하는지를 보여주는 시각적 표현.

시간의 흐름을 명확히 표현할 수 없음.

기호들을 외워서 표그림을 해석할 수 있어야 함.

 

자료사전.

예) 직원 = 고유코드 + 이름 + 전화번호 + ... 등등

      고유코드 = *직원의 사번번호*=입사년도 + 부서코드

등등 데이터의 구조와 의미를 정확하게 분석해야함.

 

UML.

객체지향 소프트웨어 개발 시 사용

모델링 언어.

사물/관계/다이어그램.

정적 다이어그램- 시스템의 정적 구성요소와 그들 간의 관계를 보여 줌

-클래스 다이어그램

-객체 다이어그램

-컴포넌트 다이어그램

-배치 다이어그램

-복합체 구조

-패키지 다이어그램

동적 다이어그램-시스템의 동적 구성요소와 그들 간의 관계

-유스케이스 다이어그램

-시퀀스 다이어그램

-상태 다이어그램

-커뮤니케이션 다이어그램

-활동 다이어그램

-타이밍 다이어그램

uml은 다양한 관계를 표현할 수 있다.

애자일방법론.

전통-한번에 모든걸 계확하고 실행. 큰 단위로 시작. 망하면 큰 손해

애자일-몇가지만 소량으로 . 유행을 관찰하고 피드백. 빠르게 고객반응에 피드백

개인과 소통을 중요하게 생각.

요구사항 변화에 유연하게 대응

소프트웨어가 잘 실행괴는 데 가치를 둔다.

고객과의 피드백

기능 중심으로 개발(모듈-프로그램의 각 부분을 독립적으로 만든 다음에 통합.) 기능 중심은 소비자의 기능을 중심으로 개발

 

스크럼- 팀이 프로젝트를 관리하는데 도움을 줌

 

♣ 화면 설계

UI- 사용자가 보는 화면

직관성, 유효성, 학습성, 유연성

신체를 이용하는 UI도 있음

사용성을 가장 우선적으로 고려. 사용자 중심. 오류 발생 시 사용자에게 적극적으로 알려야 함.

구성요소

-콤보 박스, 토글 버튼, 라디오 버튼, 체크 버튼

제스처

-탭,드래그,플릭(짧고 빠르게 화면 쓸기),팬(터치 상태에서 천천이 움직이기),핀치(두 손가락으로 모으거나 벌리기)

설계 도구

-와이어프레임, 목업(구현노),스토리보드,프로토타입(간단하게 구현)

 

♣ 애플리케이션 설계 - part 1 

공통모듈설계.

 

독립적인 기능을 가진 단위

나누기 때문에 오류 파급 최소화.

인터페이스 단순

재사용 가능->유지보수가 용이 (컴포넌트 재사용, 애플리케이션 재사용, 함수 및 객체 재사용)

효율적인 관리

응집도->독립성을 나타냄. 모듈 내부 구성요소 간 연관된 정도

결합도-> 모듈과의 연관도. 의존도.

응집도 업, 결합도 다운

이식성을 고려하여 설계

 

상향식 설계 - 레고처럼 기초부터

하향식 설계 - 큰그림을 그리고 점점 기초로

 

코드설계.

연상코드(대상 연성), 블록 코드(공통성끼리 블록으로 구분,블록 내 일련번호), 순차 코드(순서대로 일련번호), 표의 숫자 코드(물리적 수치)

 

코드오류

-사본(오타),전위(글자서로바뀜),생략(빼먹음),첨가(더씀),이중전위오류(전위두번),임의오류(복합)

 

HIPO.

하향식 소프트웨어 개발을 위한 문서 도구

 

소프트웨어 아키텍처 패턴.

-계층화패턴

-클라이언트서버

-MVC

-파이프필터

-마스터 슬레이브

-브로커

 

♣ 애플리케이션 설계 - part 2 

객체지향설계.

동작을 메소드라고 부름. 객체로 바라보고 속성과 메소드로 바라봄.

객체는 속성, 동작, 고유 식별자

매신저 앱의 알림기능 하나를 객체라고 생각했을때 속성과 메소드. 서로 상호작용

소프트웨어를 여러 객체로 나누고(독립적) 이 객체들이 서로 상호작용하게 하여 프로그램을 만듬

 

구성요소

-객체, 메서드,속성(객체들의 상태),클래스(하나이상의 유사한 객체, 공통된 특성),인스턴스(클래스에 속한 각각의 객체),메시지(명령)

 

SOLID. 객체지향설계의 원칙

-간일책임,개방폐쇄,리스코프치환,인터페이스분리,의존성역전. 

영어로도 외우기!!!!

 

객체 지향 설계의 특징

-다형성. 하나의 부모 객체가 여러 형태로 동작할 수 있는 능력

-오버라이딩. 하위객체에서 재정의

-오버로딩.같은 객체(클래스)내에서 매개변수유형과 개수를 다르게 하여 같은 이름의 메서드를 여러게 정의

-캡슐화.정보은닉(인터페이스단순화.재사용성.오류파급효과 적어짐)

-상속

-추상화(자료,제어,과정)

-정보은닉(데이터보호에 초점)

-관계성(연관화,분류화,집단화,일반화,특수화) *중요

 

 

♣ 인터페이스 설계

api

어플리케이션간의 정보를 교환하는것

 

요구사항 검증 단계에서 모든 요구사항을 알 수 없음

워크스루.

-회의를 통해오류를 조기에 검출

동료검토

인스펙션

 

정형 기술 검토의 지침 사항

-논쟁과 반박을 제한, 참가자수제한

 

인터페이스 상세 설계

-메시지 지향미들웨어

-RPC

-TP Monitor

-Was

-객체 기반 미들웨어

강의간단요약및느낀점

좀 더 자세히 알아야 이해가 될 것 같은데 자격증이라 그런지 역시 겉부분을 핥고 지나간다는 느낌이 드는 부분들이 좀 있다. 이해를 해야 잘 외워지는데...외우는거 쥐약인데..ㅜ 그래도 정보처리기사 따려면 열심히 외워야겠디...다들 어떻게 외우고 자격증 땄는지 궁금하다. 용어도 비슷한 게 많은데. 기출을 풀며 외우는 게 빠르려나??

 

 

 

 

 

이미지를 눌러 정보처리기사 공부하러 가기

 

정보처리기사 필기 환급 챌린지ㅣ합격 인증 시 100% 환급 (제세공과금 22% 제외)

 

www.metacodes.co.kr