Jose Sandoval Google
 Resume     Book     Software     Drawings     Home     Subscribe to RSS feed Search Web Search josesandoval.com

What's a Software Architecture?
Thursday, February 26, 2009

A software architecture deals with (taken from Beautiful Architecture):
    Functionality
    What functionality does the product offer to its users?

    Changeability
    What changes may be needed in the software in the future, and what changes are unlikely and need not be especially easy to make in the future?

    Performance
    What will the performance of the product be?

    Capacity
    How many users will use the system simultaneously? How much data will the system need to store for its users?

    Ecosystem
    What interactions will the system have with other systems in the ecosystem in which it will be deployed?

    Modularity
    How is the task of writing the software organized into work assignments (modules), particularly modules that can be developed independently and that suit each other's needs precisely and easily?

    Buildability
    How can the software be built as a set of components that can be independently implemented and verified? What components should be reused from other products and which should be acquired from external suppliers?

    Producibility
    If the product will exist in several variations, how can it be developed as a product line, taking advantage of the commonality among the versions, and what are the steps by which the products in the product line can be developed (Weiss and Lai 1999)? What investment should be made in creating a software product line? What is the expected return from creating the options to develop different members of the product line?

    In particular, is it possible to develop the smallest minimally useful product first and then develop additional members of the product line by adding (and subtracting) components without having to change the code that was written previously?

    Security
    If the product requires authorization for its use or must restrict access to data, how can security of data be ensured? How can "denial of service" and other attacks be withstood?
It's a mouthful, isn't it?


5:41 PM | 0 comment(s) |

Comments:


This page is powered by Blogger. Isn't yours?

Guestbook
© Jose Sandoval 2004-2009 jose@josesandoval.com