
시스템 인터페이스 요구사항 명세서 구성 요소 인터페이스 이름 연계 대상 시스템 연계 범위 및 내용 연계 방식 송신 데이터 인터페이스 주기 기타 고려 사항 시스템 인터페이스 요구사항 분석 절차 요구사항 목록 만들기 관련 자료 준비 기능적인 요구사항, 비기능적인 요구사항 분류 요구사항 분석 & 요구사항 명세서 내용 추가, 수정 요구사항 명세서, 목록을 관련 이해관계자에게 전달 요구사항 검토 동료검토 : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으며 결함을 발견하는 형태의 검토 방법 워크스루 : 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 형태의 검토 방법 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이..

📝소프트웨어 아키텍처 모듈화 시스템의 기능들을 모듈 단위로 나누는 것 추상화 전체적이고 포괄적인 개념을 설계한 후 구체화시켜 나가는 것 정보은닉 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법 상위 설계와 하위 설계 상위 설계 하위 설계 아키텍처 설계, 예비 설계 모듈 설계, 상세 설계 구조, DB, 인터페이스 컴포넌트, 자료 구조, 알고리즘 시스템 측면 품질 속성 성능, 보안, 가용성, 기능성, 사용성, 변경 용이성, 확장성 등 협약에 의한 설계 컴포넌트를 설계할 때 클래스에 대한 여러 가정을 공유할 수 있도록 명세한 것 📝아키텍처 패턴 아키텍처 패턴 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제 레이어 패턴, 클라이언트-서버..

📝요점정리 데이터 저장소 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미 데이터베이스 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장 장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터 DBMS 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어 필수 기능 3가지 : 정의 / 조작 / 제어 기능 데이터의 독립성 논리적 독립성 물리적 독립성 스키마(Schema) 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 개념 스키마 : 데이터베이스의 전체적인 논리적 구조, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 ..

📝요점정리 소프트웨어 생명 주기(Software Life Cycle) 소프트웨어를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것 폭포수 모형(Waterfall Model) 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론 프로토타입 모형(Prototype Model, 원형 모형) 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형 나선형 모형(Sprial Model, 점진적 모형) 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형 보헴(Boehm)이 제안 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가 애자일 모형(Agil..

1. 채널(채팅방) 생성 파이어베이스 데이터베이스 -서버를 구축하지 않고 파이어베이스의 데이터베이스 활용. -파이어베이스에서 제공하는 파이어스토어는 NoSQL 문서 중심 데이터베이스로써, SQL 데이터베이스와 달리 테이블이나 행이 없고 컬렉션(collections), 문서(document), 필드(field)로 구성됨. -컬렉션과 문서는 항상 유일한 ID를 가지고 있어야함. 이번 프로젝트에서는 channels라는 ID를 가진 하나의 컬렉션을 만들고 생성되는 채팅방을 channels 컬렉션에 문서로 저장 예정. 파이어베이스 데이터베이스 규칙 수정 ChannelCreation.js KeyboardAwareScrollView 컴포넌트 : Input 컴포넌트를 사용할 때 자동으로 스크롤 위치를 이동하여 키보드가..

대부분의 애플리케이션은 데이터에 접근할 수 있는 유효한 사용자라는 것을 증명해야 하며, 인증 후 서비스를 이용할 수 있는 화면이 렌더링, 로그아웃 등으로 인증 상태를 해제하면 다시 인증을 위한 화면으로 이동함. 1. MainStack 내비게이션 const MainStack = () => { const theme = useContext(ThemeContext); return( ); }; export default MainStack; MainStack 내비게이션은 채널 목록 화면, 프로필 화면으로 구성된 MainTab 내비게이션을 첫 번째 화면으로 가짐. 실행 화면 2. MainTab 내비게이션 MainTab 내비게이션을 구성하는 채널 목록 화면 ChannelList.js, 프로필 화면 Profile.js ..

💡구현 목표 로그인/회원가입 : 이메일, 비밀번호를 이용한 로그인 및 회원가입 프로필 : 내 정보 확인 및 변경 채널 생성, 목록 조회 채널 : 실시간으로 메시지를 주고받는 독립된 공간 1. 프로젝트 준비 프로젝트 생성 expo init react-native-simple-chat//프로젝트 생성 npm install @react-navigation/native//리액트 내비게이션 설치 설치한 라이브러리 expo-image-picker : 기기 사진, 영상을 가져오는 기능 moment : 시간을 다양한 형태로 변경하는 등 시간과 관련된 많은 기능 제공 react-native-keyboard-aware-scroll-view : 키보드가 화면을 가리며 생기는 불편함 해결 react-native-gifted-..

일반적으로 모바일 애플리케이션은 하나의 화면이 아닌, 다양한 화면이 상황에 맞게 전환되면서 나타남. => 내비게이션(navigation)은 모바일 애플리케이션에서 가장 중요한 기능 중 하나임!! => 리액트 네이티브에서는 내비게이션을 지원하지 않는다. 외부 라이브러리를 이용해야 한다. 🤍리액트 내비게이션 리액트 네이티브 애플리케이션의 내비게이션을 쉽고 간단하게 관리할 수 있도록 도와줌 지원하는 내비게이션 종류 : 스택(stack) 내비게이션, 탭(tab) 내비게이션, 드로어(drawer) 내비게이션 구조 : NavigationContainer, Navigator, Screen 컴포넌트 Screen 컴포넌트 : 화면으로 사용되는 컴포넌트로, name과 component 속성을 지정해야함. name은 화면 ..