본문 바로가기

요구사항이 어려운 이유 5가지 1. 요구 사항은 글 쓰기 이기 때문에 요구 사항을 작성한다는 것은 문서를 작성하는 것. 이것은 프로그래밍이 아닌 작문 능력을 필요 로 하는것. 특히 누구나 쉽게 이해할 수 있는 문서를 작성한다는 것은 많은 연습을 필요로 한다. 특히 개발자가 요구사항을 작성해야 한다면, 많은 어려움을 겪게 될 것. 프로그래밍 능력은 글쓰기와 많이 다른것 2. 고객의 요구사항이 구체적이지 않고, 추측해야 할 수 있기 때문 소프트웨어에 대한 요구 사항은 고객이 알고 있다. 그러므로 이를 작성하기 위해서는 고객을 만나 야 한다. 그런데 바로 소프트웨어를 개발할 수 있을 정도로 구체적으로 요구하는 고객들은 흔하 지 않다. 심지어는 자신이 원하는 것이 무엇인지 조차 잘 모르는 고객들도 있다. 이들로부터 요구 사 항을 도출하기 위..
요구 사항의 종류 1. 이해관계자의 종류에 따른 요구 사항의 구별 이해관계자의 stakeholder는 여러 종류 somethings of software needed or asked for from project managers' viewpoints in order to outline software(소프트웨어의 윤곽을 정하기 위해 프로젝트 관리자의 관점에서 소프트웨어가 필요로 하는 것들) somethings of software needed or asked for from architects' viewpoints in order to design software(소프트웨어를 설계하기 위해 설계자의 관점에서 소프트웨어가 필요로 하는 것들) somethings of software needed or asked for fro..
요구사항이란? 소프트웨어 프로세스의 시작점은 대체로 요구 사항을 파악하고 분석하는 것 something of software that users need or ask(사용자가 필요로 하는 소프트웨어의 어떤 것들) somethings that stakeholders need or ask for in order to develop software(소프트웨어를 개발하기 위해 이해 관계자들이 필요로 하는 것들) 요구 사항이란, 소프트웨어를 사용할 고객 또는 그것의 개발과 관계되는 사람들이 출시 될 소프트 웨어에 대해 바라는 모든 것들, 이것을 수집하는 것은 소프트웨어를 개발하기 위한 시작점 요구 사항 내용은 크게 기능적 요구 사항과 비기능적 요구 사항으로 구별 출처https://m.blog.naver.com/netrance/..
애자일 vs 폭포수 1. 폭포수 개발방식 폭포수 개발방식은 다시 되돌아 갈수 없는 구조 요구사항 분석 > 설계 > 개발 > 테스트 > 배포형태로 단계적 프로젝트가 수행 폭포수 모델 개발방식은 마치 6개월만에 책을 만들어내는 것과 같은 방식 폭포수 모델의 단점은 완성되기 전까지 문제점을 발견하기 어려움 2. 애자일 개발방식 애자일은 방법론이라 얘기한다. 유연하게 일하는 방식. 짧은 주기로 고객의 소프트웨어를 만들어가면서 이슈 사항들을 바로바로 제거하는 개발 방식이 바로 애자일 소프트웨어 개발 방식이다 폭포수 모델방식에 비해 작업의 단위는 훨씬 작아지고, 처음에 생각했던 방향성에서 크게 틀어 질 가능성을 최소화 할수 있다. 수정할 필요가 있으면 바로바로 수정하기 때문에, 비용도 크게 들 지 않고 쉽게 수정 할수 가 있다. 추상..
유닛 테스트 앞으로 유닛 테스트를 하기 위한 전략 및 설계 1. 기능 테스트 : 사용자 관점에서의 application 외부 테스트 2. 단위 테스트 : 개발자 관점에서의 내부 테스트 유닛 function 메소드 유닛들 각각을 테스트 할수 있다 4.12전에는 랜덤순이였다가. 4.12부터 정해진 순서가 있음 메소드 이름의 해시코드로 순서를 정하는게 기본 ordering함 그래서 정해진 순서가 있음 이게 기본값 그런데 메소드 이름으로 정렬 junit 5 부터는 또 없어짐.. 권장되지않음 TestMethodOrder - 테스트 실행 순서 지정 5.4버전부터 테스트의 순서를 지정할 수 있는 @TestMethodOrder 어노테이션이 제공됩니다. 일반적으로 테스트는 순서에 의존하지 않도록 작성하는 것이 유지보수 측면에서 바람..
오라클 페이징 처리 1. 오라클 페이징 처리 수많은 데이터를 한 페이지에서 보여주면,처리 성능에 영향을 미침 또한,브라우저에서도 역시 데이터의 양이나 처리 속도에 문제를 일으키게됨 데이터의 양이 많을수록 정렬이라는 작업이 얼마나 많은 리소스를 소모하는지 알 수 있다 빠르게 동작하는 SQL을 위해서는 먼저 order by를 이용하는 작업을 가능하면 하지 말 아야 한다. 오라클의 페이징 처리를 제대로 이해하기 위해서 반드시 알아두어야 하는 것이 실행 계획 (execution plan)이다 실행 계획은 말 그대로 'SQL을 데이터베이스에서 어떻게 처리할 것인가?’에 대한 것 SQL이 데이터베이스에 전달되면 데이터베이스는 여러 단계를 거쳐서 해당 SQL을 어떤 순서와 방식으로 처리할 것인지 계획을 세움 데이터베이스에 전달된 SQL..
서버사이드렌더링 & 클라이언트사이드렌더링 1. 서버 사이드 렌더링 - 동적으로 화면을 다 만들어주고 클라이언트에 내려주는것 - 컨트롤러에서 데이터가져와서 html태그에 만들고 프론트로 내려주는것 2. 클라이언트 사이드 렌더링 (Single Page Application(SPA)) - 서버는 동적처리없이, 파일만 내려주고 클라이언트가 그 이후에 동적으로 동작을 해서 화면이 바뀌는것 - 자바스크립트가 api호출해서 비동기처리로 댓글 데이터를 가져와서 화면에 보여주는것 - 자바스크립트 코드가 내려간다음에 실행함, 웹브라우저에서 실행한 코드 이다. 3. 나의 프로젝트 정리하면 내 프로젝트에서 글의 상세페이지는 서버 사이드 렌더링 + 클라이언트 사이드 렌더링 2가지가 합쳐져 있다고 봐야할것같다. 댓글의 리스트를 가져오는것은 클라이언트 사이드 렌더링이고 ..
생활코딩 신 버전 자바 1. 자바의 동작원리 : https://cg-developer.tistory.com/376?category=8423072. 3.