위의 기사를 읽다가 정말 웃었습니다.

객체지향언어 성격상 ‘자바’는 하나의 비즈니스 로직이 완성돼 ‘거래처리’가 완성되려면, 각종 업무 프로그램이 정상 작동해 줘야 가능하다.

현대카드는 이 ‘완전한 거래’ 하나가 제대로 구현되지 못하는 소위 ‘불능’ 상태로, 파악 중이다.

J2EE 프레임워크을 기반으로 시작한 현대카드 차세대 지연 사태는, 이에 따라 최근 유닉스-C로 전환도 고민중인 것으로 알려졌다.

카드 사업에 참여중인 한 관계자는 “자바 프레임워크 포기를 적극 검토중인 것으로 보인다”고 전했다.

(생략)

사업발주부터 600억원이 넘는 사업을 SK C&C가 제안한 350억원에 추진키로 한 점은 이같은 사태를 예고했다.


기자는 개발이 뭔지 모르니 자바(Java)가 그런가보다 하고 H모 카드사와 대기업계열 S모 SI사에서 들은 이야기가지고 기사를 쓴듯합니다. 결국엔 위의 기사를 볼때엔 개발자의 해석이 필요하다는 생각이 듦.


이미 금융권에서 자바로 전환이 성공한 프로젝트도 있는데, 무조건 자바탓으로 돌리는 발주사를 보니깐 그냥 웃지요. (사례: 전북은행 차세대 시스템)

CIO 어워드 2013 | "금융권 최초 자바 기반 차세대 구축" JB전북은행 김종만 부행장


위의 대형 프로젝트는 발주사가 수주업체의 능력도 봐야하고,  발주사와 수주업체간 명확한 의사소통이 필요한데 의사소통이 제대로 되지 않아서 저런 사태가 일어난것 같군요,


발주사가 비용아끼려고 저가입찰한 업체를 선택하여 S모 업체가 수주를 했고, 수주한 업체는 발주사와 의사소통이 안되어서 PM이 짤리고 개발 업무는 산으로 갔고, 결국은 프로젝트 실패!

그리고는 발주사가 책임을 수주업체에게 떠넘기네요. 발주사도 엄연히 수주업체 선택한 리스크를 고려하지 않은 문제가 있을텐데 -_-;;

여기서 "싼게 비지떡", "공짜 좋아하다 탈난다"라는 속담이 생각나군요.


그리고 시대가 어느 때인데도, 아직도 유닉스-C로 개발을 하려는건지?

이제 자바로 전환하는게 대세 같은데 시대를 역행하려는 것도 그렇고 뭐 그렇습니다. 위의 프로젝트는 자바로 개발하려다 엉뚱하게 옛 기술인 UNIX-C로 이중 개발하게되었군요.  


기사를 읽어보니 발주사인 H모 카드나 SI업체인 S모사나 둘다 문제가 있습니다. 둘 다 문제가 있으니 프로젝트가 산으로 가는 거겠지요.


위의 프로젝트 기사를 보니, 위의 프로젝트는  소프트웨어공학(Software Engineering) 교과서의 실패사례로 실릴정도의 내용이 될듯 합니다.


위의 프로젝트 실패 교훈을 3가지로 요약할 수 있습니다.

1. 싼게 비지떡이더라.

2. 발주사는 저가 수주한 업체의 기술 수준을 모르고 맡기고 큰코다쳤다. 리스크 관리 중요하다.

3. 수주업체는 발주사와 커뮤니케이션이 제대로 되지 않았음. 의사소통 중요하다.


Buy me a coffeeBuy me a coffee

이번에 monac님의 이벤트인 애자일 3종 강탈 1탄에 당첨되어서 HEad First Software Development를 얻게 되어습니다.


HEAD FIRST SOFTWARE DEVELOPMENT
카테고리 컴퓨터/IT
지은이 댄 필로네 (한빛미디어, 2008년)
상세보기

Head First 시리즈 중에서 3번째로 본 책인데 이책 시리즈가 그렇듯 만화책 읽듯 술술 읽을 수 있는 책들이다.

첫번째로 읽은 Head First HTML WITH CSS & XHTML과 Head First Design OBJECT ORIENTED ANALYSIS을보고 나서 이 책의 구성이 어떻게 될련지에 대해선 재미있는 구성, 머리에 쏙쏙들어가는 내용들로 구성될것이라 예상을 하였다. 그 예상은 역시나였다!


HEAD FIRST HTML WITH CSS & XHTMIL(웹 2.0시대의...
카테고리 대학교재
지은이 엘리자베스 프리먼 (한빛미디어, 2006년)
상세보기

HEAD FIRST OBJECT ORIENTED ANALYSIS DESIGN
카테고리 대학교재
지은이 브렛 맥래프린 (한빛미디어, 2007년)
상세보기

이 책에서는 소프트웨어 프로젝트를 어떻게 성공적으로 개발을 할지에 대해 툴과 테스트주도개발 등을 다루는데 전체적으로 소프트웨어공학쪽 내용들이 많이 들어간 책이라 보면 됩니다.

책을 읽으면서 학과 홈페이지 관리했던 프로젝트를 하면서 정말 "삽질이라는 것은 이런 것이다"라는 것을 뼈져리게 느끼며 돈을 벌었던 대학교 3학년 시절을 생각해보며 이 책을 읽다보면 소프트웨어개발할때 우선 읽어보아야 삽질을 피할 수 있다는 생각을 해본적도 있습니다.

소프트웨어공학을 배우던 4학년때 "왜 저런 내용을 배워야 하지?" 하는 의문점들이 많이 있었던데, 요즘 오픈소스 프로젝트인 텍스트큐브 플러그인 개발나 Sakai Project에 참여하면서 책에 나오는 "소프트웨어 개발"에 나오는 내용들이 오픈소스개발쪽이나 여러 많은 개발쪽에 많이 필요하다는 생각을 많이 했습니다.

Head First 시리즈의 특징인 소설처럼 물 흘러 가는 일관된 내용으로 왜 이런 것들이 필요한지를 서술해기가 여기서도 빛을 바랍니다.

읽다보면 재미가 있어서 계속 소설같이 읽게 되어서 자꾸 읽게 되는 마력이 있습니다.

이 책에서는 하나의 프로젝트를 가지고 어떻게 개발을 해야하는지에 대한 개발 방법론에 대해 서술을 하였습니다. 기존 소프트웨어공학책에 나오는 딱딱한 내용을 머리에 쏙쏙 들어가게 풀어 쓰여서 재미있게 읽었습니다. 그 다음 개발 툴에 대해 설명을 하면서 ant와 subversion, junit등의 도구에 대해서 프로젝트에 어떻게 도입을 하는지에 대해 설명을 하였습니다.

책을 읽다보면 애자일에 대한 개론서라고 할 정도로 사용자 스토리, 이터레이션 관리, 리비전 관리, 테스트주도개발(TDD)등등 애자일의 주요한 방법에 대해서 다룹니다,

이 책의 장점은 빨리 훑어볼수 있어서 두꺼운 소프트웨어공학 책에 나오는 내용들을 개략적으로 알 수 있는 장점이 있습니다. 단점이라면 책 내용의 깊이가 얕아서 깊은 내용까지는 자기가 알아서 찾아보아야 하는 단점도 있습니다.

책을 읽어보면 소프트웨어공학책을 한번이라도 읽은 개발자가 어떻게 개발을 해야할지 감을 잡기 위해서 읽으면 딱이라는 생각을 해봅니다.

그렇다만 이 책 내용이 대한민국 IT현실에 제대로 맞을련지는 궁금하군요. 야근야근열매를 먹고 사는 개발자들에게 쌩뚱맞는 이야기들이 많기 때문이죠. 미래공상과학소설에 나올법한 우주투어 등등 현실감이 없는 내용들이 나와서 현실에서는 책에 적힌대로 적용될지가 미지수입니다.

이 책은 먼저 번역되어 출간된 Head First Object Oriented Analysis and Design과 같이 보면 읽을때마다 더 빨리 이해될것입니다.

HEAD FIRST OBJECT ORIENTED ANALYSIS DESIGN
카테고리 대학교재
지은이 브렛 맥래프린 (한빛미디어, 2007년)
상세보기

소프트웨어 개발을 하는데 객체지향설계에 대한 이해 없이 프로그램을 짜면 쉽게 말해서 스파게티코드같이 꼬인 코드들이나 유지보수가 엄청 까탈스러운 코드들이 나올 위험성이 높기 때문입니다. 그렇기 때문에 Head First Object Oriented Analysis and Design과 같이 보길 추천합니다.

이 책은 아쉽지만 깊이있는 내용보다는 많은 지식을 빨리 전달하기 위해서 그렇게 깊은 내용을 다루지 않습니다. 이 책은 빠른 시간내에 내용을 빨리 취득하려는 학생들에게는 좋은 책일듯 합니다.  실무에서는 책에 있는 내용이 제대로 실현될련지는 미지수?

Head First Software Development의 목차입니다.

1. 훌륭한 소프트웨어 개발하기
2. 요구사항 수집하기
3. 프로젝트 계획하기
4. 사용자 스토리와 태스크
5. 충분히 구현 가능한 좋은 설계
6. 버전 관리
6½. 작성한 코드 빌드하기
7. 테스트와 지속적인 통합
8. 테스트 주도 개발
9. 이터레이션의 마무리
10. 다음 이터레이션
11. 버그
12. 실제 세계

ps. 책을 주신 monac님 감사합니다.

ps2. 1월 26일까지 올리라는 리뷰를 늦게 올려 죄송합니다. ㅠㅠ




Buy me a coffeeBuy me a coffee
  • Monac님이 주최하신 애자일 3종 강탈 1탄, Head First Software Development에 당첨이 되어서 주소와 이메일, 블로그주소까지 알려주었습니다. 빨리 책이 도착하여 읽는 것만 남았음. 참고로 황금벌레님도 당첨되었으니 빨리 확인해보세요^^(me2book Head First Software Development 소프트웨어 개발 개발론 소프트웨어개발 애자일 Agile)2008-12-30 16:35:10
    Head First Software Development - 더 쉽고 재미있게 소프트웨어를 개발하는 방법
    Head First Software Development - 더 쉽고 재미있게 소프트웨어를 개발하는 방법
  • Head First Design Patterns - 스토리가 있는 패턴 학습법을 보니 소프트웨어공학때 배웠던 뜬구름 잡던 내용들이 머릿속에 정리가 잘되는 기분이 든다. 책에 있는 그램과 만화때문에 계속 책을 보게 합니다. 그러다 보니 벌써 코딩까지?(me2book Head First Design Patterns 디자인패턴 디자인 패턴 소공 소프트웨어공학 SE Software Engineering 정리)2008-12-30 22:43:12
    Head First Design Patterns - 스토리가 있는 패턴학습법
    Head First Design Patterns - 스토리가 있는 패턴학습법
  • [한빛미디어 - 기타증정] 도서가 발송처리 되었습니다. 2~3일이내 받아보실 수 있습니다.-책온다(me2sms)2008-12-31 18:30:07
  • Monaca님의 “애자일3종강탈이벤트”: http://monac.egloos.com/2186534 로 참여하여 당첨되었던 『Head First Software Development』를 택배로 받았습니다. 그런고로 인증샷 올림. 이제 빨리 읽어야지 ㅎㅎ(me2mms me2photo)2009-01-02 23:35:38

    me2photo

이 글은 StudioEgo님의 2008년 12월 30일에서 2009년 1월 2일까지의 미투데이 내용입니다.

Buy me a coffeeBuy me a coffee

이번 monaca님이 주최하신 애자일 3종 강탈 1탄 Head First Software Development에 당첨이 되었습니다.

그 당첨된 책이 드디어 도착하였습니다 >.<

2009년 1월 2일 드디어 도착한 소포를 뜯어보니 책이였어요 +_+

학교서 돌아오니 책상위에 웬 택배가 있었나 싶었더니?

monaca님의 이벤트에 당첨된 Head First Software Development가 도착!



으흐흐 저는 sungdh86로 당첨되었답니다. 드디어 책이 도착하여 저의 기분이 좋군요 +_+

책이 도착하였으니 얼른얼른 읽고 서평을 올리겠습니다 >.<


이것이 당첨된 Head First Software Development

대충 책을 훑어보았는데 4학년 1학기때 UML그린다고 삽질하거나, 영문판 소프트웨어공학과목 교재 에서 이해 못한 내용들이 그림으로 잘 설명되어서 뻥 뚫리게 이해할수 있게 한 것 같다.

Object-oriented Systems Analysis and Design Using UML
작가
Simon BennettSteve McRobbRay Farmer
출판사
McGraw Hill Higher Education
출간일
2005년 8월 1일, 월요일
설명
The book provides a clear, practical framework for development that uses all the major techniques from UML 2.0. It follows an iterative and incremental approach based on the industry-standard Unified Process. It places systems analysis and design in the context of the whole systems lifecycle, and includes generic analysis and design issues. Two realistic case studies are used throughout the book - one for illustrative examples and the other for practical exercises for the reader.The book is structured in four parts, which can be flexibly combined to meet the needs of the syllabus. The first part provides the background to information systems analysis and design and to object-orientation. The second begins with two case study chapters, and focuses on the activities of requirements gathering and systems analysis, and the basic notation of the Unified Modelling Language (UML). The third part covers the activities of system design and UML notation for object design. The final part examines the later stages of the systems development lifecycle, reuse and software development methodologies.

위의 책은 4학년 1학기 소프트웨어공학 교재이다. 이책 읽다가 해석 안되는 부분도 많고 머리가 나쁜지 아님 익숙하지 않은 내용들이라서 그런지 읽어도 이해 안되서 머리가 아픈 줄 알았다.

이번 교육용 협업 및 학습 오픈소프 프로젝트인 Sakai Project를 공부하다 막힌 부분의 기초를 쌓기 위해서 현재 읽고 있는 Head First시리즈들 입니다.

HEAD FIRST SOFTWARE DEVELOPMENT
카테고리 컴퓨터/IT
지은이 댄 필로네 (한빛미디어, 2008년)
상세보기

HEAD FIRST OBJECT ORIENTED ANALYSIS DESIGN
카테고리 대학교재
지은이 브렛 맥래프린 (한빛미디어, 2007년)
상세보기

HEAD FIRST DESIGN PATTERNS
카테고리 컴퓨터/IT
지은이 에릭 프리먼 외 (한빛미디어, 2005년)
상세보기

위의 3개의 책을 읽다보니 4학년 소프트웨어공학 수업 듣기 전에 3개의 책을 읽었다면 UML설계도 쉽게 하고, 소프트웨어공학을 금방 이해하였을 것이고, 소프트웨어공학 과제 프로그래밍도 매우 쉽게 나갔을 것이라는 생각만 하고 있다. 정말 다시 4학년 1학기로 돌아가면 소프트웨어공학 A+받을 것이라는 생각이 들 정도로 3개의 책이 머리속에 쏙쏙 들어가게 설명이 되어있다.

ps. monaca님 저의 닉은 sungdh86과 studioego 두개 동시에 쓴답니다. 이점 유의해주세기 바랍니다. 혹시나 블로그에 글 올렸는데 다른 닉으로 올려서 먹튀자 명단으로 올라갈까바 걱정 ㄷㄷ

Buy me a coffeeBuy me a coffee

MVC Pattern, originally uploaded by Dario Santarelli.

MVC(Model, View, Controller)는 게임 개발, 윈도우즈 프로그래밍 개발,웹 어플리케이션 개발등 여러군데서 많이 사용한다.
MVC패턴을 모르고서는 프로그래밍을 할수 없을 정도로 많은 기업이나 오픈소스프로젝트에서 소스의 유지보수를 위해서, 구현의 효율성을 높이기 위해서 많이 쓴다.

MVC 패턴

MVC패턴은 Smalltalk에서 그래픽 인터페이스와 실제로 동작하는 코드를 분리하기 위해 개발되었다 지금은 다른 객체지향언어에서도 널리 사용되는 패턴 중 하나이다.

웹 어플리케이션에서 사용하는 MVC 패턴
MVC 패턴의 기본 개념은 사용자에게 보일 페이지(View)와 데이터 처리(Model), 그리고 이들 상호간의 흐름을 제어(Controller)하는 모듈을 분리하는 것이다. 이렇게 함으로 더 쉽게 웹 애플리케이션을 확장하고 유지, 보수를 할 수 있다.
(여기서는 JAVA Web 개발에 관한 MVC 패턴을 다룬다)

모델(Model)
모델(model)이란 어떠한 동작을 수행하는 코드를 말한다. 표시 형식에 의존하지 않는다. 다시 말해, 사용자에게 어떻게 보여질지에 대해 신경쓰지 않아도 된다. 모델은 순수하게 public 함수로만 이루어진다. 몇몇의 함수들은 사용자의 질의(query)에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정하는 함수이다.

웹어플리케이션에서 모델(Model)은 데이터 영역으로 DAO(Data Access Object), DO(Data Object) 등으로 구분해 구현하기도 한다. 하이버네이트, 아이바티스와 같은 퍼시스턴스 프레임워크를 사용하기도 한다. EJB와 연동할 수 있으며 EJB 3.0의 POJO 기반의 퍼시스턴스 API도 있다.


뷰(View)
MVC에서 모델은 여러 개의 뷰(view)를가질 수 있다. 뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다.
웹어플리케이션에서 뷰(View)는 JSP를 기본으로 표현 언어, JSTL, 커스텀 태그 라이브러리 등을 함께 사용하며, 모듈화 된 사용자 인터페이스 모델인 JSF(Java Server Faces)도 이용할 수 있다.


컨트롤러(Controller)
MVC의 뷰는 여러 개의 컨트롤러(Controller)를 가지고 있다. 사용자는 컨트롤러를 사용하여 모델의 상태를 바꾼다. 컨트롤러는 모델의 mutator 함수를 호출하여 상태를 바꾼다. 이 때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고 뷰는 거기에 맞게 사용자에게 모델의 상태를 보여 준다.
웹어플리케이션에서 컨트롤러(Controller)는 MVC 패턴의 중심이 되는 부분으로, 직접 구현하거나 구현된 솔루션을 이용할 수 있다. 대표적으로 스트러츠 프레임워크(struts Framework)나 스프링 프레임워크(Spring Framework)가 있다.

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

Android SDK 설치  (0) 2008.12.14
오랜만에 만져본 JAVA  (2) 2008.12.02
내가 보아야 할 Ruby 관련 책들  (2) 2008.05.14
Ruby를 맛봅시다.  (2) 2008.04.30
10.Raw Socket  (0) 2008.04.29
Buy me a coffeeBuy me a coffee

+ Recent posts