• 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
  • Paul Clapham
  • Ron McLeod
  • Tim Cooke
  • Junilu Lacar
Sheriffs:
  • Rob Spoor
  • Devaka Cooray
  • Jeanne Boyarsky
Saloon Keepers:
  • Jesse Silverman
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • Tim Holloway
Bartenders:
  • Jj Roberts
  • Al Hobbs
  • Piet Souris

how to start off with architecture

 
Ranch Hand
Posts: 116
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello ,
In current project I am supposed to be working on the architecture of the project .

To be honest I dont have a clue

Can somebody help me with ::
- what would be good books to read which are more practical than theory
- what is the realistic flow ? i.e req spec >> use cases >> architecture >> design >> implementation ?
- how does architecture differ from design ?

- what are the considerations in architecture

Our project is a web based application intended to take care of adminsitration of multiple products
( common user mgmt etc )

PS :: Head first ooad is what I am referring to

Thanks ,
~satish
 
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

- how does architecture differ from design ?



A software architecture is a design. An individual creates an architectural design for a software application.

The design of a software architecture and the design(s) of the application(s) and sub-components that the architecture describe are differents things.

The focus of architecture design is on non-technical aspects of an application, such as: security, extensibility, performance, scalability, capacity, maintainabiliity, manageability, etc. These are called non-technical or service-level requirements. These are a different type of requirement, than the ones used to design the application.

Business/domain requirements are the input to the design of the actual application. These requirements are different than the ones mentioned above for the architectural design.

So, you should see that comparing "architecture" and "design" does not make any sense. A software architecture is a design and it influences the design of the lower-level aspects of the application, i.e. obect-oriented design of the application.

Architectures are designed with things like: routers, firewalls, load balancers, CPU, DMZ, clusters, pooling strategies, replication strategies, UPS devices, server farms, security certificates, application servers, DBMS, message servers, email servers, mobile devices, etc.

Software architecture designs don't include things like classes or objects.

Object-oriented analysis and design is different than software architecture design.

Sun Certified Enterprise Architecture for J2EE Technology Study Guide
(Sun Microsystems Press)
ISBN-10: 0130449164

[ October 08, 2008: Message edited by: James Clark ]
 
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 satish bodas:
In current project I am supposed to be working on the architecture of the project.

To be honest I dont have a clue



Frankly, there is no single agreed upon definition of the term architecture. So, to be sure, you will need to ask whoever decided that you should be working on architecture what he means by that term, what his expectations are.

what would be good books to read which are more practical than theory



* "UML for Java Programmers"
* "Agile Modeling"
* http://www.agilemodeling.com/essays/agileArchitecture.htm


- what is the realistic flow ? i.e req spec >> use cases >> architecture >> design >> implementation ?



Realistic would be a highly iterative approach, where you jump back and forth between activities as needed. See http://www.agilemodeling.com/essays/phasesExamined.htm and http://www.agilemodeling.com/essays/iterateToAnotherArtifact.htm


- how does architecture differ from design ?



That depends on how you define "architecture" and "design". Seriously - there is no single right answer to that.

I kind of like Martin Fowler's definition: architecture is about all those things that are hard to change later. http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
 
satish bodas
Ranch Hand
Posts: 116
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks James and Ilja for the details .

Regards,
~satish
 
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic