Вы находитесь на странице: 1из 11

APPLICATION DEVELOPMENT

SPRING 2020
BS CS Elective

SLDC
Dr. Ahmad Kazmi
Department of Computer Science
Faculty of Information Technology
March 24, 2020
Application Development: Lecture 5:
SDLC
• Class Work # 2 Code was Due Before Today’s Class 11 am Tue March 24
• Today:
• Software Design Life Cycle
• Application on Class Work # 1
• Agile Process Models
• Application on Class Work # 1

3/24/2020 UCP Spring 2020 Application Development 2


Software Design Life Cycle (using Class Work 1)
Idea  concept doc
• User management
Software

Non-Functional Requirements:
Requirements Engineering  software • File will in Plain ASCII
requirement specifications (SRS) Doc Text
Business Requirements • Menu will be Command
• Software to manage various Line
types of users and their
functionalities
Functional Requirements
User Requirements • User Data will be Saved in a File
• Software that manages 2 Types • User Data will be Read from a
of Users File
• All users need to Register and • User data will be Kept in a Data
Login Structure
• Regular User can print Own Info • For Registration and Login, user
• Admin user can Login as any user will be searched by ID
and Print any user Info • Menu
• Menu
3/24/2020 UCP Spring 2020 Application Development 3
Software Design Life Cycle (using Class Work 1)
Design  Design Document
• Number of Classes Deployment  Installation and User
• Relationships Among Classes Guide
• Attributes ad Functions of Classes • Installation of the
• User Interface Design Application
• Database Design • System Test the Deployed
Application

Develop (coding)  Source and Compiled Maintenance  Update User Guide


Code • Fixing Bugs
• Write Code for each Class • Enhancing:
• Write Unit Test for Each Class • Graphical Menu
• User data in Database
Testing  Test Plan, Test Report
• Write and Code Integration Tests
• Write and Code Test Cases Retire  Archive
• Using cloud Services
• Write and Code Acceptance test
• Application is no Longer Needed
• Execute All Tests
• Fix Issues and Bugs
•3/24/2020
Regression Test UCP Spring 2020 Application Development 4
Agile Process Models
• No processes Main Features
• Focus is on individuals and interactions • Rapid delivery of working software
• Intermediate products are not important
 Software Engineers Talk to each Other • Customer is part of the team
• No Comprehensive Document Principals
• Focus is on working software • Satisfy customer through early, frequent and
 Code That Works is the Document continuous (sustained) delivery.
• Change anytime to meet customer time to
• No contract with the customer market
• Collaborations with customer • Customer and developers are part of the same
team
 Customer is Part of the Project Team • Motivated individuals who can be trusted to do
• No formal Plan the job
• Face to face talk
• Respond to change
• Software is working means progress
 Customer Adds Requirement, Team • Continuous good design and technical excellence
Implements • Teams are self organizing and evolving

3/24/2020 UCP Spring 2020 Application Development 5


Agile Process Models
Advantages When Applicable
• Customer Satisfaction • Short development cycle (3-6
• Quick time to market months)
• Least documentation • Agile culture Exists
• Customer is available and
Disadvantages cooperative through out
• Agile culture is a learning curve • Small group
• Customer may not be willing or • Co-location of the team
available
• Business application
• Team Co-location requirement
• New development (why?)
• Software Architecture and design
expertise are required • Rapid Application Development
(RAD) environment
• No project management may result
in poor quality software

3/24/2020 UCP Spring 2020 Application Development 6


Extreme Programming: An Agile

Method
Use Stories
• Prioritize • Simple
• Cost? • No Extras
• Select • CRC
Stories PLANNING DESIGN • Complex
• Priority • Prototype
• Risk

• Test First
• Unit Tests
• Automat CODING • Pass Test
• Acceptance TESTING
• Pair
Test • Refactor
• Integrate
3/24/2020 UCP Spring 2020 Application Development • Code a Bit
• Test a Bit 7
Extreme Programming: Class Work 1
1. User Enter Info to Register
1. Error Message if User Already
Exists #1 is Story 1 Story 1 (1 weeks)
PLANNING #2 is Story 2 Story 2 (2 week)
2. User Info is saved
2. User Enter ID, Password to Login #3 is Story 4 Story 4 (1 week)
1. Error Message if User Does not #4 is Story 3 Story 3 (2 week)
Exists
2. Error Message if User ID or
Password Incorrect Story 2 (2 week)
3. Success Message if User Id & Story 2.1: Regular User
Password are Correct (1 weeks)
3. User Prints Info Story 2.2: Admin User
1. Error Message if User Does not (1 weeks)
Exists (Not Registered)
2. Error Message if User is Not
Logged In
3. Print User Info on Screen
Stories 1, 2
4. Menu
(High Risk)

3/24/2020 UCP Spring 2020 Application Development

8
Extreme Programming: Class Work 1
• User – User Contact Data
DESIGN
• User – User Login Data

• Number of Classes
• Relationships Among Classes
• Attributes ad Functions of Classes
• User Interface Design
• Database Design
Prototype for Admin Login

3/24/2020 UCP Spring 2020 Application Development

9
Extreme Programming: Class Work 1
• Test for User Registration
CODING
• Test for User (Regular & Admin) • 2 Persons Design and Build User
Registration
Login • 2 Persons Design and Build User Login
• Test for Print Info (Regular & • 1 Person Designs and Builds Print Info
Admin) Functionality
• 1 Person Designs and Builds Menu
• Test for Reading User data from
File
• Test for Writing User data to File

Test all modules of all


intermediate and completed
Code
E.G. test Admin Login

3/24/2020 UCP Spring 2020 Application Development

10
Extreme Programming: Class Work 1
TESTING • Test If User Registers Correctly

• User a Test Framework to write • Test if User Logs In Correctly

Auto tests • Test if User Prints Correctly


• Write Acceptance test for user
• Test Menu is working
Management Functionality

3/24/2020 UCP Spring 2020 Application Development

11

Вам также может понравиться