• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to do Architecture design and Detail design.Is there any good template or example

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Now I study software engineering.And the teacher give a project to our group that we should accomplish most of the funtions in real ATM Machine.Although I know how to do the coding but I can't show my ideas in the paper style.Is anyone can tell me how to show my ideas ,how to do Architecture design and Detail design.
I am very appreciate for your answer.Thanks..
Frank
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You could start with Brad Appleton's software architecture links at http://www.cmcrossroads.com/bradapp/links/sw-arch-links.html.
Another source is the BredeMeyer Consulting website.
[ April 26, 2003: Message edited by: Lasse Koskela ]
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hell, this is a complex topic - you are very unlikely to find any meaningfull template.
There are examples and tips, though.
http://www.agilemodeling.com/ discusses how to decide which models to use and when and how to create them.
At http://www.objectmentor.com/UMLFJP/ you can get the script of an upcoming book discussing the basics of UML to depict your designs.
And then there is http://www.objectmentor.com/resources/articles/Walking_through_A_UML_Design.pdf - a rather concise case study on a complex design.
I hope this gets you going - if you have more specific questions, don't hesitate to ask them here!
[ April 26, 2003: Message edited by: Ilja Preuss ]
 
Ranch Hand
Posts: 662
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A little question to people in this context. Can someone let me know how the functions of a Software Architect differ from that of a designer. I'm ignorant of the differences b/w architecture and design. Always tend to look at them as synonymous.
Thanks.
 
Lasse Koskela
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The role of a "designer" and "architect" do vary between organizations. Personally, I tend to use the following generalisations:
- An architect is responsible for system design including hardware and other infrastructure, and the process of delegating requirements to components.
- A designer is responsible for the software design of components, e.g. producing an implementation model for component X specified by the architect.
I repeat that this is only a personal view. Furthermore, I tend to evolve this view from project to project...
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
See also
http://c2.com/cgi/wiki?SoftwareArchitect
http://c2.com/cgi/wiki?ArchitectureDefinitions
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Architecture is an aspect of design. I like to see it at an abstract enough level that it can be reused for different domains or applications, or can be seen in multiple implementations. My architecture pages have links to dozens of definitions at Carnegie Mellon.
In one really different definition, Grady Booch sometimes distinguishes architecturally interesting stuff from all the other stuff as things that will be expensive to change in the future.
I like to see the architect role as a peer to the project manager. The PM schedules and manages work, the architect sets the overall technical vision and maintains consistency. In my current project, this relates largely to external interfaces. I get to tell people we have an appropriate protocol for the next integration they have to do, and not to introduce a new protocol. In other projects it may relate to finer grained design or physical hardware and network stuff.
Note that the agile movement generally does not believe in an architect position. They spread the vision, knowledge and responsibility for system design across the entire team, and let architecture "emerge" as they build and refactor code. I think this could work for a small group of people in one room with extraordinary amounts of communication.
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Oh, back to your original question - what form should architecture designs take, see Four Plus One Views by Phillipe Kruchten. This shows a lot of things you might want to talk about in architecture.
I tried to use 4+1 as a document framework (table of contents) on my current project and could not make it all fit. My architecture documentation is a web site, extensively cross linked in wiki-style. You can follow it verticaly through the layers, horizontally across all components in a layer, or in other dimensions that I can't quite describe.
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Stan James:
Note that the agile movement generally does not believe in an architect position. They spread the vision, knowledge and responsibility for system design across the entire team, and let architecture "emerge" as they build and refactor code. I think this could work for a small group of people in one room with extraordinary amounts of communication.


Also note that agile proponents generally *do* believe in the architect *role*, in someone with extraordinary architectural skills as part of the team. They just think that it's better to let such roles emerge dependend on actual need and skillset instead of assigning titles to single team members.
 
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In my openion, a Software Achitect is responsible for achieving the non funtional requirements (performance,scalability,manageability,security,reliability,availability,maitainabity etc) of the system, and a designer is resposible for the funtional requirements of the system.
Ebage
SCJP
SCEA
[ April 29, 2003: Message edited by: Christian Ebage ]
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


Also note that agile proponents generally *do* believe in the architect *role*, in someone with extraordinary architectural skills as part of the team. They just think that it's better to let such roles emerge dependend on actual need and skillset instead of assigning titles to single team members.


On Scott Ambler's Agile Modeling news group Scott and Ron Jeffries & crew have been pretty explicit about no "architect" and everyone contributes to emergent architecture. At least often enough to make me feel kinda lame for having the job title. I often quote Grady Booch as saying emergent architeture only works if you have Kent Beck on your team, because Kent has every architecture that ever was in his head and can pull out an appropriate one at any time. I'm inclined to agree. I like having someone responsible for architecture. And I like being employed.
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


In my openion, a Software Achitect is responsible for achieving the non funtional requirements (performance,scalability,manageability,security,reliability,availability,maitainabity etc) of the system, and a designer is resposible for the funtional requirements of the system.


I had an architecture VP who was adamant about not being RESPONSIBLE for anything you don't DO. Being responsible for maintainability while somebody else designs and codes the functionality is a risk. While working for that VP, architecture made recommendations to improve performance, but was not responsible for deciding which to implement or achieving performance. The dev manager and his coders did that!
Does that sound like a sick organization? I kinda thought so. It felt like more CYA than trying to help the team succeed. On the other hand, it made sense to not stake my bonus on somebody else's code!
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Stan James:
On Scott Ambler's Agile Modeling news group Scott and Ron Jeffries & crew have been pretty explicit about no "architect" and everyone contributes to emergent architecture. At least often enough to make me feel kinda lame for having the job title.


Yes, they probably think that the *job title* "architect" is a rather bad thing - it might suggest that the rest of the team isn't responsible for the architecture at all, which is less than optimal.
From all I know it would heavily surprise if they thought your actual *skill set* wouldn't be of good use on an agile project.
Sadly, topicas search feature seems to be broken. Can give a link to posts in the archive about that topic?

I often quote Grady Booch as saying emergent architeture only works if you have Kent Beck on your team, because Kent has every architecture that ever was in his head and can pull out an appropriate one at any time. I'm inclined to agree. I like having someone responsible for architecture. And I like being employed.


- not having someone with the job title "architect" on the team doesn't mean that noone is responsible for architecture. First, everyone is responsible; and second, those with less architectural skill will soon find out the ones with much skill - and probably swamp them with questions and pair programming requests.
- emerging an architecture doesn't nullify the need for architectural skill
- you are hopefully employed because of your skills, not because of your job title?
- from http://c2.com/cgi/wiki?ArchitectAsKeeperOfTheFlame it seems as if Kent Beck wasn't responsible for the architecture at the C3 project. And there are certainly many XP projects currently successfully emerging architectures without the help of Kent Beck.
reply
    Bookmark Topic Watch Topic
  • New Topic