V
1  
Tags
There are no tags for this page.
Attachments
Dobrica Pavlinušić's random unstructured stuff
FOI2006

Development metodologies in Web 2.0 timeframe

Fakultetska znanja

  • difference between bottom-up composition and top-down decomposition
  • potreba za učenjem dovoljno teškog predmeta na fakultetima (LISP-olikog, FP) da potakne razmišljanje i filtrira studente
    • nekima više paše znanstveni rad i teoretska čistoća a drugima praktični problemi
  • ISO 9001 certifikacija ili kako system architect postaje poslovođa
  • prednost studentata FOI-ja je razumijevanje sustava end-to-end
    • papiri su dio IS-a
    • komunikologija, organizacija, ekonomija, marketing

Revival of 4GL-like tools for Web 2.0 world

  • Service Oriented Architecture (SOA) - kockice od kojih se grade rješenja
    • biblioteke (.so, .dll)
    • komponente, moduli (Java .jar, CPAN za perl)
    • servisi (SOAP, XML/RPC, REST)
  • Not Invented Here (NIH) simptom polako umire (kao posjedica uspjeha kolaborativnog Web-a)
  • napokon RAD (Rapid Application Development) alati za Web
    • projekti od nekoliko dana, a ne mjeseci
    • CRUD (Create/Read/Update/Delete)
    • ORM (Object-Relational-Mappers)
    • RDBMS vs Object Storage (XML?) vs full-text search

Frameworks

  • Ruby on Rails
  • Maypole, Catalyst, Jifty
  • Strix?

Model View Controller (MVC) paradigma

Zašto su skriptni jezici različiti?

Weakly typed, nema kompajliranja, brži razvoj

  • JavaScript (u browseru)
  • php (server, nema podjele logika/prikaz, sličan asp-u)
  • perl (server, cgi, više različitih MVC frameworka)
  • python (izgled striktno zadan, odličan end-to-end jezik client i server, jako dobar za početnike)
  • ruby (potpuno OO, sličan JavaScript-u)

FLOSS

Najveći izvor kvalitetnog gotovog koda - don't re-invent the weel

  • Kultura
    • Eric S. Raymond: scratch own itch
    • Linus Torvalds: given enough eyeballs all bugs will be swallowed
  • open source: katedral, bazar
  • free software, GPL
  • licence: BSD/GPL/OSI/dual-licensing/propriatory

Code re-use dileme

Način pisanja upstream koda uvelike određuje njegovu jednostavnost integracije

  • proceduralno
  • Object Oriented
  • Multiple Inheritance
  • Mix-in
  • closures

Koliko su aktivni upstream developeri? Kako prihvaćaju promjene?

Raspoloživi kod često određuje platformu implementacije u FLOSS svijetu!

Svaki programer treba znati više alata da bi mogao odabrati najbolji:

  • automatizacija - bash
  • kernel modul - C
  • web site - skriptni jezik
  • GUI na klijentu - python, C#

Jezik mora biti dovoljno fleksibilan da može pratiti promjenjive zahtjeve.

Principi za uspješan Web 2.0 projekt

Kako je Internet promjenio pogled na metodologije razvoja informacijskih sustava?

Kolaboracija korištenjem Interneta kao komunikacijskog medija

  • atribucija (minimalni uvijet, motivacija)
  • mailing liste
  • wiki
  • bug tracking (RT, Peregrine, SourceForge, trac)
  • SCM (CVS, Subversion, git)

Diljenjenje znanja

  • preduvijet za uspješan projekt
  • physical proxymity (15m rule)
  • follow the sun - distribuirani development timovi
  • projektna organizacija
  • product manager, project manager - razlike u pogledima i funkcijama na projektu

Dobra dokumentacija

  • osnova za dobru komunikaciju i dijeljenje znanja
  • razlika između programerske i korisničke dokumentacije

hackable/tweakable (mogućnost modifikacije)

  • Proizlazi is osnovne motivacije scratch own itch
  • poboljšava mogućnost, provećava broja contributora (povremenih) i developera

Testiranje

0 dokumentacija
0 testovi
0 pisanje koda

-> rezultat bolji API

Buzzwords

  • Web 2.0, beta (forever)
  • REST, AJAX

Pojednostavljenje produkcije i održavanja

IS-ovi se koriste mnogo duže nego što je planirano (Y2K, Cobol).

  • KISS - anti NIH
  • profit
  • TCO

WWW - izvor informacija

  • blogs
  • SIG sites (www.perlmonks.org)
  • www.itconversation.com
  • podcasts

XP kolegij na FOI-ju

  • Unit testing
  • peer programming
  • 20-30% programera
  • 24.4.2006. 16-18 unutar kolegija programiranje

 

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

 
 
 
File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

 
 
 
Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.

Tag: 

Suggestions: