일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린코드
- 앱의생명주기
- Di
- RC
- alamofire
- ios면접
- iOS앱 디버깅
- IOS
- five lines of code
- mrc
- storekit2
- 프로그래머스
- ARC
- Safari Inspector
- five lines of cdde
- firestore
- unittest
- algorithm
- 코딩테스트입문
- Swift코딩테스트
- UIKit
- 카카오맵클론
- firebase
- SWIFT
- TDD
- 리팩터링
- hackerrank
- AutoLayout
- Swift디자인패턴
- RxSwift
- Today
- Total
목록정보처리기사/소프트웨어 설계 (2)
샘성의 iOS 개발 일지
1. 재공학 1-1) 소프트웨어 재공학(Software Reengineering)의 개념 💡 “기존의 시스템을 변경 혹은 재구조화 해서 사용하자.” 소프트웨어 위기를 유지보수의 생산성으로 해결하려는 방법을 뜻함 1-2) 재공학의 장점, 목표, 과정 장점 개발 시간 및 비용 감소 품질 향상 (기존에 존재하는 것을 다시 만든 것이니까) 신뢰성 향상 (기존에 사용했기 때문에 검증됨) 구축 방법에 대한 지식의 공유, 프로젝트 실패 위험 감소 목표 최우선 목표는 소프트웨어 유지보수성 향상이다. 복잡한 시스템을 다루는 방법 구현, 다른 뷰의 생성, 잃어버린 정보 복구 및 제거 재사용을 수월하게 해서 소프트웨어의 수명을 연장시키자. 과정 분석(사용 가치 여부 분석) → 구성(구조 리펙토링) → 역공학(기존에 있는 것..
1. 소프트웨어 💡 컴퓨터를 동작시키고 어떤 일의 처리 순서와 방법을 지시하는 명령어의 집합인 프로그램 (e.g. 앱) 1-1) 소프트웨어 특징 상품성: 상품이 되어 판매가 가능 복잡성: 개발하는 과정이 복잡하고 관리가 어려움 변경 가능성: 프로그램 업데이트 가능 오류 개선 및 업그레이드 복제성: 복제가 용이하여 쉽게 복사 및 유통 가능 앱 하나 만들면 여러명이 다운 받을 수 있음 1-2) 시스템의 개요와 기본 요소 시스템의 개요 컴퓨터로 처리 가능한 자료를 입력, 저장, 처리, 가공해 출력할 수 있도록 하는 정보 체계 기본 요소 (5가지) 입력, 처리, 출력, 제어, 피드백 1-3) 소프트웨어 위기 소프트웨어의 개발 속도가 하드웨어의 개발 속도를 따라가지 못해 사용자들의 요구사항 감당 못 하는 문제가 ..