전공과목 정리 94

[소프트웨어분석및설계🛠️] 12장 시스템 구현 및 운영

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 1. 구현 및 운영 개요1.1 시스템 구현 및 운영1) 목적- 최종 물리적 시스템 내역 ➡️ 작동되고 신뢰할만한 소프트웨어로 변환- 수행된 작업의 문서화- 현재와 향후 사용자들에게 도움 제공 2) 주요 활동- 코딩, 테스팅, 설치- 문서화, 사용자 교육, 지원- 유지보수 1.2 코딩, 테스팅, 설치- 코딩물리적 설계 내역을 작동되는 컴퓨터 코드로 변환산출물 : 코드, 프로그램 문서- 테스팅다양한 방법들로 코딩과 병행해서 수행 가능산출물 : 테스트 시나리오 및 테스트 데이터, 프로그램과 시스템 테스팅 결과- 설치산출물 : 사용자 지침, 사용자 교육계획, 설치 및 전환 계획 1.3 시스템 문서화/교육 및 지원- 시스템 문서화생명주기 ..

[소프트웨어분석및설계🛠️] 11장 데이터베이스와 UI 설계

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 1. 데이터베이스 설계1.0 데이터베이스 설계1) 저장 매커니즘- 자료의 저장정보시스템의 주된 요구사항시간이 흘러도 변하지 않고 최소의 중복성을 가지는 안정적인 구조- 파일시스템 vs. 데이터베이스 ➡️ 대부분의 정보시스템은 자료를 저장하기 위해 데이터베이스 시스템을 사용파일 시스템은 디렉토리와 파일로 구성파일의 구성 : 연속구조, 순차 구조, 랜덤 구조접근 방식 : 순차 접근, 인덱스 순차 접근, 직접접근- 파일 시스템의 문제데이터 파일들에 중복된 데이터 존재, 데이터 간의 불일치데이터의 공유가 부족 ; 새로운 프로그램 개발을 위해 새롭게 파일 구성응용프로그램과 데이터 간의 독립성이 없음 ; 유지보수 비용이 증가데이터 보안 ..

[소프트웨어분석및설계🛠️] 10장 설계 패턴

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 1. 설계 패턴1.1 설계 패턴- 아키텍처 설계 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루션을 제공- 패턴 (Pattern) : 실세계에 존재하는사물이나 개념에서 반복적으로 발생하는 형상을 추상화하여 정의한 것- 패턴 사용의 장점생산성 증가, 전문가 경험의 전달 및 학습 효과솔루션에 대한 불필요한 논쟁 제거, 결과물의 품질 향상- 설계 패턴 (design pattern)소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결책많은 개발자들이 경험상 체득한 설계 지식을 검증하고 이를 추상화하여 일반화한 템플릿- 설계 패턴을 사용하는 이유쉽게 재사용 가능 ➡️ 검증된 것을 재사용함으로써 생산성을 높일 수 있음..

[💡시스템종합설계(캡스톤디자인)] node.js crypto 이용하기

공통node.js에서 crypto를 이용하기 위해 npm 명령어로 다운받고 import한다.import crypto, { Cipher } from "crypto"; AES를 이용한 암/복호화const key = "01234567890123456789012345678901"const iv =Buffer.alloc(16,0);// 암호화const AESencrypt = crypto.createCipheriv("aes-256-cbc", key, iv);const cipertext = AESencrypt.update("Hello world", "utf-8", "base64") + AESencrypt.final("base64");console.log(cipertext);// 복호화const AESdecrypt =..

[소프트웨어분석및설계🛠️] 9장 SW 아키텍쳐

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만)1. 아키텍쳐 기초1.1 SW 아키텍쳐 기초- 소프트웨어 아키텍쳐시스템을 구성하는 컴포넌트(구성요소)와 컴포넌트 상호작용의 집합- SW 아키텍쳐는 비기능적 결정(non-functional decisions)을 반영하고, 기능 요구사항을 분할- SW 아키텍쳐 설계에서 고려해야 할 요구사항변경유지보수 용이성상용 컴포넌트의 사용시스템 성능신뢰성보안고장 인내성복구- SW 아키텍쳐의 역할시스템의 구조를 확립하는 소프트웨어 개발의 중심축설계, 구현과 통합, 테스팅까지 통합하는 뼈대모든 단계에 영향을 줄 만한 초기 의사 결정의 핵심- SW 아키텍쳐가 중요한 이유 : 시스템이 개발된 후에 구조를 바로잡기 어려움- SW 아키텍쳐 관점 (view)U..

[소프트웨어분석및설계🛠️] 8장 소프트웨어 설계

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 🔎 분석에서 설계로- 요구 분석 : '무엇을 만들 것인가'를 다루는 작업- 설계'어떻게 실현할 것인가'를 구체적으로 결정하는 활동기본 구조 설계 : 아키텍쳐 설계로 각 모듈의 역할과 인터페이스를 정의상세 설계 : 모듈 내부의 알고리즘과 데이터를 명세화 1. 설계의 개념과 원리1.1 설계의 개념- 설계높은 수준의 의사 결정 과정의 연속설계 원리와 중요- 전통적 설계 방법 : 분할 정복, 추상화, 합성 등의 원리를 적용- 최근의 방법아키텍쳐 기반의 설계 방법아키텍쳐 이해서브시스템, 모듈의 개념과 설계 작업의 관점, 설계 작업을 숙지해야 함. 1.2 설계 작업 과정- 의사결정 과정이면서 동시에 시스템을 알아가는 과정 1.3 품질 목표..

[소프트웨어분석및설계🛠️] 7장 객체지향방법론 - (2) 정적·동적 모델링

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 1. 정적 모델링1.1 구조적 모델1) 구조적 모델- 시스템 내부의 관점구조의 관점어떤 구성요소가 있고, 이들이 어떤 관계를 맺고 있는지 표현시간이 흐르더라도 변하지 않는 정적 구조- 새로운 문제 도메인의 중요한 클래스를 발견하기 위함- 비즈니스에서 사용되는 용어들을 이용하여 객체들을 정의함으로써, 실 세계와 소프트웨어의 의미적 차이를 줄이는 작업- 개발 대상 소프트웨어가 어떤 구조적 요소들로 이루어질 수 있는지 분석- 모델링 과정 : 겍체식별 ➡️ CRC 카드 ➡️ 클래스 다이어그램  2) 객체 식별- UML에서 정의하는 클래스클래스명, 클래스 속성, 클래스 연산 3요소로 구성클래스 간의 상관성을 클래스의 관계로 나타냄- 식별 ..

[모바일소프트웨어📱] 코틀린(Kotlin) 문법 (2)

출처 : 코틀린 학습을 위한 링크(이전 글 1.2 참고), 강의 교안 1. Functions (함수)1.1 Functions- fun 키워드- 반환 타입 선언 가능- 함수의 매개변수에는 var, val 키워드 사용 불가 (자동으로 val이 적용)fun hello() { return println("Hello, world!")}fun sum(x:Int, y:Int): Int { return x + y} 1.2 Named Arguments- 매개변수명 지정 호출 가능 (Named Argument)fun printMessageWithPrefix(message: String, prefix: String) { println("[$prefix] $message")}fun main() {// Uses..

[모바일소프트웨어📱] 코틀린(Kotlin) 문법 (1)

출처 : 코틀린 학습을 위한 링크(1.2 참고), 강의 교안 1. 코틀린이란?1.1 코틀린 언어- JetBrains에서 개발한 정적 타입의 프로그래밍 언어- 2017년 구글에서 안드로이드 공식 언어로 지정- JVM 기반 언어- 간결한 구문으로 프로그램 작성- 자바 100% 호환- 함수형 언어, 람다식, 널 안정성(null safey) 등 최신 언어의 트렌드 지원- 세미콜론 생략 1.2 코틀린 학습을 위한 링크- Kotlin Programming Language (kotlinlang.org) Kotlin Programming LanguageKotlin is a programming language that makes coding concise, cross-platform, and fun. It is Goo..

[소프트웨어분석및설계🛠️] 7장 객체지향방법론 - (1) 기능 모델링

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만) 1. 객체지향 기술 개요1.1 객체지향 기술 개요1) 1970년대- 프로그램을 여러 개 작은 부분으로 쪼개 개발하는 구조적 개발 방법론 이용- 프로그램의 논리와 데이터를 분리해서 소프트웨어를 설계 ➡️ 개발단계별로 자연스럽게 연결되지 않고, 유지보수 비용이 이 많이 발생 ⭐ 객체지향 개발방법론 등장: 인간이 사고하는 방식대로 프로그램을 개발하려는 노력으로 탄생 2) 1990년대: 여러 SW 기술 중 가장 중요한 기술로 인식SW 위기 현상이 객체지향 기술로 인해 해결될 수 있다는 공감대 형성소프트웨어 생산 기술의 초점이 프로그래밍에서 분석, 설계로 옮겨지며 더욱 주목받음개발생산성을 높이는 방법을 제공일관된 소프트웨어 개발 모델 제공..