Software Architecture    Sadhana Ghalsasi
DefinitionSoftware architecture is a structure of  structures, consisting of software elements,  their externally observab...
Software Elements•   Programs•   Classes•   Packages•   Modules•   Programs•   Functions•   Methods•   Components•   Serve...
Externally observable characteristicsRole                       ExpectationsManagement (Dev. Org.)     Low cost, keeping p...
Relationships among themSoftware Structure   Relations                 Useful forDecomposition        Is a sub module of  ...
Relationships among themSoftware structure   Relations                    Useful forProcess              Runs concurrently...
Importance of SA• Communication among stakeholder• Early design decisions• Transferable abstraction of a system     qualit...
Software processes and ABC•   Creating the business case for the software•   Understanding the requirements•   Creating or...
What makes a “good architecture”
Upcoming SlideShare
Loading in...5
×

Software Architecture Intro

143

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
143
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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”
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×