Software Engineering

공부한 내용을 정리합니다
Software Engineering/SDLC

제품 소프트웨어 패키징, DRM, 국제 표준

정보처리기사 필기 준비하며 정리한 내용입니다. 제품 소프트웨어 패키징 패키징 고객이 소프트웨어를 사용할 수 있도록 묶은 것 업데이트 받는 것도 패키징! 매뉴얼 작성도 패키징! 배포까지 말하는 것이 패키징 작업 패키징 방법 일반적인 3가지 CD / USB APP 스토어에서 받는 것 WEB 서비스 📌애플리케이션 패키징 무조건 고객(사용자) 입장에서 패키징을 고려해야 한다! 패키징된 서비스는 고객이 설치해야 하기 때문에 사용자의 실행 환경을 이해한다! 컴퓨터 상태 (OS, CPU, 메모리 등) 수행 순서 ⭐ 기능 식별 모듈화 진행 // 여기까지는 개발 빌드 진행 : 배포본 형태로 만드는 것 (묶는 것) 웹 JAVA 기준으로 war파일(압축파일) 이 나온다. 이걸 가지고 아래의 환경 분석을 수행! (컴퓨터라면 ..

Software Engineering/SDLC

소프트웨어 구현 - 단위 모듈, 개발 도구, 버전&형상관리

정보처리기사 필기 준비하며 정리한 내용입니다. 단위 모듈—단위 테스트 📌단위 모듈 구현 단위모듈 : 하나의 모듈. 하나의 일처리 단위! 개념 소프트웨어를 기능 단위로 분해하여 구현하는 기법 각 모듈이 독립적으로 활용될 수 있게 구현 모듈은 크기가 작고 하나의 일만을 수행하도록, 읽기 쉽도록 만들어야 모듈은 최대한 작게 만들어야! 장점 오류의 파급효과 최소화 모듈 재사용으로 개발 및 유지보수가 용이! 효과적인 모듈화 결합도를 줄이고 응집도를 높여 모듈의 독립성을 높임! ⭐ FAN-OUT 최소화, FAN-IN 증가 단위 모듈 설계의 원리 ⭐ 단계적 분해 : 처음엔 간단히 작성 → 점점 세밀히 작성 추상화 : 복잡한 문제 일반화 → 이해하기 쉽도록 독립성 : 응집도는 높이고 결합도를 낮춰 정보은닉 : 내부 데..

Software Engineering/SDLC

시스템 인터페이스 설계-구현

정보처리기사 필기 준비하며 정리한 내용입니다. 인터페이스 요구사항 확인 📌절차 요구사항 분류 → 분석 → 할당 → 협상 → 정형 분석(문서화) 인터페이스 = 접점을 만들어주는 것ex. 빕스에서 CJ ONE의 API를 호출=인터페이스 한다.이렇게 꼭 외부만이 아니라 내부에서 함수를 호출하는 것도 역시 인터페이스! 즉 시스템과 시스템이 서로 연결-호출하는 것. ex. 시스템과 나와의 접점을 만들어주는 것이 유저 인터페이스 인터페이스는 서로의 약속=규칙이 정해져있어야 한다. 상호 작용하는 접속 방법이나 규칙을 정의하는 것이 인터페이스 요구사항 1) 요구사항 분류 기능적 요구사항 어떤 액션을 했을 때 어떤 기능이 작동해야 한다. 입력, 처리과정, 출력 비기능적 요구사항 성능, 사용성, 안정성, 신뢰도, 보안 :..

Software Engineering/SDLC

애플리케이션 설계 - 절차, 아키텍처

정보처리기사 필기 준비하며 정리한 내용입니다. 📌설계 절차 요구사항 명세 → [1️⃣아키텍처 설계 → 2️⃣시스템 아키텍처 → 3️⃣데이터베이스 설계-명세] → 4️⃣서브시스템 설계-명세 → 5️⃣컴포넌트 설계-명세 → 6️⃣자료구조/알고리즘 설계 1️⃣아키텍처 설계 아키텍처 = 구조. 전체 구성도 아키텍처의 종류 시스템 아키텍처 소프트웨어 아키텍처 소프트웨어 아키텍처 전체적인 소프트웨어의 구조 (로그인 하는 모듈 등) 아키텍처 = 전체적인 구조, 구성도 특징 간략성 : 이해하고 추론할 수 있는 추상화 : 시스템의 추상적인 표현을 사용 (공통 속성 사용) 가시성 : 포함해야 하는 것들이 보여야 그릴 수 있다 관점 모형 : 이해당사자들은 관점이 다 다르다. 각자의 관심사에 따른 모형을 제시해야 한다 의사소..

Software Engineering/SDLC

애플리케이션 설계 - 모듈, 객체지향 설계, 디자인 패턴

정보처리기사 필기 준비하며 정리한 내용입니다. 공통 모듈 설계 공통 모듈 모듈의 개념 전체 프로그램의 기능 중 특정 기능을 처리할 수 있는 실행 코드. 자체적으로 컴파일 가능. 다른 프로그램에서 재사용이 가능하다. 유지보수하기도 쉽다 프로그램은 모듈의 결합이다. 모듈 중 자주 사용하는 것들이 공통 모듈이다 재사용 재사용 범위에 따른 분류 ⭐ 함수와 객체 컴포넌트 애플리케이션 단위 크기 : 함수와 객체 < 컴포넌트 < 애플리케이션 재사용 유형 편의적 재사용 전에 만든 것 중에 재사용할 거 있나? 계획적 재사용 지금 만드는 걸 나중에도 재사용할 거야! 재사용의 대표적인 사례 라이브러리 : 언어에 종속적! 내부 라이브러리 언어 자체에서 기본적으로 제공하는 라이브러리 외부 라이브러리 기본적으로 제공하지 않는데 ..

Software Engineering/SDLC

UI 설계

정보처리기사 필기 준비하며 정리한 내용입니다. UI(User Interface) UX = 사용자 경험을 토대로 만들어진다. 정보기기와 사용자가 상호작용 가능하도록 연결해주는 매개체 UI 유형 ⭐ CLI Command Line Interface = CUI 리눅스, 유닉스 시스템에서 사용한다 GUI Graphical User Interface AUI Auditory User Interface 사운드 관련 NUI Natural User Interface 특별한 하드웨어 없이 인간의 자연스러운 움식임을 인식하여 정보를 제공 UI 설계 원칙 ⭐ 직관성 유효성 : 목적 정확하게 달성할 수 있어야 (웹툰보고싶다! 하고 누르면 웹툰이 나와야) 학습성 : 쉽게 배우고 익힐 수 있어야 유연성 : 사용자의 요구사항 최대한 ..

Software Engineering/SDLC

소프트웨어 설계 - 요구사항 확인 및 분석

정보처리기사 필기 준비하며 정리한 내용입니다. 소프트웨어 설계 소프트웨어 개발 단계 계획 요구사항 확인 분석 모델링 분석 명세 설계 모델링한 것을 가지고 꼼꼼히 그림 그리는 단계 스토리보드 등 구현 (개발) 테스트 유지운영 요구사항 확인 1. 도출 요구사항 도출 기법 ⭐ 인터뷰 관찰 (고객사의 업무 프로세스 관찰) 또는 문화기술적 연구 사용자 스토리 (여러 사람의 업무에 관한 얘기를 하나씩 받는다) 시나리오 (요구사항 절차적으로, 이야기식으로 나열) 설문조사 브레인 스토밍 포커스 그룹 (이해관계자들이 모여서 회의) 워크샵 2. 분석 성능 특성 분석 측정 항목 이후에 나올 운영체제 등 모든 측정은 이것과 동일하다. 반환시간 Turnaround Time 요청 전달→응답→처리완료까지 걸린 시간 응답시간 Res..