KEMBAR78
S24 SDA Lecture 1 | PDF | Software Testing | Software Development Process
0% found this document useful (0 votes)
52 views23 pages

S24 SDA Lecture 1

Uploaded by

hashir.afzal1999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views23 pages

S24 SDA Lecture 1

Uploaded by

hashir.afzal1999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Software

Design & Architecture


Lecture 1

SESD-2222
SPRING 2024

Madiha Yousaf Malik


madiha.yousaf@ucp.edu.pk
Office: Cabin #5, C-Block
OFFICE HOURS: Monday : 10:00 AM- 01:00 PM
Tuesday: 10:00 AM- 01:00 PM
Today’s Agenda
 Course Introduction
 Course Guidelines
 Grading Policy
 A Quick Revision of Software Process
 SDLC Phases
 Example of SDLC Phases
 Software Process Models
Guidelines

 The course outline is tentative.


 Evaluation will be based on all class discussions,
handouts, recommended readings, slides etc.
 Active participation is required.
 Announcements etc. will be made via Portal
Plagiarism
 All the parties involved will be awarded Zero in first instance. Repeat of the
same offense will result in (F) grade.
 USE PROPER REFERENCING IF ANY MATERIAL TAKEN FROM SOME WEB
SOURCE/Book.
“When you have wit of your own, it's a pleasure to credit other people for theirs.”
― Criss Jami, Killosophy
Tentative Grading Criteria

Class Participation/Activities 10%


Quizzes (Announced +Unannounced) (8) 15%
Assignments (6-8) 15%
Midterm Exam 20%
Final Exam 40%
Class Rules
 Attendance will be taken within first 10 minutes of the start of class. All students
coming after 10 minutes will be marked as late. A student being absent from class for
whatsoever reason will be marked as absent. For medical leaves you can contact
Dean/HOD office.
 No retakes of quizzes in any case.
 Assignments should be submitted on time. Late Submission Policy:
 24 hours late with 25% deduction in marks
 48 hours late with 50% deduction in marks
 More than 48 hours, 100% deduction

 Assignments must be submitted via portal only. Emailed submissions will not be
accepted in any case.
8
Text Book
• Some textbooks may be helpful :
• Recommended Text Book:
– Software Engineering, A Practitioner’s Approach, Pressman R.
S.& Maxim B. R., 8th Edition (2015), McGraw-Hill.
– Reference Book:
– Software Architecture and Design Illuminated, Kai Qian, Xiang
Fu, Lixin Tao, Chong-Wei Xu, Jorge L. Diaz-Herrera, Jones and
Bartlett Publishers
– SAMS Teach Yourself UML in 24 Hours, 3rd Edition by Joseph
Schmuller
Let’s have a quick revision
Software Process

• Review Software Process


• SDLC Phases
11
Main Phases of Software Process
 Requirements Analysis (answers “WHAT?”)
 Specifying what the application must do
 Design (answers “HOW?”)
 Specifying what the parts will be, and how they will fit
together
 Implementation (A.K.A. “CODING”)
 Writing the code
 Testing (type of VERIFICATION)
 Executing the application with test data for input
 Maintenance (REPAIR or ENHANCEMENT)
 Repairing defects and adding capability
12
SDLC Phase 1: Requirement Analysis
 The process of understanding what’s needed or wanted, and
expressing the results in writing
 Key Challenges of Requirement analysis ???
13
Key Challenges: Requirement Analysis

 Stakeholder issues
 Engineer/developer issues
 The management issues
 The expert issues
 The budget issues
 The planning issues
 The novelty issues
14
SDLC Phase 2: Design
 The design of an application expresses how the application is to be
constructed.
 It describes the parts involved and how they are to assembled.
 It consists of a set of documents (diagrams and text)
15
SDLC Phase 3: Implementation
 In the form of coding
 Code only against a design
 Before compiling, satisfy yourself that the code you have typed is
correct. Read it thoroughly.
 ‘correct’ means that is satisfies what’s required of it
 This is “author-inspection” (What is it???)

Author Inspection:
Inspect and edit the block of code you have just written until you are
convinced it does exactly what it is meant to do. Only then compile it.
16
SDLC Phase 3: Implementation (Cont...)

Build-a-little-Test-a-little (Rule)
 Add a relatively small amount of code (“build-a-little”)
 (Again): Read what you have typed and correct it if necessary until
you are totally satisfied it’s correct
 Compile
 Test the new functionality (“test-a-little”)
17
SDLC Phase 4: Testing
 The testing phase consists of supplying input to the
application and comparing the output with that mandated by
the software requirements specification.
 Helps to uncover defects
 Proves the presence of defects, but never their absence
 Types of Testing: Black-Box Testing, White-Box Testing
18 SDLC Phase 4: Testing (Cont...)

Tips on Testing
 Test early and often
 Test with extreme values
– Very small, very big, etc.
– Borderline
– “Illegal” values
 Vary test cases
– Don’t repeat tests with same test
data except when specifically
intended
19
SDLC Phase 5: Maintenance
 Maintenance refers to the work performed on the application that
occurs after it has been delivered.

Types of maintenance
 Corrective (Defect Removal)
Finding and fixing all inconsistencies with the requirements
document
 Perfective (Enhancement)
Introducing new or improved capability
 Adaptive
Adapts software to new environment
 Preventive
Changing some aspect of the system to prevent failures
20
Software Process Phases Example
Personal Finance Example:
1. Requirements Analysis: Diagrams and text
The application shall display the balance in the user’s bank account.

2. Design: Diagrams and text


The design will consist of the classes CheckingAccount, Savings Account etc.

3. Implementation: Source code


class Checking Account{ double balance; … }

4. Testing: Test cases and test results


With test case: the balance was $2938.22, which is correct.

5. Maintenance: Modified design, code, and text


– e.g., Defect repair: “Application crashes when balance is
$0 and attempt is made to withdraw funds. …”
– e.g., Enhancement: “Allow operation with £.”
21
The Waterfall Software Process
22 The Spiral Process Model
Activity
1. One way to raise system availability would be to lower the mean time
to repair. Indicate whether the statement is true or false.

2. Indicate whether the statement is true or false. When defining


objectives in the analyze phase, you are attempting to determine
what characteristics of the process need to be changed to achieve
improvement.

3. You are a project manager for a software development company. Your


company recently acquired a software development contract to
develop software that potentially will tie into a global supply chain
system for a manufacturing company. The manufacturing company
operates in the United States, Poland, and Mexico. You need to work
with a number of users in these counties. What software process will
you use and why? Why will you not use the other software processes
or methodologies? Explain.

You might also like