Software Design
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming Languages - MoreSoftware Design

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old December 13th, 2004, 02:59 PM
walker walker is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2004
Location: Poland
Posts: 39 walker User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 13 h 24 m 15 sec
Reputation Power: 5
UML design

If it's not that forum i was thinking about, just don't reply Can anybody recommend a good book aboutUML.. but i ain't looking for another tutorial about the basis of object oriented software development... i know what class'es are, what state and activity diagrams are... i'm rather looking for a book that will guide me in advanced and datailed software development, that shows how to organise classes in packages and.. the issues concerning software engenieering.

Reply With Quote
  #2  
Old December 17th, 2004, 07:10 PM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,227 drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Day 4 h 51 m 18 sec
Reputation Power: 258
Quote:
Originally Posted by walker
If it's not that forum i was thinking about, just don't reply Can anybody recommend a good book aboutUML.. but i ain't looking for another tutorial about the basis of object oriented software development... i know what class'es are, what state and activity diagrams are... i'm rather looking for a book that will guide me in advanced and datailed software development, that shows how to organise classes in packages and.. the issues concerning software engenieering.

http://www.amazon.com/exec/obidos/tg/detail/-/0130925691/qid=1103332148/sr=8-7/ref=pd_ka_7/002-8184044-0423268?v=glance&s=books&n=507846
__________________
Give a person code, and they'll hack for a day; Teach them how to code, and they'll hack forever.
Analyze twice; hack once.
The world's first existential ITIL question: If a change is released into production without a ticket to track it,
was it actually released?


About DrGroove: ITIL-Certified IT Process Engineer - Enterprise Application Architect -
Freelance IT Journalist - Devshed Moderator - Funk Bassist Extraordinaire


Reply With Quote
  #3  
Old December 19th, 2004, 07:16 AM
DevCoach DevCoach is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Feb 2004
Location: London, England
Posts: 1,421 DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level) 
Time spent in forums: 2 Weeks 1 Day 19 h 50 m 59 sec
Reputation Power: 797
Quote:
Can anybody recommend a good book aboutUML.. but i ain't looking for another tutorial about the basis of object oriented software development... i know what class'es are, what state and activity diagrams are... i'm rather looking for a book that will guide me in advanced and datailed software development, that shows how to organise classes in packages and.. the issues concerning software engenieering.


UML is a graphical notation, no more, no less, so learning UML will not necessarily teach you any of those things. UML is useful for illustrating design concepts & patterns, documenting existing designs, and for group design discussions round a whiteboard. The idea that you can design a complete system up front in UML is widely discredited, especially within the agile development movement. Agile development emphasises iterative, evolutionary development emphasising working code as the embodiment of the design, rather than UML documents.

For learning UML I recommend

* UML Distilled by Martin Fowler

For learning sofware design techniques I recommend:

* Design Patterns by Gamma et al

* Refactoring by Martin Fowler

For general programming skills:

* The Pragmatic Programmer by Hunt and Thomas

* Code Complete (2nd edition) by Steve McConnell

* Programming Pearls (2nd edition) by Jon Bentley

For agile development:

* Agile Software Development by Alastair Cockburn

* Extreme Programming Explained by Kent Beck

An excellent book that covers good design principles, design patterns, and agile development techniques is:

* Agile Software Development - Principles, Patterns, and Practices by Robert Martin


Dave - The Developers' Coach

Reply With Quote
  #4  
Old December 20th, 2004, 01:15 AM
lazy_yogi lazy_yogi is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Mar 2003
Posts: 325 lazy_yogi User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 7 h 58 m 36 sec
Reputation Power: 7
Quote:
Originally Posted by DevCoach
For learning UML I recommend

* UML Distilled by Martin Fowler
Yep, I have that and it's a nice look at most of what you will need in uml and how to use it explained in an easy to read way. UML is more a way of communication of your system to others, so be aware of that if you purchase a book on UML.

Quote:
Originally Posted by DevCoach
For learning sofware design techniques I recommend:

* Design Patterns by Gamma et al
I found that quite difficult reading. They define alot of the patterns in terms of other patterns, so for a newbie to patterns I found it to be no help. Especially since the concepts are quite deep to get through in each pattern when learning them for the first time.

Quote:
Originally Posted by DevCoach
For agile development:

* Agile Software Development by Alastair Cockburn

* Extreme Programming Explained by Kent Beck

An excellent book that covers good design principles, design patterns, and agile development techniques is:

* Agile Software Development - Principles, Patterns, and Practices by Robert Martin
I've gotta get around to these as well. Thanks for the list Dave.

I'd like to recommend:

Patterns of Enterprise Application Architecture (PoEAA) by Martin Fowler and Domain Driven Design by Eric Evans. The first one (PoEEA) I think is something you are looking for. It helps orgainse how to break up systems logically and is very pragmatic about it. The second one is also excellent - and explains how and why to keep your software design representatitive of the business domain model that you are modelling it against.

Cheers,
Eli

Reply With Quote
  #5  
Old January 26th, 2005, 06:22 AM
martinig martinig is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: May 2004
Posts: 3 martinig User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 m 48 sec
Reputation Power: 0
Detailled UML articles

The Methods & Tools newsletter has an archive section with some article on applying UML to the real world like:

* Precise Use Cases
This article describes a precise form of use case that promotes the specification of inter-actor options and alternative course conditions.
http://www.methodsandtools.com/archive/archive.php?id=8


* Database Modelling in UML
This article offers a step by step approach to transform a UML object-oriented class model in a purely relational database.
http://www.methodsandtools.com/archive/archive.php?id=9

Reply With Quote
  #6  
Old January 26th, 2005, 10:53 PM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,227 drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Day 4 h 51 m 18 sec
Reputation Power: 258
Never heard of methods & tools before; thanks for the linkage.

Reply With Quote
  #7  
Old February 8th, 2005, 11:40 AM
mateoc15's Avatar
mateoc15 mateoc15 is offline
C A R D S
Dev Shed Novice (500 - 999 posts)
 
Join Date: Mar 2004
Location: The 'Ville
Posts: 825 mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 16 h 14 m
Reputation Power: 13
UML and The Unified Process, Arlow/Neustadt

Building Web Applications With UML – 2nd Edition, Jim Conallen, Addison-Wesley

I used these in two courses in CIS the past two semesters. Both by the same publisher. Both really good. The first is the basics of UML, the second (obviously) is geared more toward web applications of UML.
__________________
Reinventing the wheel again

Reply With Quote
  #8  
Old March 1st, 2005, 08:46 PM
hzane's Avatar
hzane hzane is offline
anarchy without chaos.
Dev Shed Newbie (0 - 499 posts)
 
Join Date: May 2004
Location: Austin, TX
Posts: 221 hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 1 Day 15 h 40 m 6 sec
Reputation Power: 7
Quote:
Originally Posted by mateoc15
UML and The Unified Process, Arlow/Neustadt

Building Web Applications With UML – 2nd Edition, Jim Conallen, Addison-Wesley

I used these in two courses in CIS the past two semesters. Both by the same publisher. Both really good. The first is the basics of UML, the second (obviously) is geared more toward web applications of UML.


okay this is prolly a total understatement- but UML seems like just a big flow diagram.
I.E.
Boxes for classes - circles for properties - triangles for methods - maybe some diamonds for conceptual linkage - rectangles for comments.
Arrows w/ a straight line indicate a "has a" relationship - arrows w/ dotted line indicates an "is a" relationship. Double lined arrows indicate IO streams.
Baddow.
UML in a nutshell Cliff notes for ya.

I have tried reading a couple "definitive sources" on the subject - but good lord talk about overcomplicating for the sake of complication.
You know who write a darn good book?
The "head first" guys (derivate of O'Reilly).
They got a book called design patterns which is pretty choice.

Reply With Quote
  #9  
Old March 1st, 2005, 10:50 PM
mateoc15's Avatar
mateoc15 mateoc15 is offline
C A R D S
Dev Shed Novice (500 - 999 posts)
 
Join Date: Mar 2004
Location: The 'Ville
Posts: 825 mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 16 h 14 m
Reputation Power: 13
Honestly, I have to agree with hzane to some degree. I used UML in two courses for a year. The professors required that a full specification, use cases, sequence diagrams, class diagrams, and vision statements for the project be given. All classes that could potentially be used had to be in the class diagrams. All flows of events (use cases) had to be in a sequence diagram. The sequence diagrams had to use methods and properties of the classes to interact with one another.

WHEW!

Unfortunately, scope creep, simply missing or not thinking about some classes that you might need, and other factors made the diagrams and documenation that I had created all but obsolete.

We created diagrams in the first few weeks of the course, then implemented what we had diagrammed and written up. By the end of the course we had changed everything so much that we more or less had to redo all diagrams to fit what the system actually did!

It does seem overcomplicated sometimes, but for GIANT projects it can be a great way to see the big picture. It does take much practice to get better and you will never perfect it.

I have heard of few companies that actually use UML in designing software and systems. I work for YUM! Brands in Louisville, KY (parent company of over 30,000 restaurants) and we do not use it. We draw out diagrams and such sometimes when the project is large enough that it's hard to keep focus. UPS here in Louisville DOES use UML for its software design. As you can imagine, the task of organizing 15,000,000 records of packages at one time could be ugly so UML does make sense. They have to worry about which ones go where, which planes will get the packages to destinations fastest, records of business accounts, ETC ETC ETC... again, WHEW!

So... moral of the story: use UML to get a 30,000 ft. view of your system, but unless you are a true UML master, it is likely that your 30,000 ft. view will change 10+ times before you are done with the project.

Reply With Quote
  #10  
Old March 2nd, 2005, 03:25 PM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,227 drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level)drgroove User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Day 4 h 51 m 18 sec
Reputation Power: 258
The Unified Process works to alleviate the issues of changing architecture as the project evolves. You don't have to be a UML master to use it, when you're using true UP.

Reply With Quote
  #11  
Old March 2nd, 2005, 05:15 PM
mateoc15's Avatar
mateoc15 mateoc15 is offline
C A R D S
Dev Shed Novice (500 - 999 posts)
 
Join Date: Mar 2004
Location: The 'Ville
Posts: 825 mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level)mateoc15 User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 16 h 14 m
Reputation Power: 13
Quote:
Originally Posted by drgroove
The Unified Process works to alleviate the issues of changing architecture as the project evolves. You don't have to be a UML master to use it, when you're using true UP.


Perhaps not, but in my case (a medium sized project) I found it to be more trouble than it was worth.

I don't know about changing architecture. That would be a REAL problem. Perhaps you mean changing feature/scope?

Reply With Quote
  #12  
Old March 5th, 2005, 07:38 AM
hzane's Avatar
hzane hzane is offline
anarchy without chaos.
Dev Shed Newbie (0 - 499 posts)
 
Join Date: May 2004
Location: Austin, TX
Posts: 221 hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level)hzane User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 1 Day 15 h 40 m 6 sec
Reputation Power: 7
btw

I just started reading

UML for Mere MortalsŪ
By Robert A. Maksimchuk, Eric J. Naiburg

I'm just a little out of chapter 1 but I'm liking it so far.
it's a available at safari.oreilly.com

Reply With Quote
  #13  
Old March 6th, 2005, 02:05 PM
DevCoach DevCoach is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Feb 2004
Location: London, England
Posts: 1,421 DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level)DevCoach User rank is Major General (70000 - 90000 Reputation Level) 
Time spent in forums: 2 Weeks 1 Day 19 h 50 m 59 sec
Reputation Power: 797
Quote:
Originally Posted by mateoc15
Honestly, I have to agree with hzane to some degree. I used UML in two courses for a year. The professors required that a full specification, use cases, sequence diagrams, class diagrams, and vision statements for the project be given. All classes that could potentially be used had to be in the class diagrams. All flows of events (use cases) had to be in a sequence diagram. The sequence diagrams had to use methods and properties of the classes to interact with one another.

WHEW!

Unfortunately, scope creep, simply missing or not thinking about some classes that you might need, and other factors made the diagrams and documenation that I had created all but obsolete.

<snip>

So... moral of the story: use UML to get a 30,000 ft. view of your system, but unless you are a true UML master, it is likely that your 30,000 ft. view will change 10+ times before you are done with the project.


The best use for fancy UML tools like Rational Rose is is to reverse engineer your code into smart looking diagrams that you can paste into reports to keep managers happy. Use UML to document your design after it has been created if you need to, but don't try to use it to create the complete design.

The best UML *design* tool is a whiteboard. The best way to use UML as part of the design process is to have a group of developers round the whiteboard discussing the design and thrashing out alternative ideas. UML is useful as a language for communicating design ideas between people. However it is not the design itself - ultimately the source code is the design.

Dave - The Developers' Coach

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreSoftware Design > UML design


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump



 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2009 by Developer Shed. All rights reserved. DS Cluster 1 hosted by Hostway
Stay green...Green IT