|
-
Dec 8th, 2006, 10:40 AM
#1
Thread Starter
Hyperactive Member
School Project Theory Question: analysing, methods and modeling languages
Hi,
I am studying to become an "industrial engineer in the field of electronics, multimedia and IT". "Project management" is an important part of this course.
Currently I am working on my master-test.
I am creating a desktop application for a security firm that allows the user to annotate videoframes. Just to give you an idea of what it does: These annotation envolve drawing circles around people and changing settings such as weather conditions.
No analyse was made in advance
Because I constantly have a lot of technical issues (setting up DirectShow under C#.NET, XML-based standards I need to follow) and because the project owner sometimes demands new features ...
==> I did not make an analyse before I started programming.
Then again, I am really good with object oriented thinking and I am good with design patterns, and I made simular, even more complicated applications before (such as drawing applications, layout editors, administrative software).
I do make UML class diagrams and I make small sketches of how components should interact before I start programming. I do not have a fixed notation style for these sketches though. And what I program today can be changed tomorrow or next month. So, it is really impossible to make an analysis in advance.
Analysing methods - Which one am I using?
For my master-test I will need to motivate my choice of analysing method.
When I was still in my bachelor studies one of my teacher told me that not always the analysing should be done in advance. He told me there are also other models like: the spiral model, Prototyping, Rapid Prototyping, The waterfall model, ... So no mistakes are made yet.
In fact I think that my style of working is probably pretty much according to the Spiral Model, prototyping or rapid prototyping? But to be honest I do not know the difference between prototyping and the spiral model. Can anybody tell me which model I am following at the moment?
Usually I make a list of required new features (Problem definition). Next, I think a bit about how I will implement them, I draw a bit, I sketch a bit (Design). And bam ! I make changes to the existing application (Implementation) and test it (Testing). I repeat this process over and over. Pretty much like the spiral model I think, but I think prototyping and Rapid prototyping also work in a circular motion.
About modelling
I will need some models and like I said before I made some UML class diagrams. (Nicely integrated in VS 2005 these days)
In the past I have worked with other UML diagrams as well such as the Use Case Diagrams, State Diagrams, Collaboration Diagrams, ... etc. The problem with these is that they take a huge amount of time and require a lot of thinking about "who are the actors, what are the components, what actions should who be allowed to do". My next question is: Is there a good free software package that is design only for UML diagrams?
Like I said before I use a lot of design patterns: events (Observer pattern), decorator pattern, command pattern, wrappers, singleton pattern, strategy pattern, factory pattern, ... Can you imagine making (state, collaboration, ...) diagrams of (for example) a factory pattern based on an enumeration ? :-s. This will be more complex than the actually programming code.
For these reasons lately I have become aware of the fact that UML is pretty cool for websites and client/server applications where there are multiple Actors and where data should be exchanged between them and stored in a database. But for a desktop application UML seems to be the wrong choice. Is there anything more appropriate than UML? Maybe there is something that supports the use of design patterns directly?
Repeating my 3 questions
1) Can anybody tell me which analysing method I am following at the moment?
2)Is there a good free software package that is design only for UML diagrams?
3)Is there a more appropriate modelling language than UML?
Thank you for reading my long question. I hope my questions are clear, and I hope somebody can give me quality-advice. (not like: everything sucks, I use nothing, and so should you!)
thanks
____________________________________________
Please rate my messages. Thank you!
____________________________________________
Bram Vandenbon
http://www.bramvandenbon.com
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|