Analysis and Design of Software Systems

2024. 4. 5. 21:02컴퓨터 전공 공부/객체지향설계

반응형

- Introduction -

소프트웨어 고장 보고서

결론 요약

 

1. 4억 달러의 소프트웨어 결함

테슬라는 가치 평가의 차이를 메우기 위해 일부 주식을 제공하겠다는 제안을 했습니다.

2. 미사일 타격 거짓 경보
불행하게도(또는 다행스럽게도) 그것은 거짓 경보로 밝혀졌습니다.

3. 의료용 주입 펌프의 치명적 결함
2015년 병원 환자에게 수액과 약을 자동으로 전달하도록 설계된 케어퓨전 알라리스 펌프는 소프트웨어 오류로 인해 펌프 주입이 지연되었습니다.

4. F-35 전투기 글리치
회사 측 설명대로 정보를 비행하는 비행기는 각각 다양한 각도에서 목표물을 탐지해야 합니다. 
그러나 소프트웨어는 하나의 대상과 여러 대상을 구별할 수 없었습니다.

 

왜 이러한 사고들이 일어날까? 소프트웨어 무슨 문제일까?

1. 사용자와 개발자의 의사소통의 분리

2. 정상적인 케이스만 고려해서 그렇다. 비정상 case도 고려했어야 한다.

 

학습 개요 및 목표

학습 개요

객체지향 개발 방법에 의하여 소프트웨어를 분석하고 설계하기 위한 기본 개념의 이해 및 기법들을 대하여 학습하고,

프로젝트 적용을 통해 문제 분석 및 설계 과정을 진행한다.

 

학습 목표

객체지향에 대한 기본 개념의 정확한 이해

소프트웨어의 분석 및 설계 개발 능력 배양

프로젝트를 통한 실무 기술 이해 및 습득

 

소프트웨어 개발이란

사용자가 요구사항들을 문서로 요청하면 특정 언어의 소스코드로 이루어진 Final System을 만든다.

이때 요구한 사항들의 case에 대해서만 action을 하는 것이 아니라 case가 아닌 경우에 대해서 고민을 해서 최종 시스템을 만들어야한다.

 

따라서

요구사항 = = 최종 시스템
소프트웨어 개발은 지속적인 모델링 활동이다.

 

모델링이란

model은 실세계 존재하는 개념 또는 사물을 의미한다.

 

모델링에 대한 규율 있는 접근 방식은

1. Multiple views (다양한 관점)

2. Representive (물체의 추상화)

3. Recognitive (인지 가능 해야함)

 

(기본) 개발 과정

요구사항들 -> 계획 -> 분석 -> 설계 -> 실행 -> 최종 시스템

 

각 단계

 

계획

정보 시스템을 구축해야 하는 이유는 무엇입니까?
프로젝트 팀은 그것을 어떻게 건설할 것입니까?

 

분석

시스템은 사용자의 요구를 지원하기 위해 무엇을 합니까?

 

설계

하드웨어, 소프트웨어 및 네트워크 인프라 측면에서 시스템이 어떻게 작동합니까?

 

실행

시스템은 실제로 프로그래밍 언어와 플랫폼을 사용하여 구축됩니다

 

SW 개발 과정 (위와 이어짐)

SW 개발 과정은 다음과 같은 단계를 거친다.

 

1. Planning Phase Analysis Phase ( 계획 )

 

사업가치 파악
타당성(실현가능성) 분석
작업계획서 작성
프로젝트 담당자
제어 및 직접 프로젝트

 

2. Analysis Phase (분석)

 

요구사항 수집
분석: 브레인스토밍
공정 모델링
데이터 모델링

 

3. Design Phase (설계)

 

건축설계 (큰 그림, 구성도)
인터페이스 설계
데이터베이스 및 파일 설계
프로그램 로직 설계

 

4. Implementation Phase (실행)

Construction 시공
Installation 설치

이 위의 4 단계를 어떻게 배치하냐에 따라 개발 방식이 달라진다!!!

 

Software Development Process

 

반응형