Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Architecture Intro


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Software Architecture Intro

  1. 1. Software Architecture Sadhana Ghalsasi
  2. 2. DefinitionSoftware architecture is a structure of structures, consisting of software elements, their externally observable characteristics and relationships among themIt is a result of technical, business and social influences.
  3. 3. Software Elements• Programs• Classes• Packages• Modules• Programs• Functions• Methods• Components• Servers• Files• Libraries• Databases• Products• Workflows
  4. 4. Externally observable characteristicsRole ExpectationsManagement (Dev. Org.) Low cost, keeping people employedMarketing stakeholder Neat features, short time to market, low cost, parity with other competing productsEnd User Behavior, performance, security, scalability, reusabilityMaintenance organization ModifiabilityCustomer stakeholder Low cost, timely delivery, not changed very often
  5. 5. Relationships among themSoftware Structure Relations Useful forDecomposition Is a sub module of Resource allocation, project structuring and planning, configuration controlUses Requires the correct Engineering extensions, presence of subsetsLayered Uses the services of, Incremental development, provides abstraction to implementing systems on top of virtual machine portabilityClass An instance of, shares Producing rapid almost access methods of alike implementations from a templateClient-server Communicates with , Distributed operation, depends on separation of concerns, performance analysis, load
  6. 6. Relationships among themSoftware structure Relations Useful forProcess Runs concurrently with, Scheduling analysis, excludes, precedes etc performance analysisConcurrency Runs on same logical Identifying locations where thread threads can fork, join, be created or be joinedShared data Produces data, consumes Performance, data data integrity, modifiabilityDeployment Allocated to , migrates to Performance, availability, security analysisImplementation Stored in Configuration control, integration, test activitiesWork assignment Assigned to Project management, best use of expertise, management of commanily
  7. 7. Importance of SA• Communication among stakeholder• Early design decisions• Transferable abstraction of a system quality attributes, functional reqts
  8. 8. Software processes and ABC• Creating the business case for the software• Understanding the requirements• Creating or selecting the architecture• Documenting or communicating the architecture• Analyzing or evaluating the architecture• Implementing the system based on architecture• Ensuring the implementation conforms to the architecture
  9. 9. What makes a “good architecture”