정보처리기사/필기

1과목 - 애플리케이션 설계

공부하고 기록하고 다시보는 블로그 2025. 1. 24. 10:38
  • 공통 모듈
    • 모듈 - 아이패드
      • 설명 : 실행코드, 재사용성
      • 날짜, JWT, 나모 에디터
        • 누구듣지 의존성 주입이나 .jar 파일을 가져다가 나의 목적에 맞추어 인수값만 입력하여 만들 수 있음
        • LG전자 프로젝트
          • 공통모듈 사용경험
            • 릴리즈요청 체크리스트와 릴리즈완료 체크리스트의 항목이 17개/22개였지만, 비지니스 로직단에서 항목 갯수와 상관없이 VIEW단에 보여지도록 처리함
              • 만약 따로 만들어서 사용하게된다면, 이중이라 자원 낭비라고 생각합니다.
      • 작성의 원칙
        • 정확성 : 필요한 여부 인지
        • 명확성 : 일관성있게...
        • 왼전성 : 필요한 관련된 부분 기술
        • 일관성 : 충돌 방지
        • 추적성 :  출저와 유관 관계 식별이 되도록...
    • 컴포넌트(Component) - 카메라부품, 터치화면, 음량 버튼등으로 세분화
      • 차이
        • 모듈은 컴포넌트를 그룹화함
        • 컴포넌트는 재사용함
        • 재사용을 위한 모든 단위
        • 인터페이스를 통해서만 접근할 수 있음
    • 프레임워크
      • 구조화된 틀
    • 용어
      • 재사용
        • 결합도는 낮게, 응집도는 높게
        • 재공학 : 개선, 새로운 기술적용이라는 말과 기존의 것들을 다른 소프트웨어에 재사용과 차이가 있음
          • 정확한 설명 : 기존 소프트웨어를 분석과 설계 정보로 재발견하거나 다시 만들어내는 작업 
        • 공학
          • 여러분야의 엔지니어들이 공통된 개념을 공유
          • 개발팀이 응용 문제를 해결하는데 도움을 줌
      • 모듈화
        • 모듈를 만들기 위한 작업이구나라고 알고 있으면 됨
          • 기존의 모듈을 가져다가 모듈화 할 수 있지만, 새롭게 모듈를 만들 수 있다. 그 모듈을 만들고 작업하기 위한 과정을 모듈화하는 것이다.
            • 주민번호, 사업자 번호, 법인번호 등은 유효성 검사가 필요하다 그래서 유효성 검사가 필요한 A라는 모듈을 만드는 것이다.
            • 즉, 주민번호 유효성 검사시 주민번호만 인수로 넘기면되고, 사업자 번호와 법인번호도 마찬가지이다.
      • 응집도와 결합도
        • 예(Example) : API통신을 위한 모듈 
        • 응집도(Cohesion) - 하나의 모듈
          • 기능적(Functional) : API 통신도 여러가지가 존재한다. 아이디와 비밀번호, 사용자 정보, 로그인 성공 여부 등에 대해서 이에 따른 모든 API통신은 "사용자"에 연관이 있다.
          • 순차적(Sequential) : 반환값을 받아서 다른 모듈의 인수로 전달되는 것
          • 통신(Commnunication) : API통신을 말한다. 날씨를 호출해오되, 어떤 화면에서는 다른 습도 정보를 보여주고, 다른 화면에서는 기온, 온도를 보여주는 것
          • 절차적(Procedural) : 순서 상관없이 진행하며, 예를 들어 보안 프로그램, 나모 에디터 같은 기능이 켜지던 말던 API 통신을 보내고 그 값을 VIEW에 보여주도록하는 것 
          • 시간적(Temproal) : 어노테이션 중에 Schedural같은 것을 사용해서 일정 시간에 작동되는 것, 초기화
          • 논리적(Logical) : 키보드나 마우스 등의 기능을 모아두는 것
          • 우연적(Coincidential) : 연관 없는 것 끼리 모아놓은 것
          • 암기 : 우리놀(논)던 시절 통틀어서 순수한 기억 뿐이야.(응집도가 낮은 순서부터 높은 순서까지 진행)
        • 결합도(Coupling) : 두 모듈 간에 상호작용, 또는 의존도 정도를 나타내는 것이다.
          • 자료(Data) : 파라미터 즉, String, Integer, Float, Boolean
          • 스탬프(Stamp) : 배열, 구조체, 배열 등... 복합한 데이터구조로
          • 제어(Control) : 데이터만 전달하는 것이 아니라 제어 요소에. 필요한 값까지 전달함
          • 외부(Externel)  : 데이터 즉, 자료(Data)에서 값만이 아니라 통신, 통신 프로토콜도 전달받아서 처리함으로써 결합도가 높아짐
          • 공통(Common) : 전역 변수
          • 내용(Content) : {} 안에 있는 변수를 다른 곳에서 초기화하고 그걸 받아서 처리함으로써 코드 수정으로인해 변경시 유지보수가 어려워짐
            • 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
          • 암기 : 내공외제스자(결합도가 높은 순서부터 낮은 순서까지)
      •