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.
Introducing Systems Analysis Design Development
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
Ad

Recommended

Reducing Technical Debt
Reducing Technical Debt
Hayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
Hayim Makabee
 
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Joseph Yoder
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
Hayim Makabee
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
Hayim Makabee
 
“One man” development process model
“One man” development process model
Silicon Straits
 
Code Inspection
Code Inspection
Fáber D. Giraldo
 
Chapter 1
Chapter 1
afifahnailah
 
Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
 
Importance of the quality of code
Importance of the quality of code
Shwe Yee
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
DicodingEvent
 
Documenting code yapceu2016
Documenting code yapceu2016
Søren Lund
 
Code review an approach
Code review an approach
Steve Essich
 
An 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...
Sergii Shmarkatiuk
 
Software architecture introduction
Software architecture introduction
Freddy Munandar
 
Tdd 4 everyone full version
Tdd 4 everyone full version
Lior Israel
 
Language-Oriented Business Applications
Language-Oriented Business Applications
Markus Voelter
 
Programming tools for developers
Programming tools for developers
BBVA API Market
 
Best Practices - Software Engineering
Best Practices - Software Engineering
3Quill Softwares
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
Markus Voelter
 
Code Quality
Code Quality
François Camus
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Introduction to Automated Testing
Introduction to Automated Testing
Lars Thorup
 
Version control for PL/SQL
Version control for PL/SQL
Gerger
 
REST -Web services
REST -Web services
bsadd
 
Hello Git
Hello Git
bsadd
 
Server deployment
Server deployment
bsadd
 
BSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 

More Related Content

What's hot (17)

Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
 
Importance of the quality of code
Importance of the quality of code
Shwe Yee
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
DicodingEvent
 
Documenting code yapceu2016
Documenting code yapceu2016
Søren Lund
 
Code review an approach
Code review an approach
Steve Essich
 
An 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...
Sergii Shmarkatiuk
 
Software architecture introduction
Software architecture introduction
Freddy Munandar
 
Tdd 4 everyone full version
Tdd 4 everyone full version
Lior Israel
 
Language-Oriented Business Applications
Language-Oriented Business Applications
Markus Voelter
 
Programming tools for developers
Programming tools for developers
BBVA API Market
 
Best Practices - Software Engineering
Best Practices - Software Engineering
3Quill Softwares
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
Markus Voelter
 
Code Quality
Code Quality
François Camus
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Introduction to Automated Testing
Introduction to Automated Testing
Lars Thorup
 
Version control for PL/SQL
Version control for PL/SQL
Gerger
 
Is your code SOLID enough?
Is your code SOLID enough?
SARCCOM
 
Importance of the quality of code
Importance of the quality of code
Shwe Yee
 
tantangan menjadi developer di abad 21
tantangan menjadi developer di abad 21
DicodingEvent
 
Documenting code yapceu2016
Documenting code yapceu2016
Søren Lund
 
Code review an approach
Code review an approach
Steve Essich
 
An 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...
Sergii Shmarkatiuk
 
Software architecture introduction
Software architecture introduction
Freddy Munandar
 
Tdd 4 everyone full version
Tdd 4 everyone full version
Lior Israel
 
Language-Oriented Business Applications
Language-Oriented Business Applications
Markus Voelter
 
Programming tools for developers
Programming tools for developers
BBVA API Market
 
Best Practices - Software Engineering
Best Practices - Software Engineering
3Quill Softwares
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
Markus Voelter
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
Malinda Kapuruge
 
Introduction to Automated Testing
Introduction to Automated Testing
Lars Thorup
 
Version control for PL/SQL
Version control for PL/SQL
Gerger
 

Viewers also liked (7)

REST -Web services
REST -Web services
bsadd
 
Hello Git
Hello Git
bsadd
 
Server deployment
Server deployment
bsadd
 
BSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 
Bsadd Project Idea & Platform
Bsadd Project Idea & Platform
bsadd
 
Session On Mockups
Session On Mockups
bsadd
 
REST -Web services
REST -Web services
bsadd
 
Hello Git
Hello Git
bsadd
 
Server deployment
Server deployment
bsadd
 
BSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 
Bsadd Project Idea & Platform
Bsadd Project Idea & Platform
bsadd
 
Session On Mockups
Session On Mockups
bsadd
 
Ad

Similar to Introducing Systems Analysis Design Development (20)

Introducing 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
Maven Logix
 
SE 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 Line
Imaginet
 
Research software identification - Catherine Jones
Research software identification - Catherine Jones
Jisc RDM
 
Lo 20
Lo 20
liankei
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
Sdlc model
Sdlc model
aligarhking
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
Blue Elephant Consulting
 
Agile Software Development
Agile Software Development
Ahmet Bulut
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdf
KarumuriJayasri
 
Introduction to Software Engineering & Project Management.pdf
Introduction to Software Engineering & Project Management.pdf
yogeshgehlot987
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
unit 1 introudction of the file and sepm
unit 1 introudction of the file and sepm
rajaramvijayakumarma
 
Usable Software Design
Usable Software Design
Alexandru Bolboaca
 
Raising the Bar
Raising the Bar
Alexandru Bolboaca
 
Software engineering
Software engineering
DivyaSharma458
 
Coding - SDLC Model
Coding - SDLC Model
Amity University | FMS - DU | IMT | Stratford University | KKMI International Institute | AIMA | DTU
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Quality Software Development
Quality Software Development
Srinivasan Hariharan
 
Introducing 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
Maven Logix
 
How 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 Jones
Jisc RDM
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
Blue Elephant Consulting
 
Agile Software Development
Agile Software Development
Ahmet Bulut
 
Introduction to Software Engineering & Project Management.pdf
Introduction to Software Engineering & Project Management.pdf
yogeshgehlot987
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
unit 1 introudction of the file and sepm
unit 1 introudction of the file and sepm
rajaramvijayakumarma
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Ad

Recently uploaded (20)

The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 

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.
  • 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