본문 바로가기

소프트웨어공학7

[소프트웨어공학] 클래스 간의 관계 1. Generalization (Inheritance) 저번 포스팅에 이어 오늘은 Inheritance에 대한 포스팅을 해보겠습니다.https://cuckoobird.tistory.com/211 [소프트웨어공학] 클래스 간의 관계이번 학기에 듣게 된 '시스템분석설계' 라는 과목에서 배운 내용을 정리해보고자 글을 씁니다.각 관계에 대한 자세한 설명은 따로 포스팅하여 예제 코드와 함께 링크 걸겠습니다. 클래스 관계cuckoobird.tistory.com Generalization (Inheritance) 관계Generalization 관계는 두 가지의 특징을 가집니다.1. 부모와 자식 관계: 상위 클래스와 하위 클래 관계가 부모 클래스, 자식 클래스로 작용합니다. 이를 두고 상속(Inheritance) 관계 라고 합니다.2. 확장 관계: 자식 클래스는 부모 클래.. 2024. 9. 12.
[소프트웨어공학] 클래스 간의 관계 이번 학기에 듣게 된 '시스템분석설계' 라는 과목에서 배운 내용을 정리해보고자 글을 씁니다.각 관계에 대한 자세한 설명은 따로 포스팅하여 예제 코드와 함께 링크 걸겠습니다. 클래스 관계는 위와 같은 다이어그램으로 표현할 수 있습니다.Inheritance(Generalization): 부모-자식 관계로, 확장(extends) 개념이 들어갑니다.https://cuckoobird.tistory.com/213 [소프트웨어공학] 클래스 간의 관계 1. Generalization (Inheritance)Generalization (Inheritance) 관계Generalization 관계는 두 가지의 특징을 가집니다.1. 부모와 자식 관계: 상위 클래스와 하위 클래 관계가 부모 클래스, 자식 클래스로 작용합니다. .. 2024. 9. 9.
[소프트웨어공학] 6장. 아키텍처 설계와 클래스 설계 01 아키텍처 설계아키텍처의 필요성아키텍처 품질 속성(성능/가용성/사용성/편의성/운영성/확장성 등)을 고려하지 않고 원칙, 지침, 표준을 지키지 않으면 좋은 시스템이 될 수 없다.SW 아키텍처에서는 기능적인 요소뿐만 아니라 여러 시스템의 비기능적인 요소에 집중한다.software architecture 위치 : requirements - software architecture - implementations소프트웨어 아키텍처소프트웨어 구성 요소들 사이에 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙SW 아키텍처의 특징과 기능SW 골격이 되는 기본 구조SW 구조, 구성 요소(속성), 구성 요소 간의 관계시스템에 대한 큰 밑그림 구성 요소 간의 상호작용 정의세부 내용보다 핵심 .. 2024. 6. 13.
[소프트웨어공학] 4장. 요구 분석 01 요구사항SW개발에서의 Requirement사용자와 개발자가 합의한 범위 내에서 사용자가 필요로 하는 기능기능 요구, 비기능 요구02 요구분석의 이해요구 분석 정의와 목적요구 분석의 목표사용자에게 필요한 요구사항을 추출해 목표하는 시스템의 모델을 만들고 '요구분석명세서'를 작성하기 위해요구분석명세서요구 분석 단계에서 생성되는 최종 산출물시스템의 기능(비기능)이 무엇인지 (what)에만 초점을 두고 정리 (how는 설계서)발주 관련발주사: A대학에서 종합정보시스템을 외주로 개발하려고 할 때의 A대학경영자: A대학 종합정보시스템 개발을 결정한 최고 책임자, 즉 A대학 총장발주담당자: A대학 종합정보시스템 개발 외주를 위해 모든 절차를 준비하는 담당자사용자: 개발된 시스템을 업무에 실제 사용하는 사람. (.. 2024. 4. 26.
[소프트웨어공학] 3장. 계획 01 계획의 이해SW 개발 계획비용, 기간, 자원 등에 대한 계획이 필요함02 문제 정의문제 정의SW 개발의 첫 작업무엇을 개발할 것인지 명확히 정의개발 범위를 결정→ 프로젝트의 초기 타당성과 초기 계획을 작성할 수 있는 기초로 활용필요사항개발하고자 하는 영역의 배경지식 필요현재 운영 중인 시스템을 사용해뵉면담(실무 담당자) 후 자료 수집 및 분석03 타당성 분석feasibility analysis목표경제적 타당성: 개발할 시스템을 정의하고 신규 시스템 실현 방안을 모색하면서 투자 효율성이 얼마나 높은지, 시장성은 얼마나 큰지를 검토기술적 타당성: 사용자가 원하는 수준으로 개발하기 위해 기술적인 어려움은 없는지 검토법적 타당성: 개발 과정에서 사용하는 프로그램이나 도구가 소유권 등의 법적 문제는 없었는지.. 2024. 4. 25.
[소프트웨어공학] 2장. UML 01 UML의 이해UML(Unified Modeling Language): SW 전체를 판단할 수 있도록 12개의 다이어그램을 제시→ 완성될 SW의 전체 윤곽을 알 수 있다.UML 역할시스템이 상호작용하는 측면시스템 전체 구조 측면컴포넌트 간의 관계→ 시각적으로 볼 수 있게 나타낸 도면02 유스케이스 다이어그램사용자 요구사항 표현 도구구조적 방법: DFD(Data Flow Diagram)정보공학 방법: ERD(Entity Relationshiop Diagram)객체지향 방법: Usecase DiagramUsecase DiagramUsecase: 시스템이 제공하는 기능Actor: usecase가 제공하는 기능을 사용하는 사용자→ Usecase와 Actor와의 관계actor의 종류사용자 actor: 시스템을.. 2024. 4. 25.