• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Software architecture First Lecture
 

Software architecture First Lecture

on

  • 1,694 views

By: Sir Salman Qadri

By: Sir Salman Qadri

Statistics

Views

Total Views
1,694
Views on SlideShare
1,694
Embed Views
0

Actions

Likes
0
Downloads
45
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Architecture and Agility June 2008 Philippe Kruchten

Software architecture First Lecture Software architecture First Lecture Presentation Transcript

  • Software Architecture BY Syed Salman Qadri
  • Introduction
  • Software Engineering
    • What is Software?
    • Software is not just a program; many things other than the program are also included in software .
    • Program: The program or code itself is definitely included in the software.
    • Data: The data on which the program operates is also considered as part of the
    • software.
    • Documentation: Another very important thing that most of us forget is
    • documentation . All the documents related to the software are also considered as part
    • of the software.
  • Engineering
    • “ The process of productive use of scientific knowledge is called engineering.”
  • Difference between Computer Science and Software Engineering
    • The science concerned with putting scientific knowledge to practical use.
    • Webster’s Dictionary
    • This is the process of utilizing knowledge of computer science in effective production of software systems.”
  • Software Engineering as defined by IEEE:
    • “ The application of a systematic, disciplined, quantifiable approach to the development,operation, and maintenance of software; that is, the application of engineering to software.”
  • Software Engineering By Ian Sommerville
    • All aspects of software production’ Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production”.
  • Well-Engineered Software
    • It is reliable
    • It has good user-interface
    • It has acceptable performance
    • It is of good quality
    • It is cost-effective
  • Law of Diminishing Returns
    • benefit
  • Software Background
    • Caper Jones Famous practitioner and researcher in the filed of Software Engineering
      • Fred is also a renowned software engineer, he wrote a great book related to software engineering named “ A Mythical Man Month ”
  • Importance for Software Engineering
    • Project Management
    • Requirement Engineering
    • Design
    • Coding
    • Testing
    • Software Quality Assurance
    • Software Configuration Management
    • Software Integration and
    • Rest of the activitiesFred Brooks
  • The Balancing Act!
    • Potentially conflicting requirements
      • Cost vs. Efficiency
      • Cost vs. Reliability
      • Efficiency vs. User-interface
    • Challenge is to balance these requirements.
  • Software Architecture Software design Code etc. Software Architecture Requirements
  • Software architecture
    • Software architecture is what software architects do
    • Software architecture (Formal Definition)
    • Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution
  • Architecture defined
      • A software system architecture comprises A collection of software and system components, connections, and constraints
        • A collection of system stakeholders' need statements
        • A rationale which demonstrates that the components, connections, and constraints define a system that, if implemented, would satisfy the collection of system stakeholders' need statements(Boehm et.al)
    • A set of architectural (or design) elements that have a particular form(Perry & Wolf)
  • Requirements
    • Something required, something wanted or needed
      • Webster’s dictionary
    • There is a huge difference between wanted and needed and it should be kept in mind all the time
  • Thanks
    • Any Question???
  • References
    • ‘ Requirements Engineering: Processes and Techniques’ by G. Kotonya and I. Sommerville, John Wiley & Sons, 1998
    • Software Requirements: Objects, Functions, and States by A. Davis, PH, 1993
    • Software Engineering 6 th Edition, by I. Sommerville, 2000
    • Software Engineering 5 th Edition, by R. Pressman