SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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 Concepts
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

Contenu connexe

Tendances

System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1Boeun Tim
 
8.2 system analysis and design
8.2 system analysis and design8.2 system analysis and design
8.2 system analysis and designKhan Yousafzai
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2Gagan Deep
 
System Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU EthiopiaSystem Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU EthiopiaDebre Tabor University
 
CIS 2303 LO1: Introduction to System Analysis and Design
CIS 2303 LO1: Introduction to System Analysis and DesignCIS 2303 LO1: Introduction to System Analysis and Design
CIS 2303 LO1: Introduction to System Analysis and DesignAhmad Ammari
 
Systems Analysis
Systems AnalysisSystems Analysis
Systems AnalysisBli Wilson
 
Concepts of system analysis
Concepts of system analysisConcepts of system analysis
Concepts of system analysisALFIYA ALSALAM
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and designLOKESH KUMAR
 
Software Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMSoftware Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMNana Sarpong
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)United International University
 
Over view of system analysis and design
Over view of system analysis and designOver view of system analysis and design
Over view of system analysis and designSaroj Dhakal
 
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJONAHSAN RAJON
 
CIS 2303: System Planning Part 1
CIS 2303: System Planning Part 1CIS 2303: System Planning Part 1
CIS 2303: System Planning Part 1Ahmad Ammari
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADMFLYMAN TECHNOLOGY LIMITED
 
System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information Systemnayanav
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and DesignAamir Abbas
 
SYSTEM ANALYSIS AND DESIGN Assignment help
SYSTEM ANALYSIS AND DESIGN Assignment helpSYSTEM ANALYSIS AND DESIGN Assignment help
SYSTEM ANALYSIS AND DESIGN Assignment helpjohn mayer
 

Tendances (20)

System analyst and design
System analyst and designSystem analyst and design
System analyst and design
 
System Design and Analysis 1
System Design and Analysis 1System Design and Analysis 1
System Design and Analysis 1
 
8.2 system analysis and design
8.2 system analysis and design8.2 system analysis and design
8.2 system analysis and design
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2
 
System Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU EthiopiaSystem Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU Ethiopia
 
System design
System designSystem design
System design
 
CIS 2303 LO1: Introduction to System Analysis and Design
CIS 2303 LO1: Introduction to System Analysis and DesignCIS 2303 LO1: Introduction to System Analysis and Design
CIS 2303 LO1: Introduction to System Analysis and Design
 
Systems Analysis
Systems AnalysisSystems Analysis
Systems Analysis
 
Concepts of system analysis
Concepts of system analysisConcepts of system analysis
Concepts of system analysis
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Software Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMSoftware Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADM
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)
 
Over view of system analysis and design
Over view of system analysis and designOver view of system analysis and design
Over view of system analysis and design
 
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON01 isad-information system analysis and design intro by S. A. AHSAN RAJON
01 isad-information system analysis and design intro by S. A. AHSAN RAJON
 
CIS 2303: System Planning Part 1
CIS 2303: System Planning Part 1CIS 2303: System Planning Part 1
CIS 2303: System Planning Part 1
 
System Analysis and Design Program
System Analysis and Design ProgramSystem Analysis and Design Program
System Analysis and Design Program
 
Structure system analysis and design method -SSADM
Structure system analysis and design method -SSADMStructure system analysis and design method -SSADM
Structure system analysis and design method -SSADM
 
System Analysis And Design Management Information System
System Analysis And Design Management Information SystemSystem Analysis And Design Management Information System
System Analysis And Design Management Information System
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
SYSTEM ANALYSIS AND DESIGN Assignment help
SYSTEM ANALYSIS AND DESIGN Assignment helpSYSTEM ANALYSIS AND DESIGN Assignment help
SYSTEM ANALYSIS AND DESIGN Assignment help
 

Similaire à Introducing systems analysis, design & development Concepts

Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Developmentbsadd
 
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 LineImaginet
 
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
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process modelSilicon Straits
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationBlue Elephant Consulting
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
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
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5SSW
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applicationsnadeembtech
 
Building a custom cms with django
Building a custom cms with djangoBuilding a custom cms with django
Building a custom cms with djangoYann Malet
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine JonesJisc RDM
 
Topic production code
Topic production codeTopic production code
Topic production codeKavi Kumar
 

Similaire à Introducing systems analysis, design & development Concepts (20)

Introducing Systems Analysis Design Development
Introducing Systems Analysis Design DevelopmentIntroducing Systems Analysis Design Development
Introducing Systems Analysis Design Development
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
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
 
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
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process model
 
Lo 20
Lo 20Lo 20
Lo 20
 
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
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5A modern architecturereview–usingcodereviewtools-ver-3.5
A modern architecturereview–usingcodereviewtools-ver-3.5
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Introduction
IntroductionIntroduction
Introduction
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applications
 
Building a custom cms with django
Building a custom cms with djangoBuilding a custom cms with django
Building a custom cms with django
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
 
Topic production code
Topic production codeTopic production code
Topic production code
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 

Dernier

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 

Dernier (20)

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 

Introducing systems analysis, design & development Concepts

  • 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.
  • 9. And… Is that Hebrew? You don’t understand your own 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