SlideShare a Scribd company logo
Software Tutorial (unplugged) Check out Moodle for  Design Assignment 1 ! GOAL: validate a good DESIGN, then map your DESIGN into CODE…
Before FRIDAY NIGHT… ,[object Object],[object Object],[object Object]
Objectives ,[object Object],[object Object],[object Object]
The Mythical Man Month ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Artifacts  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Land traffic Sea traffic Boat waiting Boat through
In your Communication’s Text… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ROUGHLY mapping these steps… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Finishing Touches? ,[object Object],[object Object],[object Object],[object Object]
WaterFall Model ,[object Object],[object Object]
WICKED! ,[object Object],[object Object],[object Object]
Sashimi Model ,[object Object],[object Object],[object Object]
Cool, but not what you are doing! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Finite State Machines ,[object Object],[object Object],[object Object],[object Object]
Eg., Describe the System and Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Draw the FSM diagram  ,[object Object]
Sequence Diagrams ,[object Object],[object Object]
Call diagram for Sample Program getName getAstrologicalSign getHoroscope sign horoscope name sign getBirthMonth getBirthDay main month day
Flow Charts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Flow Charts
Greencard?
User Interfaces?
Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What to hand in? ,[object Object],[object Object],[object Object],[object Object]
What? When? Where? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Details ,[object Object],[object Object],[object Object],car traffic boat traffic boat waiting boat through
Step 1 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Step 2 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Step 3 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Bridge Simulator Software ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FSM ,[object Object],while(true) {              switch(  <current state>  ) {                case(  <state 1>  ):                        //more here…                        break;             case(  <state 2>  ):                        //more here…                         break; //more cases?                default:                       //invalid state!!!              }                 }
Debug Mode:  Step and Modify Data ,[object Object],[object Object],[object Object],[object Object],[object Object]
Enumerated types and structs! ,[object Object],//FSM states typedef enum {          CARS  = 0,          BOATS  = 1   } T_bridge_state; //Positions for gates/bridges typedef enum {          DOWN = 0,          UP   = 1   } T_position; //States and transitions for a bridge system   typedef struct {    T_position gate;          T_position bridge;          //system state          T_bridge_state system_state; //… more here!!! } T_bridge system;
Data Types and Structures ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Functional Decomposition ,[object Object],[object Object],[object Object],[object Object],void init_controls(T_position &gate, T_position &bridge, T_bridge_state &state) { gate  = UP; bridge  = DOWN; state = CARS; }
Environment is GREAT!
CHANGE VALUES ON THE FLY!!!
Best line ever…
Marking… Criteria Fail (1-3) Below Expectations (4-5) Meets Expectations (6-7) Exceeds Expectations (8-10) Design artefacts (FSM,  sequence diagrams, and flow charts) are well laid out, easily followed? Artefacts are incomplete, inaccurate, or hard to follow. No clear relationships between artefacts. Completeness and accuracy are somewhat clear, but compromised in some way. Relationships need to be clarified. Requirements are met by design artefacts. Relationships between them are traceable. Design is thoughtful and extensible.  Good use of abstraction and separation of concerns. Relationships  are conveyed in a clear and concise manner.  Does the implementation match the design?  No traceability between design and code. Somewhat traceable, could be improved. Sufficiently traceable throughout. Clearly traceable through all artefacts. Is data flow clear (data structures, parameters)?  No clear data flow or structures. Data structures and data flow are managed, but could be clarified further. Sufficient use of data structures, and data flow. Clear and well documented, extensible data structures and thoughtful use parameters for data flow. Is the implementation clear (functional decomposition, documentation, identifier names)? The RobotC program lacks clarity. Decomposition could be improved. Clear, and sufficient use of abstraction. Clear and well documented, highly extensible with platform specific details abstracted appropriately

More Related Content

Similar to Software Tutorial Week1 Online 1

Potter’S Wheel
Potter’S WheelPotter’S Wheel
Potter’S Wheel
Dr Anjan Krishnamurthy
 
Functional programming in TypeScript
Functional programming in TypeScriptFunctional programming in TypeScript
Functional programming in TypeScript
binDebug WorkSpace
 
Ch10
Ch10Ch10
Ch10
Ch10Ch10
Spatial Data Integrator - Software Presentation and Use Cases
Spatial Data Integrator - Software Presentation and Use CasesSpatial Data Integrator - Software Presentation and Use Cases
Spatial Data Integrator - Software Presentation and Use Cases
mathieuraj
 
Memento Pattern Implementation
Memento Pattern ImplementationMemento Pattern Implementation
Memento Pattern Implementation
Steve Widom
 
Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)
Quantum Leaps, LLC
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
divyang_panchasara
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving Techniques
Ashesh R
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
gystell
 
Robo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptxRobo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptx
Priya429658
 
PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptx
MotiDiro1
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
Viju Neduvathoor
 
An Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable AutomationAn Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable Automation
MeshDynamics
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
Emertxe Information Technologies Pvt Ltd
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
Dhairya Joshi
 
Lect 3-4 Zaheer Abbas
Lect 3-4 Zaheer AbbasLect 3-4 Zaheer Abbas
Lect 3-4 Zaheer Abbas
Information Technology Center
 
WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2
Shahzad
 
final Unit 1-1.pdf
final Unit 1-1.pdffinal Unit 1-1.pdf
final Unit 1-1.pdf
prakashvs7
 
Problem oriented software engineering01
Problem oriented software engineering01Problem oriented software engineering01
Problem oriented software engineering01
sivacse09
 

Similar to Software Tutorial Week1 Online 1 (20)

Potter’S Wheel
Potter’S WheelPotter’S Wheel
Potter’S Wheel
 
Functional programming in TypeScript
Functional programming in TypeScriptFunctional programming in TypeScript
Functional programming in TypeScript
 
Ch10
Ch10Ch10
Ch10
 
Ch10
Ch10Ch10
Ch10
 
Spatial Data Integrator - Software Presentation and Use Cases
Spatial Data Integrator - Software Presentation and Use CasesSpatial Data Integrator - Software Presentation and Use Cases
Spatial Data Integrator - Software Presentation and Use Cases
 
Memento Pattern Implementation
Memento Pattern ImplementationMemento Pattern Implementation
Memento Pattern Implementation
 
Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)Overview of QP Frameworks and QM Modeling Tools (Notes)
Overview of QP Frameworks and QM Modeling Tools (Notes)
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving Techniques
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
 
Robo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptxRobo unit4- Robot Programming.pptx
Robo unit4- Robot Programming.pptx
 
PHASE II.pptx
PHASE II.pptxPHASE II.pptx
PHASE II.pptx
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
An Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable AutomationAn Integrated Prototyping Environment For Programmable Automation
An Integrated Prototyping Environment For Programmable Automation
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Lect 3-4 Zaheer Abbas
Lect 3-4 Zaheer AbbasLect 3-4 Zaheer Abbas
Lect 3-4 Zaheer Abbas
 
WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2WPF Windows Presentation Foundation A detailed overview Version1.2
WPF Windows Presentation Foundation A detailed overview Version1.2
 
final Unit 1-1.pdf
final Unit 1-1.pdffinal Unit 1-1.pdf
final Unit 1-1.pdf
 
Problem oriented software engineering01
Problem oriented software engineering01Problem oriented software engineering01
Problem oriented software engineering01
 

Recently uploaded

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 

Recently uploaded (20)

20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 

Software Tutorial Week1 Online 1

  • 1. Software Tutorial (unplugged) Check out Moodle for Design Assignment 1 ! GOAL: validate a good DESIGN, then map your DESIGN into CODE…
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Call diagram for Sample Program getName getAstrologicalSign getHoroscope sign horoscope name sign getBirthMonth getBirthDay main month day
  • 18.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 36. CHANGE VALUES ON THE FLY!!!
  • 38. Marking… Criteria Fail (1-3) Below Expectations (4-5) Meets Expectations (6-7) Exceeds Expectations (8-10) Design artefacts (FSM, sequence diagrams, and flow charts) are well laid out, easily followed? Artefacts are incomplete, inaccurate, or hard to follow. No clear relationships between artefacts. Completeness and accuracy are somewhat clear, but compromised in some way. Relationships need to be clarified. Requirements are met by design artefacts. Relationships between them are traceable. Design is thoughtful and extensible. Good use of abstraction and separation of concerns. Relationships are conveyed in a clear and concise manner. Does the implementation match the design? No traceability between design and code. Somewhat traceable, could be improved. Sufficiently traceable throughout. Clearly traceable through all artefacts. Is data flow clear (data structures, parameters)? No clear data flow or structures. Data structures and data flow are managed, but could be clarified further. Sufficient use of data structures, and data flow. Clear and well documented, extensible data structures and thoughtful use parameters for data flow. Is the implementation clear (functional decomposition, documentation, identifier names)? The RobotC program lacks clarity. Decomposition could be improved. Clear, and sufficient use of abstraction. Clear and well documented, highly extensible with platform specific details abstracted appropriately