- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Firebase
- 동적할당
- C언어
- 안드로이드 스튜디오
- Java
- 프로그래밍 입문
- 알고리즘
- 로그인
- python
- 코딩테스트
- 컴퓨터공학과
- android studio
- 배열
- 연결리스트
- 구글 로그인
- C++
- 정렬
- 자바
- 안드로이드
- 파이썬
- oauth
- 프로그래머스
- sql
- 백준
- 공유대학
- 자료구조
- til
- 비주얼 베이직
- firebase google
목록USG 공유대학 (13)
코딩하는 해달이
요구 추출 방법-고객의 발표-인터뷰-설문-관찰과 작업 분석-프로토타이핑-문헌, 양식 조사 -업무 문서나 양식을 조사 : 현재의 업무나 시스템 정보에 대해 깊은 이해 가능 -유사한 프로젝트를 조사 : 개발할 시스템에 대한 통찰 제공 -산업이나 기업 표준 조사 -정부 정책이나 규제 조사 : 요구 분석서의 제한 사항이 될 수 있음-브레인스토밍 회의 -여러명으로부터 아이디어와 정보를 얻기 위한 회의 기법 -토론보다는 아이디어를 쏟아 놓도록 익명성을 보장해야 함 -훈련된 요원이 회의를 주재하며, 참가자들이 서로 자극이 되어 열정을 가지고 아이디어를 창안하도록 함 -JAD(Joint Application Development) : 개발자와 사용자들이 요구를 정의하기 위해 3~4일동안 특정한 장소에서 ..
요구(Requirement) -시스템에 대한 고객의 요청을 확정한 것 -진정한 요구 사항을 찾는 것은 프로젝트 성공의 필수 조건이며, 여러 이해 당사자의 이해 관계와 관련 요구의 유형 -기능적 요구(Functional requirement) -시스템이 무엇을 할 것인지 나타냄 -시스템이 외형적으로 나타내는 기능, 동작 : 예) 현금인출기 → 인출, 잔금조회, 계좌이체, 현금 서비스 -시스템과 외부 요소간의 인터렉션 : 외부의 데이터나 명령에 대해 시스템이 어떤 반응을 해야 할지를 기술한 것 -입력, 처리, 출력을 염두에 두고 '시스템은 ~을 해야한다'로 표현될 수 있는것 : 예) 시스템은 항공편을 검색 할 수 있어야 한다. -기능적 요구는 구현 기술과는 독립적이어야 함 : 시스템이 어떻게 만들어질 것인지..
폭포수 모델의 특징 -1970년대 항공 방위 소프트웨어 개발 경험으로 습득 -가장 오래되고 널리 사용된 프로세스 모델 -각 단계는 다음 단계 시작 전에 끝나야 함 -순서적:각 단계 사이에 중복이나 상호작용 X -SQA 그룹의 승인을 받아야 다음 단계로 진행될 수 있음(SQA: 소프트웨어 품질 보증) -체계적인 문서화가 가능한 문서 중심 모델 : 각 단계마다 문서화된 산출물이 생성 -중간 산출물이 명확하여 프로젝트 가시성이 좋음 -작업이 순서대로 이루어지므로 직능 중심으로 프로젝트 조직을 구성할 수 있음 -요구사항이 이미 잘 알려져 있는 문제나 또는 변경이 적어 비교적 위험이 적은 프로젝트에 적합 폭포수 모델의 문제점 -많은 프로젝트가 폭포수 모델의 각 단계를 연속적인 한번의 과정으로 완성되는 경우가 드묾..
프로세스(process) : 소프트웨어 시스템을 구축하기 위해 수행되는 작업의 단계 바람직한 프로세스의 특성 - 예측가능성 : 프로젝트가 끝나기 전에 프로세스 결과를 예측할 수 있는 성질 - 테스팅과 유지보수 용이성 : 일반적으로 소프트웨어 유지보수 비용이 개발비용을 초과, 개발 비용 중 테스팅의 비용이 높음 - 변경 용이성 : 여러 이유로 변경은 피할 수 없으므로 변경을 쉽게 다룰 수 있어야함 - 결함 제거 용이성 : -- 오류 발생 시점의 분포 비율(분석 : 20, 설계 : 30, 코딩 : 50) -- 오류 수정 비용 : 수정 비용은 오류 발견이 늦어질수록 증가 프로세스 모델 - 개발 단계를 단순화하여 기술한 모형 - 대표적인 모델 -- 코드 픽스 모델 : 설계의 중요성을 깨닫지 못함, 계획이 없어 ..
소프트웨어 공학이 다루는 근본 문제 - 어떻게하면 사용자의 요구를 만족시킬 수 있도록 소프트웨어를 개발할 수 있는가? 소프트웨어 공학의 주제 - 단계적 프로세스 더보기 요구 분석 - 소프트웨어 시스템이 해결해야 할 문제를 이해 (시스템을 위하여 무엇을 만들 것인가?) **what이지 how가 아님** - 주요 활동 -- 문제 분석 (문제와 그 배경을 잘 이해하고 개발할 시스템의 요구 찾기) -- 요구사항을 요구 분석서(SRS:software requirement specification)로 정리 설계 - 요구 명세서에 기술된 문제에 대한 솔루션을 계획 (시스템을 어떻게 구축할 것인가?) - 주요 활동 -- 아키텍처(구조) 설계 : 시스템을 여러 구성 요소들의 집합체로 보고, 각 요소들의 역할과 인터페이스..
소프트웨어의 기본 활동 - 명세화 : 소프트웨어 시스템의 요구사항 정리 - 설계 : 문제에 대한 솔루션을 계획 - 코딩 : 설계 사항을 프로그래밍 언어로 변환 - 검증 : 구현된 소프트웨어가 고객의 의도와 일치하는지 확인 - 유지보수 : 소프트웨어가 개발된 이후에 일어나는 수정 활동(결함, 요구사항 변경) 소프트웨어의 위기 - 소프트웨어 개발에 기존의 방법이 충분하지 않아 여러문제(개발 지연, 낮은 품질)가 발생하는 현상
소프트웨어란? - 프로그램 - 프로그램의 개발, 운용, 유지보수에 필요한 관련 정보 일체 소프트웨어의 성질 - 복잡성 : 소프트웨어를 구성하는 요소가 많아지면 복잡해짐 - 순응성 : 외부의 환경, 요구사항등이 변화되면 소프트웨어도 함께 변화해야함 - 변경성 : 비교적 쉽게 변경이 가능함 - 비가시성 : 눈으로 볼 수 없는 성질을 가지고있음 - 비마모성 : 물리적인 것들과는 달리 마모되지 않음 소프트웨어의 유형 - 주문형 소프트웨어 더보기 특정 고객 또는 기업의 요구를 만족하기 위해 개발 개발 성패는 사용자의 필요성에 좌우 ex) 웹 사이트, 대기업 재정관리 시스템 등 - 패키지 소프트웨어 더보기 공개된 시장에서 판매하기 위해 개발 COTS SW(Commercial Off The Shelf)라고도 함 개발..
알고리즘 개요 알고리즘의 개념 ▶ 특정 업무를 수행하기 위한 절차 또는 명령어의 집합 ▶ 주어진 문제를 해결하는 데 필요한 방법과 절차를 순서대로 기술한 것 ▶ 즉, 우리가 평소 사용하는 컴퓨터 프로그램은 알고리즘을 프로그래밍 언어를 이용하여 코드로 변환한 것을 의미 알고리즘의 설계 ▶ 알고리즘을 설계할 때는 제어 구조를 이용 ▶ 제어 구조는 알고리즘에서 명령의 실행 순서를 결정하는 구조로 순차 구조, 선택 구조, 반복 구조가 있음 순차구조 문제를 해결하기 위해 가장 효율적인 방법을 찾아내는 과정 선택구조 특정 조건을 만족하는지 여부에 따라 다음 명령을 선택하여 실행 반복구조 어떤 문제를 해결하기 위해 같은 동작을 반복하여 실행 일상 생활 속 알고리즘 ▶ 등교 알고리즘 알람 소리에 기상한다. 아침 식사는..