Application Architecture
Dianne Davis
Professor Nolyn Johnson
CIS210: System Analysis & Development
June 4, 2013
Abstract
Software application architecture is the process of defining a structural solution that meets all
of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintain ability, and overall success of the application.
Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman derived and refined a definition of architecture based on work by Mary Shaw and David Garlan (Shaw and Garlan, 1996). Their definition is:
“Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”
For this case study, I have chosen to use ADP (automated data processing) to base this application study on. ADP offers human capital management solutions including payroll services, human resource management, benefits administration, talent management, time and attendance, HR BPO, retirement services, and insurance services for small, mid-size, and large businesses “ADP is the leading payroll processing and human resources benefit outsourcing company, reported its earnings for the third quarter