SlideShare a Scribd company logo
Software Architecture & Design

               By

        Syed Salman Qadri
      Assistant Professor (CS)
      The Islamia University of
            Bahawalpur

                                  1
Introduction
• Requirements form the basis for all
  software products
• Requirements engineering is the
  process, which enables us to
  systematically determine the
  requirements for a software product

                                        2
Importance of Software
          Requirements
• The hardest single part of building a
  software system is deciding what to
  build...No other part of the work so
  cripples the resulting system if done
  wrong. No other part is difficult to
  rectify later
  – Fred Brooks
                                          3
Examples of Requirements
• The system shall maintain records of
  all payments made to employees on
  accounts of salaries, bonuses,
  travel/daily allowances, medical
  allowances, etc.


                                         4
Examples of Requirements
• The system shall interface with the
  central computer to send daily sales
  and inventory data from every retail
  store




                                         5
Examples of Requirements
• The system shall maintain records of
  all library materials including books,
  serials, newspapers and magazines,
  video and audio tapes, reports,
  collections of transparencies, CD-
  ROMs, DVDs, etc.

                                           6
Examples of Requirements
• The system shall allow users to search
  for an item by title, author, or by
  International Standard Book Number

• The system’s user interface shall be
  implemented using a web browser

                                           7
Examples of Requirements
• The system shall support at least
  twenty transactions per second
• The system facilities which are
  available to public users shall be
  demonstrable in ten minutes or less


                                        8
Kinds of Software Requirements




                                 9
Kinds of Software Requirements
•   Functional requirements
•   Non-functional requirements
•   Domain requirements
•   Inverse requirements
•   Design and implementation constraints

                                        10
Functional Requirements




                          11
Functional Requirements
• Statements describing what the system
  does.
• Functionality of the system




                                      12
Functional Requirements
• Statements of services the system
  should provide
  – Reaction to particular inputs
  – Behavior in particular situations




                                        13
Functional Requirements
• Sequencing and parallelism are also
  captured by functional requirements
• Abnormal behavior is also documented
  as functional requirements in the form
  of exception handling


                                       14
Functional Requirements
• Functional requirements should be
  complete and consistent
• Customers and developers usually
  focus all their attention on functional
  requirements


                                            15
Functional Requirements Example

• The system shall solve a quadratic
  equation using the following formula

     x = (-b+sqrt(b2 – 4*a*c))/2*a



                                         16
Functional Requirements Example

• The user shall be able to search either
  the entire database of patients or select
  a subset from it (admitted patients, or
  patients with asthma, etc.)




                                          17
Functional Requirements Example

• The system shall provide appropriate
  viewers for the user to read documents
  in the document store




                                       18
Functional Requirements Example

• Every order shall be allocated a unique
  identifier (ORDER_ID) which the user
  shall use to access that order




                                        19
Functional Requirements Example

• The system shall allow customers to
  return non-perishable items within
  fifteen days of the purchase. A
  customer must present the original sale
  receipt to return an item


                                        20
Comments on Examples
• Notice the level of detail in different
  requirements described above. Some
  are very detailed compared to others




                                            21
Comments on Examples
• Notice the ambiguity in the
  requirement, which uses the term
  ‘appropriate viewers’
• This requirement does not mention the
  formats of documents and types of
  viewers, which can be used

                                          22
Comments on Examples
• Notice the ambiguity in the
  requirement for solving the quadratic
  equation. The requirement does not
  speak about the possibility when the
  value of ‘a’ is zero

  x = (-b+sqrt(b2 – 4*a*c))/2*a
                                          23
Comments on Examples
• Incomplete and ambiguous
  requirements are open to multiple
  interpretations and assumptions

• This can lead to the development of
  poor quality, or faulty, software
  products
                                        24
Summary
• Requirements form the basis of all
  software engineering projects
• Functional requirements capture the
  behavioral aspects/functions of the
  proposed automated system
• Functional requirements are the
  backbone of all software products
                                        25
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 8th Edition, by I.
  Sommerville, 2008
• Software Engineering 5th Edition, by R.
  Pressman
                                           26

More Related Content

PPTX
software requirements
PPTX
1 software requirements engineering-01
PPTX
6. software requirements
PDF
Software requirements
PPTX
Software requirement engineering
PPTX
Req specification
ODP
Visualizing non-functional requirements
PPTX
software requirement
software requirements
1 software requirements engineering-01
6. software requirements
Software requirements
Software requirement engineering
Req specification
Visualizing non-functional requirements
software requirement

What's hot (19)

PPTX
Un it 2-se-mod-staff
PPTX
Requirements engineering
PPT
Software Requirements engineering
PPT
PPTX
PDF
Software Engineering : Requirement Analysis & Specification
PPT
System requirements specification (srs)
PPTX
PDF
Requirement engineering process
PPTX
Non functional requirements. do we really care…?
PPTX
Design for non functional requirements
PPT
Requirement Engineering
PPT
PPT
PPTX
Ch 2 types of reqirement
PDF
Software Engineering : Process Models
PPT
requirement engineering
PPTX
Software Requirements
PPTX
Hi600 u12_inst_slides
Un it 2-se-mod-staff
Requirements engineering
Software Requirements engineering
Software Engineering : Requirement Analysis & Specification
System requirements specification (srs)
Requirement engineering process
Non functional requirements. do we really care…?
Design for non functional requirements
Requirement Engineering
Ch 2 types of reqirement
Software Engineering : Process Models
requirement engineering
Software Requirements
Hi600 u12_inst_slides
Ad

Viewers also liked (20)

PPTX
Continuous delivery applied (DC CI User Group)
PPTX
Developing for Multiple Platforms
PPT
16715 ______
PDF
Transporte 1
PDF
Lahermosabiarritz
PPTX
第11回
DOC
Theancient mayaarefamousfortheirknowledgeofthestars.docx
PPT
Software architecture First Lecture
PDF
Synthese barometre metiers_communication_2015
PPTX
PPTX
얼리 버드 알람 사용법
PPT
Software architecture6
PPTX
CCMS_Launching_Presentation
PDF
Jose victor patiño duran - curriculum
PPTX
Continuous Delivery Applied (AgileDC)
PDF
Walk by faith_guillermo_maldonado_org
PPTX
The wanted then and now
KEY
State of the web
DOCX
pengurusan masa
PDF
PAGINA WEB DE JUAN JACOBO ROSSEAU
Continuous delivery applied (DC CI User Group)
Developing for Multiple Platforms
16715 ______
Transporte 1
Lahermosabiarritz
第11回
Theancient mayaarefamousfortheirknowledgeofthestars.docx
Software architecture First Lecture
Synthese barometre metiers_communication_2015
얼리 버드 알람 사용법
Software architecture6
CCMS_Launching_Presentation
Jose victor patiño duran - curriculum
Continuous Delivery Applied (AgileDC)
Walk by faith_guillermo_maldonado_org
The wanted then and now
State of the web
pengurusan masa
PAGINA WEB DE JUAN JACOBO ROSSEAU
Ad

Similar to Software architecture3 (20)

PPT
vu-re-lecture-01 requirements engineering.ppt
PPT
vu-re-lecture-01 software engineering.ppt
PPT
Software Requirement Engineering - Power Point Slides lecture-01.ppt
PPTX
SRE lec 1.pptx software requirement and engineering
PPTX
Software Requirement Engineering Documenting Requirements
DOCX
UNIT 4 REFINING THE SYSTEM DEFINITION.docx
PPT
Ch 1-Introduction.ppt
PPT
Software Requirements_Se lect8 btech
PPTX
SE Unit 2(1).pptx
PDF
Cs2 ah0405 softwarerequirements
DOCX
V labs-assignment-1-sepm
DOCX
Functional specification documents of
 
DOCX
1 Software Requirements Descriptions and specification.docx
PDF
Software engineering Unit-2
PPT
INTRODUCTION to software engineering requirements specifications
PPT
best software requirements for the students
PPTX
2.1. SW Requirements n Specifications.pptx
PPTX
Software engineering Unit 2(Updated)2.pptx
PPT
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 software engineering.ppt
Software Requirement Engineering - Power Point Slides lecture-01.ppt
SRE lec 1.pptx software requirement and engineering
Software Requirement Engineering Documenting Requirements
UNIT 4 REFINING THE SYSTEM DEFINITION.docx
Ch 1-Introduction.ppt
Software Requirements_Se lect8 btech
SE Unit 2(1).pptx
Cs2 ah0405 softwarerequirements
V labs-assignment-1-sepm
Functional specification documents of
 
1 Software Requirements Descriptions and specification.docx
Software engineering Unit-2
INTRODUCTION to software engineering requirements specifications
best software requirements for the students
2.1. SW Requirements n Specifications.pptx
Software engineering Unit 2(Updated)2.pptx
vu-re-lecture-45 requirement engineering.ppt

Recently uploaded (20)

PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Sports Quiz easy sports quiz sports quiz
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Classroom Observation Tools for Teachers
PPTX
master seminar digital applications in india
PPTX
Institutional Correction lecture only . . .
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
2.FourierTransform-ShortQuestionswithAnswers.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
human mycosis Human fungal infections are called human mycosis..pptx
O7-L3 Supply Chain Operations - ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Microbial diseases, their pathogenesis and prophylaxis
Microbial disease of the cardiovascular and lymphatic systems
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Sports Quiz easy sports quiz sports quiz
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Classroom Observation Tools for Teachers
master seminar digital applications in india
Institutional Correction lecture only . . .
O5-L3 Freight Transport Ops (International) V1.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...

Software architecture3

  • 1. Software Architecture & Design By Syed Salman Qadri Assistant Professor (CS) The Islamia University of Bahawalpur 1
  • 2. Introduction • Requirements form the basis for all software products • Requirements engineering is the process, which enables us to systematically determine the requirements for a software product 2
  • 3. Importance of Software Requirements • The hardest single part of building a software system is deciding what to build...No other part of the work so cripples the resulting system if done wrong. No other part is difficult to rectify later – Fred Brooks 3
  • 4. Examples of Requirements • The system shall maintain records of all payments made to employees on accounts of salaries, bonuses, travel/daily allowances, medical allowances, etc. 4
  • 5. Examples of Requirements • The system shall interface with the central computer to send daily sales and inventory data from every retail store 5
  • 6. Examples of Requirements • The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collections of transparencies, CD- ROMs, DVDs, etc. 6
  • 7. Examples of Requirements • The system shall allow users to search for an item by title, author, or by International Standard Book Number • The system’s user interface shall be implemented using a web browser 7
  • 8. Examples of Requirements • The system shall support at least twenty transactions per second • The system facilities which are available to public users shall be demonstrable in ten minutes or less 8
  • 9. Kinds of Software Requirements 9
  • 10. Kinds of Software Requirements • Functional requirements • Non-functional requirements • Domain requirements • Inverse requirements • Design and implementation constraints 10
  • 12. Functional Requirements • Statements describing what the system does. • Functionality of the system 12
  • 13. Functional Requirements • Statements of services the system should provide – Reaction to particular inputs – Behavior in particular situations 13
  • 14. Functional Requirements • Sequencing and parallelism are also captured by functional requirements • Abnormal behavior is also documented as functional requirements in the form of exception handling 14
  • 15. Functional Requirements • Functional requirements should be complete and consistent • Customers and developers usually focus all their attention on functional requirements 15
  • 16. Functional Requirements Example • The system shall solve a quadratic equation using the following formula x = (-b+sqrt(b2 – 4*a*c))/2*a 16
  • 17. Functional Requirements Example • The user shall be able to search either the entire database of patients or select a subset from it (admitted patients, or patients with asthma, etc.) 17
  • 18. Functional Requirements Example • The system shall provide appropriate viewers for the user to read documents in the document store 18
  • 19. Functional Requirements Example • Every order shall be allocated a unique identifier (ORDER_ID) which the user shall use to access that order 19
  • 20. Functional Requirements Example • The system shall allow customers to return non-perishable items within fifteen days of the purchase. A customer must present the original sale receipt to return an item 20
  • 21. Comments on Examples • Notice the level of detail in different requirements described above. Some are very detailed compared to others 21
  • 22. Comments on Examples • Notice the ambiguity in the requirement, which uses the term ‘appropriate viewers’ • This requirement does not mention the formats of documents and types of viewers, which can be used 22
  • 23. Comments on Examples • Notice the ambiguity in the requirement for solving the quadratic equation. The requirement does not speak about the possibility when the value of ‘a’ is zero x = (-b+sqrt(b2 – 4*a*c))/2*a 23
  • 24. Comments on Examples • Incomplete and ambiguous requirements are open to multiple interpretations and assumptions • This can lead to the development of poor quality, or faulty, software products 24
  • 25. Summary • Requirements form the basis of all software engineering projects • Functional requirements capture the behavioral aspects/functions of the proposed automated system • Functional requirements are the backbone of all software products 25
  • 26. 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 8th Edition, by I. Sommerville, 2008 • Software Engineering 5th Edition, by R. Pressman 26