none
Difference between Architecture and High-level design RRS feed

  • Question

  • Hi All

    Is there any difference between a Software Architecture and a High Level Design? are the document templates (lets say in RUP) different?

     

    Thanks


    Aref Karimi MCTS and MCPD
    Thursday, June 9, 2011 6:22 AM

Answers

  • Precisely speaking they are not similar entities which can be compared one to one or an apple to apple. Software Design is an activity in SDLC which comprises of architecting and designing the system. Architecting involves studyging the requirements, choosing achitectural style, patterns e.g. layer, MVC, broker, microkernel. Essentially its about the oraganization of subsystems in a system and interaction among themselves. Apart from business requirements quality attributes like performance, scalability, reusabilty, modfiability, testability, TTM etc need to considered as they influence the architecture directly. the inputs for this architecture are business requirement, use cases/ stories and ouput are contextual view, impelementation view, process view alongwith benchmarking for quality attributes and ATAM(Architecture Tradeoff Analysis Method).

    High level design details about the design consideration at high level i.e it may not detail out the actual algorithm but generally involves preparing class, sequence, activity etc diagrams.

    Hope this helps.


    Please mark this as "Answer" or "Vote as helpful" if it has resolved your issue/question/problem.
    • Proposed as answer by Vishvvas Thursday, June 9, 2011 9:43 AM
    • Marked as answer by ArefK Thursday, June 9, 2011 10:15 AM
    Thursday, June 9, 2011 9:42 AM

All replies

  • Depends on whether there's one person or more involved and the complexity of the design.

    Or how unusual it is.

    A common scenario would be a business analyst gathering the requirements and handing them over to an architect.

    In that instance then smaller requirements are quite likely to result in one document which encompasses a high level design and mentions using whatever software architecture is "standard" for the department.

    Bigger requirements may require more thought and more documents.

     

    I've never worked anywhere that the department based the design and development approach around document templates.

    Even with SSADM, everyone pretty much ignored the standard documents.


    Thursday, June 9, 2011 8:18 AM
  • Precisely speaking they are not similar entities which can be compared one to one or an apple to apple. Software Design is an activity in SDLC which comprises of architecting and designing the system. Architecting involves studyging the requirements, choosing achitectural style, patterns e.g. layer, MVC, broker, microkernel. Essentially its about the oraganization of subsystems in a system and interaction among themselves. Apart from business requirements quality attributes like performance, scalability, reusabilty, modfiability, testability, TTM etc need to considered as they influence the architecture directly. the inputs for this architecture are business requirement, use cases/ stories and ouput are contextual view, impelementation view, process view alongwith benchmarking for quality attributes and ATAM(Architecture Tradeoff Analysis Method).

    High level design details about the design consideration at high level i.e it may not detail out the actual algorithm but generally involves preparing class, sequence, activity etc diagrams.

    Hope this helps.


    Please mark this as "Answer" or "Vote as helpful" if it has resolved your issue/question/problem.
    • Proposed as answer by Vishvvas Thursday, June 9, 2011 9:43 AM
    • Marked as answer by ArefK Thursday, June 9, 2011 10:15 AM
    Thursday, June 9, 2011 9:42 AM
  • I wonder what would be the definition for Low Level Design, if the High Level design already covers the Class diagram etc. ?

    Thursday, September 29, 2011 9:16 AM
  • Hi

    Architecture will predominantly focusing on the

    - Identifying the right technology tools for implementaion

    - Sizing the hardware, plan for backup/restore and disaster recovery

    - topologies, security modeling..etc

    - Identifying the right patterns for design and development

    - Process for managing the environments( testing environment, production environment)

    - Process for updating the environments

    Highlevel design will be focusing on

    - Application related components

    - interaction between the components

    - identifying the business case with the related users

    - Identifying the flow of the business case process.

     

    Mainly Architecture will be focusing on environment level and the highlevel design will be focusin on the application level.

    REgards

    Thursday, September 29, 2011 10:36 AM