전체 글 120

[1과목 소프트웨어 설계] 요구사항 확인 - 009. UML (Unufued Modeling Langusge)

1. UML (Unufued Modeling Langusge) 개요개발자와 고객, 개발자와 개발자 상호 간의 의사소통이 원활하게 해주는 객체지향 모델링 언어구성요소 : 사물(Things), 관계(Relationships), 다이어그램(Diagram)1) 사물 (Things)모델을 구성하는 기본요소사물내용구조 사물(Sructual Things)- 개념적, 물리적 요소를 표현- 클래스(Class), 유스케이스(Use Case), 컴포넌트(Component), 노드(Node) 등행동 사물(Behavioral Things)- 시간과 공간에 따른 요소들의 행위를 표현- 상호작용(Interaction), 상태 머신(State Machine) 등그룹 사물(Grouping Things)- 요소들을 그룹으로 묶어서 표현..

[1과목 소프트웨어 설계] 요구사항 확인 - 008. 요구사항 분석 CASE와 HIPO

1. 요구사항 분석을 위한 CASE (자동화 도구)요구사항을 자동으로 분석, 요구사항 명세서를 기술하도록 개발된 도구도구사용 이점문서화 품질 개선분석자들 간의 적절한 조절보고서의 결함, 생략, 불일치 등의 발견 용이성추적의 용이성유지보수 비용의 축소💡 요구사항 분석 도구 종류1) SADT (Structure Analysis and Design Technique)SoftTech 사에서 개발시스템 정의, 소프트웨어 요구사항 분석, 시스템/소프트웨어 설계블록 다이어그램2) SREM (Software Requirements Engineering Methodology) = RSL / REVSTRW 사에서 개발실시간 처리 소프트웨어 시스템RSL (Requirement Statement Language) : 요소,..

[1과목 소프트웨어 설계] 요구사항 확인 - 007. 요구사항 분석

1. ⭐ 요구사항 분석 개요사용자 요구사항을 이해하고 문서화(명세화)하는 것타당성을 조사하고 비용과 일정에 대한 제약 설정정확하고 일관성 있게 분석해 문서화UML(Unified Modeling Language), 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec.), 객체 관계도(ERD), 상태전이도(STD), 제어 명세서 등 도구 이용 2. 구조적 분석 기법자료 흐름과 처리를 중심으로 요구사항 분석도형 중심 분석분석가와 사용자 간의 대화 용이하양식 방법 사용해 시스템 세분화, 분석 중복 배제시스템 분석의 질이 향상 3. ⭐ 자료 흐름도(DFD; Data Flow Diagram) = 버블 차트자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법프로세스와 자료 저장소 사..

[1과목 소프트웨어 설계] 요구사항 확인 - 006. 요구사항 정의

1. 요구사항의 개념 및 특징서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건개발 및 유지보수 과정에서 필요한 기준과 근거 제공서비스에 전반적인 내용을 확인할 수 있어, 개발자와 사용자 들 간의 의사소통을 원활 2. 요구사항의 유형기술내용기능 요구사항 (Functional requirements)비기능 요구사항 (Non-functional requirements)기술관점과 대상시스템 요구사항 (System requirements)사용자 요구사항 (User requirements)1) 기능 요구사항 (Functional requirements)시스템이 무엇을 하는지, 어떤 기능을 하는지시스템의 입·출력 정보 / 데이터 정보2) 비기능 요구사항 (Non-functional requirements)시..

[1과목 소프트웨어 설계] 요구사항 확인 - 005. 개발 기술 환경 파악

1. 운영체제 (OS; Operating System)컴퓨터 시스템 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어Windows, UNIX, Linux, Max OS, iOS, Android1 - 1. 운영체제 관련 요구사항 식별 시 고려사항1) 가용성시스템의 장시간 운영으로 인해 발생할 수 있는 운영체제 고유의 장애 발생 가능성메모리 누수로 인한 성능 저하 및 재가동지속적인 패치 설치로 인한 재가동2) 성능대규모 동시 사용자 요청에 대한 처리대규모 및 대용량 파일 작업에 대한 처리지원 가능한 메모리 크기 (32bit, 64bit)3) 기술지원제작업체의 안정적인 기술 지원여러 사용자들 간의 정보 공유오픈소스 여부 (Linux)4) 주변기기설..

[1과목 소프트웨어 설계] 요구사항 확인 - 004. 현행 시스템 파악

1. 현행 시스템 파악 절차(1단계) 시스템 구성 파악 → 시스템 기능 파악 → 시스템 인터페이스 파악 → (2단계) 아키텍쳐 구성 파악 → 소프트웨어 구성 파악 → (3단계) 하드웨어 구성 파악 → 네트워크 구성 파악 2.시스템 구성 파악기간업무 : 조직의 주요 업무를 담담지원업무 : 기간업무를 지원각 업무에 속하는 단위 엄무 정보 시스템들의 명칭, 주요 기능을 명시 3. 시스템 기능 파악현재 제공하는 기능들을 주요 기능, 하부 기능, 세부 기능으로 구분하여 계층형으로 표시 4. 시스템 인터페이스 파악단위 업무 시스템 간 주고받는 데이터 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시데이터를 어떤 형식으로 주고 받는지 (xml, 고정포맷, 가변포맷 등), 통신규약을 무엇을 사용하는지 (TCP/IP..

[1과목 소프트웨어 설계] 요구사항 확인 - 003. XP (eXtreme Programming) 기법

1. XP (eXtreme Programming)수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법요구사항이 적용된 일부 기능이 완성될 때마다 이를 고객에게 보여주고 이에 대한 반응을 확인하는 과정을 최종 제품이 완성될 때까지 지속적으로 반복짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 빠르게 개발하는 것에 목적릴리즈 기간을 짧게 반복, 요구사항 반영에 대한 가시성 높임소규모 인원의 개발 프로젝트에 효과적💡 XP의 핵심가치1. 의사소통 (Communication) 2. 단순성 (Simplicity) 3. 용기 (Courage) 4. 존중 (Respct) 5. 피드백 (Reedback) 2. ⭐ XP ..

[1과목 소프트웨어 설계] 요구사항 확인 - 002. 스크럼 (Scrum) 기법

1. 스크럼 개요팀 중심으로 개발 효율성 높임팀원 스스로가 팀을 구성(self-organizing)해야하며, 개발 작업에 모든 것을 스스로 해결(cross-functional)할 수 있어야 함.제품 책임자 (PO; Product Owner)개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사결정할 사람 (개발 의뢰자, 사용자)요구사항을 작성하는 주체백로그(Backlog)를 작성하고 백로그에 우선순위 지정팀원들은 백로그에 추가할 수 있지만 우선순위를 지정 불가제품 테스트 수행하면서 주기적으로 요구사항의 우선순위를 갱신스크럼 마스터 (SM; Scrum Master)팀이 스크럼을 잘 수행할수 있도록 객관적인 시각에서 조언을 해주는 가이드 역할팀원 통제 목적X일일 스크럼 회의를 주관해 진행사항 점검, 개..

[Python] 개발환경 설정

Download Version- Python 3.11.5- Python 3.10.11- Python 3.9.13 💡 여러 버전을 설치하는 이유- 패키지, 모듈 때문에- 가상환경을 통해 사용 Python 설치 확인- 시스템 환경 변수 확인    - Python    - Python\Scripts- Python Execution Policy (실행정책) 변경    - 하나의 툴에서 다 개발하기 위해    - PowerShell 관리자 권한으로 실행    - get-ExecutionPolicy - 현재 실행정책        - Restricted나오는에 RemoteSigned으로 바꾼다.    - set-ExecutionPolicy RemoteSigned - 실행정책 변경 가상환경1. 가상환경을 왜 만드나?..

Language/Python 2024.05.05

[1과목 소프트웨어 설계] 요구사항 확인 - 001. 소프트웨어 생명 주기

1. 소프트웨어 생명 주기 (Software Life Cycle)소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것 💡 소프트웨어 공학소프트웨어의 품질과 생산성을 향상시키는 것이 목적IEEE의 소프트웨어 공학 표준 용어사전 : 소프트웨어의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안Fairley : 지정된 비용관 기간 내에 소프트웨어를 체계적으로 생산, 유지보수 하는데 관련된 기술, 관리적인 원리Boehm : 과학적인 지식을 소프트웨어 설계와 제작에 응용하는 것. 개발, 운용, 유지보수하는 데 필요한 문서 작성 과정💡 소프트웨어 공학 기본 원칙현대적인 프로그래밍 기술을 계속적으로 적용개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증개발 관련 사항..