Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Makaleler => Konuyu başlatan: MrDarK - 06 Temmuz 2014, 05:06:16

Başlık: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: MrDarK - 06 Temmuz 2014, 05:06:16
Merhaba arkadaşlar ;

Bugün yazılımcıların büyük bir çoğunluğunun yapmadığı algoritma ve akış diyagramlarının çizimleri , nelere dikkat edilmesi gerektiğini ve önereceğim programları paylaşacağım.

Öncelikle soru cevap şeklinde gidecek olursak neden akış diyagramı çizmiyoruz sorusuna gelelim.

1- Proje basit herşey için algoritma mı yazacağım.

2- Zaten bu bir demo , demo başarılı olursa ilgilenirim.

3- Biraz ilerleyeyim yaparım birşeyler.

4- Akış diyagramı da neymiş hepsi benim aklımda, attım hafızaya ne gerek var diyagrama. Beyin Bedava !

Daha uzatabilirdim ama gerek duymuyorum =) Bunları yazıyorum ama daha birkaç aya kadar bende akış diyagramı kullanmıyordum hatta bu örnekler benim kendi örneklerimdi. Kullanmaya başladıkça önemini ve değerini anlamaya başladım. Öncelikle bu mesleği profesyonel olarak yapan kişiler , yaptığı işin kusursuz olmasını isteyen herkes hazırladığı proje için bir akış diyagramı hazırlamalıdır. Kendisinden sonra gelecek kişiye veya X bir yıl sonra proje hakkında bir güncelleme gerektiğinde ne yapmıştık burada deyip didinmek veya " abi bu yazdığım koddan hiç birşey anlamıyorum. " gibi cümlelerle çoğu kez karşılaştım. Bu sebeptendir ki gerçekten yaptığınız işe önem veriyorsanız her anlamda tüm dosyalarını hazırlamasınız.

Akış diyagramı bir projenin olmazsa olmasıdır. Fakat bazı çerçevelerde bunu şu şekilde anlayan kişilerde mevcut , projenin tüm yaptığı işi yeteneklerinin anlatıldığı bir belge niteliğinde görenlerde var. Ama değil, akış diyagramı bir projenin fonksiyonlarının işlevlerinin hangi yoldan nerelere gidip sonucunda nereye varacağını gösteren şemalar bütünüdür bana göre.

Akış diyagramı çizimine bir satır dahi kod yazmadan başlayınız ! Yapacağınız yazılım demo veya V1 bile olsa daha kodu yazmadan şemayı çizmelisiniz. Akış diyagramı yapmadan koda başlamak şematik çizmeden yapılan PCB'ler , veya breadboard örnekleri gibidir. Çok çok büyük oranda daha siz işin sonuna geldiğinizde eksikleri yeni görüp belkide geri dönülemeyecek kadar projeyi ilerletmiş olabilirsiniz.

Diyelim ki diyagramı çizdiniz bunu mutlaka ortak çalıştığınız proje arkadaşlarınızla veya tanımadığınız ama elektronikten veya yazılımdan az çok anlayan bir dostunuza anlatmaya çalışın. Neden mi ? Çünkü sizin kafanızda dönen şeyi gerçek anlamda çizmiş olsanız bile mantık hataları olabilir. Yazılımı da bu şemaya göre fonksiyon fonksiyon yaparsanız aynı mantık hataları yazılımlarınızda da olacaktır. Arkadaşınıza anlatırken ondan gelebilecek X , Y ve Z gibi soruları cevaplayıp karşınızdaki kişide bir algı bırakabiliyorsanız o diyagram olmuş demektir.

Gelelim Örnek projelere , Aşağıdaki resimler internetten örnek olarak alınmıştır. Ben daha çok state machine diyagramlarını seviyorum :)

(http://patentimages.storage.googleapis.com/US6799233B1/US06799233-20040928-D00001.png)

(https://www.semiwiki.com/forum/attachments/f17/1737d1314177122-synopsys-wp-superspeed-your-soc-usb-3-0-ip-state-machine.jpg)

(http://st-www.cs.illinois.edu/users/brant/HotDraw/polyline.jpg)

* Öncelikle bu iş için sizin kullandığınız programlar nelerdir ?

Önerilen Programlar

- yEd
- TikZ
- MS Visio
- Graphviz

Herkese iyi çalışmalar diler okuduğunuz için teşekkür ederim.

Saygılarımla
MrDarK ~ 2014
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: Tagli - 06 Temmuz 2014, 09:38:18
Genelde akış diyagramı, nesne diyagramı veya state machine çizimlerimi kağıt kalemle yapıyorum. Ancak bunları düzenli bir şekilde bilgisayara geçirmeyi hep ihmal ediyorum. Kafamda bir şeyler netleştikten sonra yine kağıt üzerinde kod parçaları veya yalancı (pseudo) kod yazıyorum. Daha sonra bilgisayara geçirmeye başlıyorum. Ancak bilgisayara geçirmeye başladıktan sonra, karalamalarımı güncellemeyi ihmal ediyorum maalesef.

Çizim için Dia'yı öneririm. Çok böyle özelliği olan bir program değil ama özgür yazılım. GNU/Linux ve Windows'ta çalışıyor (Mac'i bilmiyorum).
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: Icarus - 06 Temmuz 2014, 09:43:27
Aslında olay abartığınız gibi değil. State Machine dizaynı yapmıyorsanız -ki modern çağda pek yok- akış diagramı baya kötü
UML Diagramlarına bir bakın derim
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: run - 06 Temmuz 2014, 09:48:58
Akış diyagramı çizmeyi sevmeyenlerdenim.
Yazılımlarımı kendime özgü bir düzenle hazırladığım için 5-6 yıl önce yazmış olduğum bir programa ve şemasına bir göz gezdirdiğimde neler yaptığımı anlayabildiğim için gerek görmüyorum belki de.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: z - 06 Temmuz 2014, 11:53:38
@Run

En az 3 haneli sayilari kafadan carpaliyormusun merak ettim.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: Seckin ALAN - 06 Temmuz 2014, 19:47:01
single takılıyor iseniz problem yok. Grup çalışması yapıyor iseniz o kadar çok problem çıkıyor ki.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: mufitsozen - 06 Temmuz 2014, 19:50:48
Alıntı yapılan: Icarus - 06 Temmuz 2014, 09:43:27
Aslında olay abartığınız gibi değil. State Machine dizaynı yapmıyorsanız -ki modern çağda pek yok- akış diagramı baya kötü
UML Diagramlarına bir bakın derim

Hocam UML diagramlarina bir baktim, Statechart ve Message sequence chart diagramlari var.

State machine designlarda kullanilir diyor.

Acaba benim baktigim 1970lerden kalan bir UML kitabi olmasin?

Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: hnez - 07 Temmuz 2014, 01:05:18
http://www.yworks.com/en/index.html (http://www.yworks.com/en/index.html)
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: AsHeS - 07 Temmuz 2014, 02:28:23
Şu ana kadar çizipte en anlamlı olduğuna inandığım diyagram Mesaj Akış diyagramıdır. SDL ve normal flow chart ın mesaj akışı yanında zayıf kaldığını düşünüyorum(tasarıma bağlı olarak.).
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: X-Fi - 07 Temmuz 2014, 08:06:48
MS Visio Flowchart öneririm hem görsel hemde hızlı algoritma çıkartmanızı sağlıyor.

Sürekli kullanırım.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: run - 07 Temmuz 2014, 09:37:45
Alıntı yapılan: z - 06 Temmuz 2014, 11:53:38
@Run

En az 3 haneli sayilari kafadan carpaliyormusun merak ettim.

Genelde hesap makinesi kullanıyorum :)

Alıntı yapılan: Seckin ALAN - 06 Temmuz 2014, 19:47:01
single takılıyor iseniz problem yok. Grup çalışması yapıyor iseniz o kadar çok problem çıkıyor ki.
Benim olayım bu galiba single takılmak :)
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: erpay - 07 Temmuz 2014, 09:50:04
Genelde tahtada yapıp en sonunda resmini çekiyorum ama bu şekilde arşivlenmesi ya da üzerinde oynanması zor oluyo.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: mufitsozen - 07 Temmuz 2014, 10:04:09
Alıntı yapılan: AsHeS - 07 Temmuz 2014, 02:28:23
Şu ana kadar çizipte en anlamlı olduğuna inandığım diyagram Mesaj Akış diyagramıdır. SDL ve normal flow chart ın mesaj akışı yanında zayıf kaldığını düşünüyorum(tasarıma bağlı olarak.).

SDL icin kullandiginiz bir tool varmi? ne onerirsiniz?
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: MrDarK - 07 Temmuz 2014, 10:06:22
Alıntı yapılan: erpay - 07 Temmuz 2014, 09:50:04
Genelde tahtada yapıp en sonunda resmini çekiyorum ama bu şekilde arşivlenmesi ya da üzerinde oynanması zor oluyo.

Buda güzel bir yöntem hocam ; sonuçta 2'side dijital ortamda kalmış oluyor. Lakin biliyoruz ki kurumsal şirketlerde bu taktikte yemez :)

Tek başına çalışan arkadaşlardan biraz şikayet gelmiş gibi geldi bana fakat şöyle bir olay var, kurumsal çalışan şirketlerde bu tarz işleri böyle yapmak zorundayız kendi şirketinizi yönetiyorsanız zaten patron sizsiniz fakat burda tartışmamız gereken projenin ilerki safhalarında ortaya çıkabilecek şeyler. Fikrimce bir proje için akış diyagramını çok önemli buluyorum.

O zaman şematik de çizmeyelim ne gerek var ? Yazılım diyip geçmemek lazım derim.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: mufitsozen - 07 Temmuz 2014, 10:16:53
Alıntı yapılan: MrDarK - 07 Temmuz 2014, 10:06:22
Buda güzel bir yöntem hocam ; sonuçta 2'side dijital ortamda kalmış oluyor. Lakin biliyoruz ki kurumsal şirketlerde bu taktikte yemez :)

Tek başına çalışan arkadaşlardan biraz şikayet gelmiş gibi geldi bana fakat şöyle bir olay var, kurumsal çalışan şirketlerde bu tarz işleri böyle yapmak zorundayız kendi şirketinizi yönetiyorsanız zaten patron sizsiniz fakat burda tartışmamız gereken projenin ilerki safhalarında ortaya çıkabilecek şeyler. Fikrimce bir proje için akış diyagramını çok önemli buluyorum.

Hocam pratikte kullandiginiz akis diyagramlarindan cok basit olmayan  bir ornek koyabilirmisiniz.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: elektronart - 07 Temmuz 2014, 10:20:06
Çok kurumsallıkla ilgili olduğunu düşünmüyorum açıkçası. Öyle bir şirkette de çalıştım, eski elemanların nedeyse hiç biri kullanmıyordu bu yöntemi. Kullannanlar da başkalarının çizip kendilerine getirmesi gerektiğini düşünüyordu :) Şu an freelance olarak çalışıyorum ve büyük küçük farketmiyor, yaptığım projelerde bir akış şeması çıkartıyorum. Önce kafamda oluşanı çiziyorum çoğunlukla bu hali kullanılabilir oluyor ama bazen bir bakıyorum ki ufak bir iki değişiklikle benim düşündüğümden çok daha kolay bir hale gelebiliyor. Önceleri biraz vakit kaybettirici gibi geliyordu ama şimdi kodu çözmeye çalışmak yerine diagrama bakıyorum ve kod yazarken göremeyeceğim iyileştirmeleri daha başlamadan görüyorum, şimdi vakit kaybı değil kazancı olduğunu biliyorum.
Ben Diagram designer kullanıyorum. Visiodan daha pratik ve editörü daha az yer kaplıyor ve ücretsiz.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: AsHeS - 07 Temmuz 2014, 10:31:06
Alıntı yapılan: mufitsozen - 07 Temmuz 2014, 10:04:09
SDL icin kullandiginiz bir tool varmi? ne onerirsiniz?

Hocam Word'de uğraşarak çiziyorum. Mesela girdiler için ya da yanlış hatırlamıyorsam timeout için çizim word de yok elle tek tek çizgileri çizip copy-paste ediyorum. Pdf veya doc çıktı vermesi lazım kullanılan programın, sizin varsa bildiğiniz severek geçmeye razıyım.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: MrDarK - 07 Temmuz 2014, 10:34:33
Alıntı yapılan: mufitsozen - 07 Temmuz 2014, 10:16:53
Hocam pratikte kullandiginiz akis diyagramlarindan cok basit olmayan  bir ornek koyabilirmisiniz.

Hocam zaten konuda da bahsettiğim gibi bende bu işe yeni başladım çalıştığım firmanın gerekliliklerinden birisiydi, resimlerdeki şemalara fazlasıyla benziyor 2 numaralı semaya. Kendi projelerim içinde bir tane hazırlarım yakında.

Alıntı yapılan: elektronart - 07 Temmuz 2014, 10:20:06
Önceleri biraz vakit kaybettirici gibi geliyordu ama şimdi kodu çözmeye çalışmak yerine diagrama bakıyorum ve kod yazarken göremeyeceğim iyileştirmeleri daha başlamadan görüyorum, şimdi vakit kaybı değil kazancı olduğunu biliyorum.

Bende bunun farkına vardığım için böyle bir konu açma ihtiyacı duydum, dediğiniz gibi olayın kurumsallıkla çok alakası yok, olay sadece bu işi iş olarak yapan kişilerin bu çalışmayı külfet olarak görmesi ve bunun yanlış olduğunun farkına varıp araştırmalarımı paylaşmam şeklinde oluştu (:
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: Mucit23 - 07 Temmuz 2014, 10:46:05
Ben bi ara çok çiziyordum. Ama şimdi çok nadiren çiziyorum.

Smart Draw diye bir program kullanıyordum. Akış diyagramı çizmede çok kullanışlı. Word ile felan çok uğraştırıcı olur.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: erpay - 07 Temmuz 2014, 11:42:16
Alıntı YapÖnceleri biraz vakit kaybettirici gibi geliyordu ama şimdi kodu çözmeye çalışmak yerine diagrama bakıyorum ve kod yazarken göremeyeceğim iyileştirmeleri daha başlamadan görüyorum, şimdi vakit kaybı değil kazancı olduğunu biliyorum.

Çok doğru, özellikle sadece kod üzerinden gidilirse birçok unutulan yer bile olabiliyor. Sonra ben bunu neden koymamışım durumunda buluyor insan kendini.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: RaMu - 07 Temmuz 2014, 19:34:02
Kağıt kalem kullanarak çiziyorum akış diyagramlarını.
Bu yüzden proramı yazıp bitirdikten sonra akış diyagramları kayboluyor,
programlarımda çok fazla açıklama yazarım, bu telafi ediyor.
Akış diyagramı çizmeden en ufak programı bile yazmıyorum,
zaten akış diyagramını çizince hiç kod yazmadığım halde
bütün programı yazmış bitirmiş oluyorum.

Bence akış diyagramı bir satır kod yazmadan programı yazıp bitirmektir.
Başlık: Ynt: Akış Diyagramı ve Algoritma Çıkarmayı Ne Kadar Kullanıyoruz ?
Gönderen: MrDarK - 07 Temmuz 2014, 20:12:01
Alıntı yapılan: RaMu - 07 Temmuz 2014, 19:34:02
Bence akış diyagramı bir satır kod yazmadan programı yazıp bitirmektir.

+1