Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

엔지니어의 꿈 Fmt 최종본

673 views

Published on

  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

엔지니어의 꿈 Fmt 최종본

  1. 1. 엔지니어의 꿈 FMT PA 개발 2팀 정영범 2012년 12월 17일
  2. 2. 148m 99.85m
  3. 3. 705m
  4. 4. 수천년 축적된 기술 바람의 영향을 고려한 디자인 나선형을 그리며 하중 분산 30층 단위 대피처 설치 GPS를 통한 수직 측정 콘크리트 쏘아올리기 척추 역할을 하는 엘리베이터54만톤을 견디는 고강도 콘크리트65cm 줄어드니 층별 2~4mm 높임 ... 건축가들이 건물을 만든다. 완벽한 설계 -> 빈틈 없는 구현
  5. 5. 빈틈없는 설계와 완벽한 구현 엔지니어의 꿈!
  6. 6. 소프트웨어 엔지니어의 꿈•빈틈없이 설계하고•완벽하게 구현해서•문제없이 돌아가는 프로그램을 만들어•는 것 사용자가 행복하게 쓰도록 만드 프로그램
  7. 7. 완벽한 소프트웨어가 어려운 이유•프로그램은 실체가 보이지 않는다.•요구사항을 명확히하기 어렵다.•프로그래밍은 창의적인 활동이다.•렵다. 소프트웨어가 잘 구현되었는지 확인하기 어
  8. 8. 요구 사항과 설계•요구사항은 작성하는 사람도 다 알 수가 없다.•구현하면서 구체화되는 요구 사항이 많다.•소프트웨어 구현은 일을 쪼개기 어렵다.•설계가 미치지 않는 범위가 많다.
  9. 9. 요구사항1부터 100까지의 합을 구하는 프로그램을 만드세요
  10. 10. 그냥 냅다 쓰자 1+2+3+4+5+ ....+95+96+97+98+99+100
  11. 11. 반복문 사용s = 0;for(i=1;i<=100;i++){ s = s + i;}
  12. 12. 실행속도 고려 n X n · (n + 1) k= 2 k=1n = 100;s = n*(n+1)/2;
  13. 13. 나는 이미 답을 알고 있다 5050
  14. 14. 재사용성을 고려하자int sum(int n){ int s = n*(n+1)/2; return s;}sum(100);sum(1000);
  15. 15. 에러상황도 대비 해야지int sum(int n){ if (n < 0) error(); int s = n*(n+1)/2; return s;}
  16. 16. 요구사항1부터 100까지의 합을 구하는 프로그램을 만드세요
  17. 17. 최종 요구사항 1부터 100까지의 합을 구하는 프로그램을 만드세요 근데 빨랐으면 좋겠고,나중에 다른 수까지의 합도 구할 수 있었으면 좋겠어. 또, 에러상황 처리도 해야지.
  18. 18. 프로그래밍의 특징•소프트웨어표현된 문법이지만 무한한 종류의 유한하게•개발자마다 다른 창의적인 활동•완벽한 검증이 불가능
  19. 19. 완벽한 소프트웨어는 만들기 어렵다!
  20. 20. 소프트웨어 개발 프로세스코딩 단계에서의 테스팅
  21. 21. PA 사업부에서 하는 일은 어려워! DRM이 더 어려워요.
  22. 22. Spa (Static Program Analysis) + Arrow
  23. 23. Static Program Analysis? 정적 프로그램 분석•프로그램을 실행시키지 않고•프로그램이 할 수 있는 일을 어림잡아•프로그램의 성질을 예측하는 기술
  24. 24. 정적 분석 기술
  25. 25. 정적 분석 기술
  26. 26. 정적 분석 기술
  27. 27. 프로그램 정적 분석
  28. 28. 컴파일러가 하는 일•문법에 맞지 않는 프로그램을 알려준다. if (x > 0) {y = 1;} for { y = 2;}•타입에 맞지 않는 프로그램을 알려준다.if (x > 0) { y = “string”;} else { y = 100;} 소스만 보고 판단
  29. 29. Sparrow가 하는 일•나 비정상 종료하는 오류를 찾아준다. 하거 실행 중 프로그램이 의도치 않은 동작을 if (x != 0) {y = x*y;} else { y = y/x;}•프로그램의 보안 취약성을 찾아준다. data = UserInput(); SQL_execute(“insert into table”+ data);
  30. 30. Sparrow 오류 검출 사례 int buffer[MAX]; void buffer_access(int len){ if (len < 0) return; if (len > 98){ len = MAX - 4; } buffer[len] = 0; buffer[len + 1] = 1; buffer[len + 2] = 2; buffer[len + 3] = 3; }
  31. 31. Sparrow 오류 검출 사례 int buffer[MAX]; void buffer_access(int len){ if (len < 0) return; if (len > 98){ len = MAX - 4; 근데 len 값이 } 98이라면 buffer[len] = 0; buffer[len + 1] = 1; buffer[len + 2] = 2; buffer-overrun! buffer[len + 3] = 3; }
  32. 32. 잠깐 보시죠!
  33. 33. # " !!$ %&"$& %&()*+,-)&.-/0,)12&3,13/,13+& 2&#$& %& 2& 2
  34. 34. !" !# $% "# $% &%()%!*% +# $% ,# $%-./0-/102.34506743%
  35. 35. !"!# $%"# $% & & &
  36. 36. ! # " ,!$ %&"$ %& &()*&!+&#$ %&,$ %&-./0-/1(02.34506743&
  37. 37. 결론•엔지니어의 꿈: 빈틈없는 설계와 완벽한 구현•완벽한 소프트웨어는 만들기 어렵다.•하는 일 실현하도록 돕는 일이 PA 사업부가 그 꿈을 좀 더 알고 싶으신 분은 Vital Day에 참석해주세요!

×