RSS

Organizational Knowledge; Salvami l'anima; Model Driven Architecture; C ile network programlama; Applying Use Case Driven Object Modeling; BrainBench ile Linux bilginizi ölçün; Çocuklara Bilgisayar

30 May

MDA yani Model Driven Architecture bağlamında deneme yapmak maksadı ile AndroMDA aracını kurcalayıp .NET ortamına yönelik ilk küçük örneği gerçekleştirme işi nihayet tamamlandı. Gördüğüm kadarı ile artık Microsoft platformunda yazılım geliştiren uygulama programcıları da bir hayli açık kodlu ürün ile iş güç yapıyor durumdalar. Söz gelimi meşhur NDoc, NAnt, NUnit gibi programlar Java ve J2EE dünyasından doğrudan feyz alınarak geliştirilmiş durumda. Kısa bir süredir incelediğim açık kodlu AndroMDA geliştirme aracı da yine bir başka meşhur açık kodlu araca, Apache organizasyonu tarafından geliştirilen Maven‘a ve Java tabanlı MagicDraw UML‘ye bağlı (“Community edition” ücretsiz olarak temin edilebiliyor). (Bu arada Maven’ı yansılayan İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümüne de şükranlarımı sunarım, Apache’nin sitesinden bir türlü tam olarak gelmeyen gerekli Maven sürümünü buradan çekebildim nihayet!)

AndroMDA, Maven, MagicDraw UML gibi araçlar bir araya gelince ne oluyor? Eğer nesneye yönelik modellemeyi iyi bilen tasarımcı elbisesini giyebilmiş bir programcı iseniz vaktinizin önemli bir kısmı gerekli analizleri yaptıktan sonra modelinizi çizmekle geçiyor. Ardından AndroMDA ile komut satırında birkaç komut vermek sureti ile bu modele karşılık gelen C# sınıfları, soyut sınıflar, yardımcı sınıflar, NHibernate eşleşmeleri ve NHibernate tarafından kullanılacak veritabanı yapısı, şeması, vs. de otomatik olarak oluşturuluyor. Programcıya da birkaç yardımcı metodun içini doldurmak kalıyor. Yaptığım basit Timecard örneğinde topu topu 7-8 satır ve birbirine çok benzer C# kodu yazmam ve bir iki Assembly dosyasına müdahale etmem gerekti (hayır, Assembly programlamadan bahsetmiyorum, evet korkunç bir isim seçimi!).

Tabii hayat örnek projelerde resmedildiği kadar güllük gülistanlık olmak durumunda değil. Model Driven Architecture doğrultusunda, AndroMDA, Maven, NHibernate gibi araçlar kullarak orta ve büyük ölçekli projeleri epey bir disiplin altında, ele avuca gelir şekilde geliştirmek mümkün olmakla beraber buna girişecek olan yazılımcının ya da yazılım ekibinin bir kısmının nesneye yönelik modelleme konusunda somut deneyim sahibi olması gerekiyor. Daha önce nesneye yönelik modelleme ile uğraşmadı iseniz bir an önce temel modelleme kavramlarını öğrenmenizde ve temel/orta düzeyde UML okuryazarı hale gelmenizde fayda var. Eldeki araç seti, MDA’yı desteklemeye başlamış durumda, hala geliştirilmeleri gerekmekle birlikte somut olarak projelerde kullanılmaya başlandığını da biliyoruz. Bu da kendini sadece Java/C# kodu yazan kişiler olarak gören programcıların artık biraz daha uzman geliştirici profiline kaymalarının zamanının yaklaşmakta olduğunun habercilerinden biri.

Hazır UML idi, MDA idi, modelleme, tasarım, vs. idi derken dün gece bitirdiğim kitaplardan biri de Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example oldu. Doğrudan nesne yönelimli tasarım pratiğine yönelik olan kitap “Use Case” kavramını temel alıyor hantal Rational Unified Process ile fazla hafif eXtreme Programming arasında nasıl sağlam bir orta yol olabileceğinin örneğini veriyor. Bölüm sonundaki “tasarımın filanca aşamasında en sık yapılan 10 hata” ve bunlarla ilgili gerçek hayat senaryolarında karşılaşılan durumlardaki hataların ayıklanması kitabın güçlü yanlarından. Şimdiye dek pek karşılaşmadığım şeylerden biri olan Robustness Analysis ve bununla ilgili diyagram konusu gayet güzel ve somut bir dille anlatılmış. Sanırım daha önceki Use Case çalışmalarımda neyin eksik olduğunu bu kitap sayesinde kavramaya başladım!

Konu kitaplardan açılmışken, merak ediyorum acaba C kodlayarak sistem programlayan, network programlayan programcıların kaçta kaçı merhum üstad W. Richard Stevens‘ın kitaplarının en azından birkaç cildini hatmederek, sindirerek konuya başlıyorlar. Kitap okumak, Usenet gibi yine işin ustalarının bulunduğu kaynaklardan faydalanmak bazı durumlarda tarihe karışan yöntemler gibi algılanıyor kimi zaman, kimi insanlar tarafından.

Okumaya başladığım ve sıradan görünümlü başlığının aksine epey çarpıcı bir giriş yapan kitaplardan biri ise Organizational Knowledge: The Texture of Workplace Learning. Eğer sabahın 4 sularında gözler kan çanağı ve kafa tasarım, MDA, UML ile bulanmışken bir kitap böylesine berrak ve sağlam görünüp kendini 20 sf. kadar okutuyorsa gerisini okumakta fayda vardır. Birkaç dikkat çeken alıntı (OL: “Organizational Learning”, LO: “Learning Organization”, vurgular bana ait):

Foucault?s concept of discipline has been usefully applied in postmodern analysis of power/knowledge relations (Alvesson, 1993, 1994; Deetz, 1996;Townley, 1993) in the area of knowledge firms or in the construction of the subjectivity of knowledge workers. Also the exploitative ethos of many organizational learning discourses has been underlined by postmodern scholars (Boje, 1994) and other critical scholars (Huysman, 1999). I do not wish to pursue this line of analysis further;rather, I shall restrict my treatment to illustration of a set of premises implicit in OL and LO theorization in order to highlight how they
sustain a disciplinary discourse which disciplines concrete behaviours:

1. OL is always ameliorative and disinterested. Learning is regarded as always positive, in the spirit of ?the more, the better?. OL as a discourse implicitly assumes an ameliorative vision in which learning is incremental and knowledge is a cumulative product which undergoes constant development (Miner and Mezias, 1996). The alleged universality, neutrality and transparency of knowledge presume that humankind is its beneficiary, thereby neglecting the role of power in structuring organizational knowledge. What is deemed worth learning has already been selected: only those in power learn the right things.

4. OL presumes change but not its understanding. Learning proposes a change in the behaviour ? actual or potential ? of individuals or groups, or perhaps a cognitive change. It does not necessarily require individuals to understand the logic that has led to a change in SOPs (Child and Markoczy, 1993).This amounts to saying that if some change is manifest, then a learning process has taken place, but also that change does not require any learning. The problem thus arises of how the empirical evidence can be collected to demonstrate the relationship between change and learning.

Learning, writes Rorty (1989), is a term often part of a final vocabulary: it is a value in itself which cannot be further questioned. It is associated with improvement in performance, the rapid correction of errors and a fast reaction to environmental changes.The positive connotations associated with the word induces the a priori assumption of what needs to be empirically demonstrated. Learning, as the founding myth of the scientific community of OL scholars, obscures the myopia of learning from experience (Levinthal and March, 1993). In short, we have described the theoretical construction of OL and LO as a discourse of disciplining when it is preselected as a managerial technique which contains a bias towards systematic and purposeful learning, a bias towards improvement, and a normative bias.These biases are composed of a specific structuring of power/knowledge which sustains them and perpetuates them as a discourse of power. This is even more evident when we consider the literature on knowledge management.

The distinctive feature of current technological innovation ? writes Manuel Castells (1996) ? is not the central importance of knowledge and information in themselves but rather their application to produce knowledge and the technologies to develop it. The new technologies are not simply tools used in the production cycle; rather, they are processes that must be developed. Necessary, therefore, is analysis of how organizations create, use, institutionalize and maintain knowledge and
knowledge processes.These developments have had direct consequences for management because male and female workers (whether blue-collar or white-collar) make increasing use of specialist knowledge, and their work grows increasingly technical. They acquire greater power and broader autonomy in the workplace, because expert knowledge is more difficult to control and may easily become a resource with its own market. Workers develop cultures in occupations which are not professional in the strict sense, and these cultures collide with the traditional managerial culture based on bureaucratic organizational control. Organizations must be able to rely on the commitment of knowledge workers to their goals, so that also organizational cultures become instruments of control.

Kalling and Styhre (2003: 25) argue that the term ?knowledge management? is an oxymoron, since knowledge is processual and fluid, while management is aimed at control and order. A similar case was previously made by Weick and Westley (1996: 440): ?to learn is to disorganize and increase variety. To organize is to forget and reduce variety?.

(Şimdi öğleden sonra 2 civarı salim kafa ile bir daha okudum ilk bölümü, benzer şekilde algıladım. Demek ki bu kitap okunacak!)

Ofiste test çılgınlığı hasıl oldu: Brainbench Test Center – Free Tests. İster Java bilginizi ölçün, ister GNU/Linux yönetimi, isterseniz CISCO ya da proje yönetim teorik bilgilerinizi test etin. Sonuç? Görece olarak çok daha kısa süredir uğraştığım C# konusunda, Brainbench’e göre, GNU/Linux’a kıyasla daha “sağlammışım” 😉 Eh, meraklısı varsa, denemesi bedava.

Bunlar olup biterken bir yandan da Çocuklara Bilgisayar projesi yoluna devam ediyor. Pazar günü bir 2. el bilgisayar bağışı daha gerçekleşti. Bu hafta içinde de bir bilgisayar bağışı daha gerçekleşmesi planlanıyor. Projenin İtalya tanıtım ayağı için gerisayım başladı.

Gece, sabaha doğru, öğlen, öğleden sonra ve bu blog kaydı biterken “Mama” çalıyordu. Zucchero ve Stevie Ray Vaughan, Memphis 19 Mart 1989 kaydı.

“Mama! Salvami l’anima
Mama! Salvami l’anima
Mama! Saving my soul for me
Saving my soul for me…”

Advertisements
 
1 Comment

Posted by on May 30, 2006 in .NET, General, Programlama

 

One response to “Organizational Knowledge; Salvami l'anima; Model Driven Architecture; C ile network programlama; Applying Use Case Driven Object Modeling; BrainBench ile Linux bilginizi ölçün; Çocuklara Bilgisayar

  1. Seval

    November 22, 2012 at 18:10

    Yazı içerisinde aslında Model Driven Network’i anlatacaksın sandım -yani umduğumu bulamadım- ama yine de faydalı bir yazı, insanı okumaya teşvik ediyor. Teşekkürler.

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: