전체 글

    11/30 13주차 수업 내용 정리

    10장 유지보수 유지보수 소프트웨어가 인수되어 설치된 후 일어나는 작업 개발기간보다 길다. 유지보수의 종류 동기에 따라 네 가지 종류 - 교정형 - 적응형 - 개선형 - 예방형 Lehman의 원리 - S/W는 계속 변경된다. - 복잡도가 계속 증가된다. - 대규모 S/W의 유지보수에는 일정한 방향(특성)이 있다. - 대규모 S/W는 안정화 상태인 경우가 많다. - 진화할 때 친근성을 유지하려고 한다. - S/W의 기능은 계속 증가한다. - S/W가 운영 환경에 적응하지 못하면 품질이 저하된다. - 소프트웨어는 피드백을 통해 진화해나간다. 개발작업과 유지보수 작업의 차이 - 포괄적이고 단발적으로 수행 - 다양한 기술이 필요 -이해 단계에 많은 비용이 듦 - 통합적이며 이해중심적 유지보수에 영향을 주는 요소..

    11/29 변경 사항

    오늘 해결하거나 구현한 것들은 이런 것들이 있다. 로봇 동작 표시를 정상적으로 할 수 있게 되었다. 이미지 파일을 image 폴더로 옮기고 경로를 수정했다. pyinstaller를 이용하여 실행 파일을 만들었다. PyQt5의 setStyleSheet()을 이용하여 UI를 꾸몄다. 앞으로 구현해야할 것들은 이런 것들이 있다. 유효하지 않은 맵 데이터 입력을 검출해야 한다. (음수, 맵 범위를 벗어나는 입력, 괄호의 잘못된 사용 등) 내가 만든 프로그램은 아래의 깃허브 주소를 통해 확인해 볼 수 있다. https://github.com/sunga201/MySEProject

    11/28 변경 사항

    오늘은 저번 포스팅에서 말했던 문제들 중 두개의 문제를 해결했다. 로봇의 오동작을 구현했다. 로봇은 앞으로 한 칸 이동하라는 명령을 받았을 때 각각 10퍼센트의 확률로 제자리에 가만히 있거나 앞으로 두 칸 움직일 수 있다. 로봇의 전방 한칸이나 두칸 앞에 위험 지역이 있거나 현재 위치에서 두칸 앞으로 간다면 맵 밖으로 벗어나는 경우 오동작들이 일어나지 않게 설계했다. #로봇을 앞으로 한 칸 이동시킨다. 로봇이 움직이지 않거나, 앞으로 두 칸 움직일 가능성이 있다. def moveForward(self): inPlaceProp=0.8 twoStepProp=0.9 dir=moveDirection[self.direction] checkSpot=((self.position[0]+dir[0], self.posit..

    11/27 변경 내용 정리 - 파일 로드 부분 통합, 스케일링

    내가 만든 시스템의 파일들은 다음과 같이 구성되어 있다. 1. recommendation_menu.py : 프로그램을 처음 시작할 때 실행된다. 콘솔 창에 사용자와 관리자를 위한 메뉴를 띄워준다. 2. project_bias.py : 아이템 - 사용자 평점 행렬을 만들며, 이를 이용하여 Model based Collaborative filtering 기법을 수행한다. SGD, minibatch를 적용한 SGD가 구현되어 있다. 3. User_mode.py : recommendation_menu.py에서 사용자 모드를 선택하면 이 파일의 클래스 User_mode가 실행된다. 여기서는 사용자의 ID를 입력하고 각 사용자에 맞는 추천 목록을 출력하거나, 사용자로부터 추천목록에서 마음에 들지 않는 항목들을 입력..