SlideShare a Scribd company logo
Introducing
Systems Analysis, Design &
Development Concepts
Shafiul Azam Chowdhury
Task: Build a Simplest Accounting S/W
• You’ve been offered to build a very basic
accounting software for Bangoo Banks Inc.
– You’ll need to collaborate with 3-4 other
developers.
– You’ll receive handsome amount of cash for full
functional software!
– Deadline: very, very strict. Say, couple of months?
What are you going to do?
• Divide the total project in visible sections, say:
– User Accounts
– Human Resource
– Accounting
– Etc…
• And started asking questions to your clients
how they want the program behave, design
database…
All four developers started coding as
fast as you can to maintain deadline.
After some days… you felt like
integrating your works?
• But you figured out you need a change in some
part, you could change it, but others’ code can
break?
• You hardly understand what your friend means by
variable baln or function register()
• Your disc crashed and your codes are gone?
• You’ve created too many folders like code_old
code_working, code_new2, code_final… now
what?
• How do you merge everybody’s code to a full-
functional system?
Messed Up?
• Without putting your code in a function, you just wrote
it down, thinking, “Hey, I’ll not use this code anywhere
else! So Why do I need to put it in a function or class?”
• But, you never know…
– Client may change his mind
– New functionalities may appear in future
– And you’re very likely to duplicate same codes.
– Man is mortal. To fix buggy codes you’ll need to investigate
your whole project number of times you copy-pasted same
code.
• Hard to find bugs. 
Software Evolves…
• If your software is usable, it will have changes
in it and have future releases.
• Clients will add new features, or users will
want changes.
After some days, you’re about to bring
some changes in your code.
And…
Is that
Hebrew?
You don’t
understand your
own code 
If you don’t practice standards, it’ll be very,
very difficult to maintain the project later.
So What are
best practices?
Software Development Life Cycle
Introducing SADD
• Systems…
– Step 1: Analysis
– Step 2: Design
– Step 3: Development
• Step 4: Evolve! Back to step 1
First Step: Systems Analysis
• Known as Requirement Analysis
• Extract information from your clients on what
the software is supposed to do.
• Place them on SRS Cards
• Useful to understand the total scope of
application, defining priority and leads to
modular design.
Sample Requirement Analysis
for some Alumni Website…
SRS (Software Requirement Specification)
Cards for Requirement Analysis
Step 2: Design your system
• Once you’re done with analysis, design it.
• The great majority of the types of errors found
in testing the code had originated in the
design phase
– See figure in next slide.
Systems Design
• Following Design Patterns
– Why reinvent the wheel?
• Modular Design
– Loosely coupled code
– Easy to extend your program
– Code less. Reuse your code
• Build Wireframes
• Follow Single Responsibility Principle
Building Wireframe
• Create Mock-up/prototype of your application
before starting coding.
– Can be built using GUI tools very rapidly
– Client can know how your application will look
like/interact with users.
– Non functional.
Wireframe Tools
Single Responsibility Principle
Development: Teamwork
Code Green. Test Units.
Documentation
• You alone are not coding
– Others will work with your code
– You will work with other’s code.
• Provide Documentation
Take help of Development Tools
• You figured out you need a change in some
part, you could change it, but others’ code
can break?
• You hardly understand what your friend
means by variable baln or function
register()
• Your disc crashed and your codes are gone?
• You’ve created too many folders like
code_old code_working, code_new2,
code_final… now what?
• How do you merge everybody’s code to a
full-functional system?
Understanding Your Responsibility
You need to
work with a
lot of people!
Project Management Tools
• Coding is not your only responsibility.
– Issues are assigned to you by your Project
Manager
– Bug fixing tasks assigned to you
– You fix code and re-assign it to Tester.
• To simplify all these, various Tools are
available.
– Using these tools guarantee standards.
Tools: Revision Controlling
• Git is a powerful distributed version
controlling system.
– Stores complete history of your source code at
different stages of project life cycle.
– Easy merging of everyone’s copy of work.
– Distributed.
Project Management Tools
• Project Management applications come with
rich features like
– Role Management (PM, Tester, Designer,
Programmer,…)
– Bugs Reporting
– Issue Tracking & Assigning
– Gaunt Charts for schedule management
– Documentation
Tools: Gaunt Chart
Thank You!
• Presentation prepared by
– Shafiul Azam Chowdhury
– Student, CSE, BUET
– http://shafiul.users.sf.net
References
• http://mixergy.com/wp-content/uploads/fast-typing.jpg
• http://www.confessionsofaphotoshopnerd.com/storage/Confessions%20of%20a%20photoshop%2
0nerd.jpg?__SQUARESPACE_CACHEVERSION=1294205000507
• http://www.fgsd.com.au/wp-content/uploads/2011/09/Software-Policies-Processes.jpg
• http://en.wikipedia.org/wiki/Systems_development_life-cycle
• http://sunset.usc.edu/csse/TECHRPTS/1975/usccse75-501/usccse75-501.pdf
• http://farm6.static.flickr.com/5227/5643033953_9b542af5a1.jpg
• www.jsu.edu/mcis/docs/SRSSample.doc
• http://cdn.seomoz.org/images/upload/axure-wireframe.gif
• http://www.re-vision.com/webwork/p27wireframes/drawing_small.jpg
• http://elegantcode.com/2008/12/22/single-responsibility-principle/
• http://www.emqube.com/images/side_team.jpg
• http://www.bluecollarobjects.com/pub/Main/TestDrivenDevelopment/RedGrenRefactorTight.jpg
• http://www.agilemodeling.com/images/generalizingSpecialistsTaylorism.jpg
• http://home.snc.edu/eliotelfner/333/pictures/Gantt.gif

More Related Content

What's hot

Chapter 1
Chapter 1Chapter 1
Chapter 1
afifahnailah
 
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
 
Importance of the quality of code
Importance of the quality of codeImportance of the quality of code
Importance of the quality of code
Shwe Yee
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
DicodingEvent
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
Søren Lund
 
Code review an approach
Code review an approachCode review an approach
Code review an approach
Steve Essich
 
An Evaluation of Pair Programming Practice
An Evaluation of Pair Programming PracticeAn Evaluation of Pair Programming Practice
An Evaluation of Pair Programming Practice
Kranthi Lakum
 
CS 584 - Aligning development tools with the way programmers think about code...
CS 584 - Aligning development tools with the way programmers think about code...CS 584 - Aligning development tools with the way programmers think about code...
CS 584 - Aligning development tools with the way programmers think about code...
Sergii Shmarkatiuk
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
Freddy Munandar
 
Tdd 4 everyone full version
Tdd 4 everyone full versionTdd 4 everyone full version
Tdd 4 everyone full version
Lior Israel
 
Language-Oriented Business Applications
Language-Oriented Business ApplicationsLanguage-Oriented Business Applications
Language-Oriented Business Applications
Markus Voelter
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developers
BBVA API Market
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
3Quill Softwares
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
Markus Voelter
 
Code Quality
Code QualityCode Quality
Code Quality
François Camus
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
Lars Thorup
 
Version control for PL/SQL
Version control for PL/SQLVersion control for PL/SQL
Version control for PL/SQL
Gerger
 

What's hot (20)

Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Is your code SOLID enough?
 Is your code SOLID enough? Is your code SOLID enough?
Is your code SOLID enough?
 
Importance of the quality of code
Importance of the quality of codeImportance of the quality of code
Importance of the quality of code
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
 
Code review an approach
Code review an approachCode review an approach
Code review an approach
 
An Evaluation of Pair Programming Practice
An Evaluation of Pair Programming PracticeAn Evaluation of Pair Programming Practice
An Evaluation of Pair Programming Practice
 
CS 584 - Aligning development tools with the way programmers think about code...
CS 584 - Aligning development tools with the way programmers think about code...CS 584 - Aligning development tools with the way programmers think about code...
CS 584 - Aligning development tools with the way programmers think about code...
 
Software architecture introduction
Software architecture introductionSoftware architecture introduction
Software architecture introduction
 
Tdd 4 everyone full version
Tdd 4 everyone full versionTdd 4 everyone full version
Tdd 4 everyone full version
 
Language-Oriented Business Applications
Language-Oriented Business ApplicationsLanguage-Oriented Business Applications
Language-Oriented Business Applications
 
Programming tools for developers
Programming tools for developersProgramming tools for developers
Programming tools for developers
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
 
Code Quality
Code QualityCode Quality
Code Quality
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 
Version control for PL/SQL
Version control for PL/SQLVersion control for PL/SQL
Version control for PL/SQL
 

Viewers also liked

REST -Web services
REST -Web servicesREST -Web services
REST -Web services
bsadd
 
Hello Git
Hello GitHello Git
Hello Git
bsadd
 
Server deployment
Server deploymentServer deployment
Server deploymentbsadd
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 
Bsadd Project Idea & Platform
Bsadd Project Idea & PlatformBsadd Project Idea & Platform
Bsadd Project Idea & Platformbsadd
 
Session On Mockups
Session On MockupsSession On Mockups
Session On Mockups
bsadd
 

Viewers also liked (7)

REST -Web services
REST -Web servicesREST -Web services
REST -Web services
 
Hello Git
Hello GitHello Git
Hello Git
 
Server deployment
Server deploymentServer deployment
Server deployment
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
 
Patacas ana
Patacas anaPatacas ana
Patacas ana
 
Bsadd Project Idea & Platform
Bsadd Project Idea & PlatformBsadd Project Idea & Platform
Bsadd Project Idea & Platform
 
Session On Mockups
Session On MockupsSession On Mockups
Session On Mockups
 

Similar to Introducing Systems Analysis Design Development

Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
Shafiul Azam Chowdhury
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
Maven Logix
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
SanskarBhushankar
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
Imaginet
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
Jisc RDM
 
Lo 20
Lo 20Lo 20
Lo 20
liankei
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
aligarhking
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
Blue Elephant Consulting
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
KarumuriJayasri
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
Alexandru Bolboaca
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
Alexandru Bolboaca
 
Software engineering
Software engineeringSoftware engineering
Software engineering
DivyaSharma458
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptHitesh Kumar
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 

Similar to Introducing Systems Analysis Design Development (20)

Introducing systems analysis, design & development Concepts
Introducing systems analysis, design & development ConceptsIntroducing systems analysis, design & development Concepts
Introducing systems analysis, design & development Concepts
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
 
Lo 20
Lo 20Lo 20
Lo 20
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Agile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_pptAgile_SDLC_Node.js@Paypal_ppt
Agile_SDLC_Node.js@Paypal_ppt
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

Introducing Systems Analysis Design Development

  • 1. Introducing Systems Analysis, Design & Development Concepts Shafiul Azam Chowdhury
  • 2. Task: Build a Simplest Accounting S/W • You’ve been offered to build a very basic accounting software for Bangoo Banks Inc. – You’ll need to collaborate with 3-4 other developers. – You’ll receive handsome amount of cash for full functional software! – Deadline: very, very strict. Say, couple of months?
  • 3. What are you going to do? • Divide the total project in visible sections, say: – User Accounts – Human Resource – Accounting – Etc… • And started asking questions to your clients how they want the program behave, design database…
  • 4. All four developers started coding as fast as you can to maintain deadline.
  • 5. After some days… you felt like integrating your works? • But you figured out you need a change in some part, you could change it, but others’ code can break? • You hardly understand what your friend means by variable baln or function register() • Your disc crashed and your codes are gone? • You’ve created too many folders like code_old code_working, code_new2, code_final… now what? • How do you merge everybody’s code to a full- functional system?
  • 6. Messed Up? • Without putting your code in a function, you just wrote it down, thinking, “Hey, I’ll not use this code anywhere else! So Why do I need to put it in a function or class?” • But, you never know… – Client may change his mind – New functionalities may appear in future – And you’re very likely to duplicate same codes. – Man is mortal. To fix buggy codes you’ll need to investigate your whole project number of times you copy-pasted same code. • Hard to find bugs. 
  • 7. Software Evolves… • If your software is usable, it will have changes in it and have future releases. • Clients will add new features, or users will want changes.
  • 8. After some days, you’re about to bring some changes in your code.
  • 10. If you don’t practice standards, it’ll be very, very difficult to maintain the project later. So What are best practices?
  • 12. Introducing SADD • Systems… – Step 1: Analysis – Step 2: Design – Step 3: Development • Step 4: Evolve! Back to step 1
  • 13. First Step: Systems Analysis • Known as Requirement Analysis • Extract information from your clients on what the software is supposed to do. • Place them on SRS Cards • Useful to understand the total scope of application, defining priority and leads to modular design.
  • 14. Sample Requirement Analysis for some Alumni Website…
  • 15. SRS (Software Requirement Specification) Cards for Requirement Analysis
  • 16. Step 2: Design your system • Once you’re done with analysis, design it. • The great majority of the types of errors found in testing the code had originated in the design phase – See figure in next slide.
  • 17.
  • 18. Systems Design • Following Design Patterns – Why reinvent the wheel? • Modular Design – Loosely coupled code – Easy to extend your program – Code less. Reuse your code • Build Wireframes • Follow Single Responsibility Principle
  • 19. Building Wireframe • Create Mock-up/prototype of your application before starting coding. – Can be built using GUI tools very rapidly – Client can know how your application will look like/interact with users. – Non functional.
  • 24. Documentation • You alone are not coding – Others will work with your code – You will work with other’s code. • Provide Documentation
  • 25. Take help of Development Tools • You figured out you need a change in some part, you could change it, but others’ code can break? • You hardly understand what your friend means by variable baln or function register() • Your disc crashed and your codes are gone? • You’ve created too many folders like code_old code_working, code_new2, code_final… now what? • How do you merge everybody’s code to a full-functional system?
  • 26. Understanding Your Responsibility You need to work with a lot of people!
  • 27. Project Management Tools • Coding is not your only responsibility. – Issues are assigned to you by your Project Manager – Bug fixing tasks assigned to you – You fix code and re-assign it to Tester. • To simplify all these, various Tools are available. – Using these tools guarantee standards.
  • 28. Tools: Revision Controlling • Git is a powerful distributed version controlling system. – Stores complete history of your source code at different stages of project life cycle. – Easy merging of everyone’s copy of work. – Distributed.
  • 29. Project Management Tools • Project Management applications come with rich features like – Role Management (PM, Tester, Designer, Programmer,…) – Bugs Reporting – Issue Tracking & Assigning – Gaunt Charts for schedule management – Documentation
  • 31. Thank You! • Presentation prepared by – Shafiul Azam Chowdhury – Student, CSE, BUET – http://shafiul.users.sf.net
  • 32. References • http://mixergy.com/wp-content/uploads/fast-typing.jpg • http://www.confessionsofaphotoshopnerd.com/storage/Confessions%20of%20a%20photoshop%2 0nerd.jpg?__SQUARESPACE_CACHEVERSION=1294205000507 • http://www.fgsd.com.au/wp-content/uploads/2011/09/Software-Policies-Processes.jpg • http://en.wikipedia.org/wiki/Systems_development_life-cycle • http://sunset.usc.edu/csse/TECHRPTS/1975/usccse75-501/usccse75-501.pdf • http://farm6.static.flickr.com/5227/5643033953_9b542af5a1.jpg • www.jsu.edu/mcis/docs/SRSSample.doc • http://cdn.seomoz.org/images/upload/axure-wireframe.gif • http://www.re-vision.com/webwork/p27wireframes/drawing_small.jpg • http://elegantcode.com/2008/12/22/single-responsibility-principle/ • http://www.emqube.com/images/side_team.jpg • http://www.bluecollarobjects.com/pub/Main/TestDrivenDevelopment/RedGrenRefactorTight.jpg • http://www.agilemodeling.com/images/generalizingSpecialistsTaylorism.jpg • http://home.snc.edu/eliotelfner/333/pictures/Gantt.gif