SlideShare a Scribd company logo
1 of 34
Download to read offline
Why Die a Developer ?
(Programmer to
Architecture)
Rajesh M
Part 1:
Knowledge/Rational
and Discipline
Rajesh M
Programmer
1. It's different from a Software Engineer
2. Proficiency in programming languages
3. An incomplete job profile which never exists anymore like the data entry
operators.
a. Programming language deals with both syntax and internals
b. Programming language does not exist in isolation. In olden days they did.
c. Programming languages does not abstract into systems concepts
4. Ada Lovelace is the first programmer. She programmed Charles Babbage
5. Mathematics and Analytical skills using programming constructs like loops,
conditions, recursion and variable management becomes important
Software/Systems Engineer/Designer
1. Engineering involves design and solutioning for common problems.
a. Software Engineering involves design and solutioning for business problems using software
practice
2. Design:A Specification for an activity or process
a. Functional - Work to the spec, Robust(Not a Toy), Quality,
b. Aesthetics
c. Economics - cost, time, resource, reuse, usability
d. Social
3. Practice or “Software Engineering” defines the above 4 parameters
4. Programming is a tool for a Software engineer
5. Design involves planning and execution hence bounded
Design
DESIGN
Rational Model
1. designers attempt to optimize a design
candidate for known constraints and
objectives,
2. the design process is plan-driven,
3. the design process is understood in
terms of a discrete sequence of stages.
Action-Centric Model
1. designers use creativity and emotion to generate
design candidates,
2. the design process is improvised,
3. no universal sequence of stages is apparent –
analysis, design and implementation are
contemporary and inextricably linked
Software Engineering MODELS EVOLUTION
RATIONAL ACTION CENTRIC
WATERFALL ITERATIVE AGILE
DISCIPLINE FREE FLOW
GREED, MORE PARTICIPATION, DISPERSED KNOWLEDGE, CROWD FUNDING...
“Bounded Rationality” -
Decision Maker Concepts
● Traceability of the
decision problem
● Cognitive limitation of
the mind
● Time available to make
the decision
Satisfactory Solution Vs Optimal Solution
Cognitive Limitation
Environment Structure
BIAS CORRECTORS
Software Engineering Model/Specification
1. Requirement Specification
2. Architecture Specification
3. Development ( Design, Coding, Testing)
4. Quality Acceptance
5. Production Management
6. Post Production Management
Part 2:
Systems Thinking
Rajesh M
Systems Thinking and Design Thinking
Design Thinking vs Systems Thinking
Definition The use of synthesis to
create value and solve
problems.
Thinking about strategy from an
end-to-end perspective that considers
broad implications.
Primarily
Associated
With
Synthesis Analysis
Big-picture-thinking
System Thinking and Design Thinking
Synthesis
Analysis
Designer/Engineer/..
Decision
Maker/Architect/Product
Manager
Systems Thinking - In Picture
Feedback Loops - Why is it important
Part 3:
Software Systems
Rajesh M
SOFTWARE
SOFTWARE - An abstraction of BRAIN
DATA SYSTEMS
AI SYSTEMS
Software System Models
1. Database Systems - ER model, Network, Graph, Hierarchy Model
2. Object Oriented Systems (OOPS)
3. Unified Modelling Language (UML) and Model Driven Architecture
4. Business Process Modelling Notation (BPMN) and BPEL (Business Process
Execution Language) - Activity or Workflow Management
5. Internet Architecture / RFCs
6. Web Services/SOA
7. REST
8. Enterprise Bus
9. Integration Systems
VON NEUMANN MODEL
Software System Models - 4+1 Model
GANG OF FOUR - DESIGN PATTERNS
ABSTRACT DESIGN PATTERNS
1. Systems Coupling ( API, Microservices, Layered Architecture)
2. Separation of Concerns (Layered Architecture, Microservices, Web Services)
3. Data Encapsulation/ Data Hiding
4. Role Based Access Control
5. Proximity Theory
6. Resource Management (CPU, Memory, Storage, Cache, Connection Pool
etc…)
7. Anti Patterns
Non Functional Requirements
1. Resource Management
2. Security Management
3. Time Management
4. Maintainability
Part 4:
World Wide Web
Rajesh M
OSI MODEL
OWASP
Part 5:
Tools and Procedures
Rajesh M
Tools and Procedures
1. Operating Systems - UNIX
2. Cloud - AWS, GCP, Azure, Watson
3. Programming Languages - Python, Rust, Javascript
4. Performance Management - Jmeter, Saravan, Firebug
5. Testing - TDD, Junit, Clover,
6. Build Management - Jenkins
7. …..
CODE
CODE IS THE MOST CRITICAL
TOOL OF SOFTWARE. IT'S SIMPLY
BUILT ON IT.
CODE
1. Coding is a complex skill
a. Algorithmic Complexity
b. Optimization for Resources/Efficiency
c. Readability (Maintainability)
d. Portability/Interface
e. Secure
A Common technique employed by developers of average skill to ensure the
above objectives are met.
CODE REFACTORING
EVALUATION OF CODE
Non Functional
● Big O notation
● Static Code Analysis
● Code Reviews - Peer
● Coder Psychology
● Memory Management
● Performance Management
Functional:
● Quality Analysis
Part 6:
Budgeting and
Planning
Rajesh M
Part 7:
Enterprise and
Software
Rationalization
Rajesh M
Part 8:
Research and
Innovation
Rajesh M

More Related Content

Similar to Why die a developer ? (programming to architecture)

Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mcaAman Adhikari
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?Òscar Vilaplana
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development ProjectsMartina Šimičić
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxJakeariesMacarayo
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfSanRock2
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And DesigningAbdurrahman A.S.M
 
Advance Software Engineering
Advance Software EngineeringAdvance Software Engineering
Advance Software EngineeringMasud Parves
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxAbdulMateen516672
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxMrSDeepakRajAssistan
 
Kumuda_Krishnamachari
Kumuda_KrishnamachariKumuda_Krishnamachari
Kumuda_KrishnamachariKumuda K
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topicsAmnah_Ch
 

Similar to Why die a developer ? (programming to architecture) (20)

Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdfsoftwareengineeringpractice-141002214920-phpapp02 (1).pdf
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
System Analisis And Designing
System Analisis And  DesigningSystem Analisis And  Designing
System Analisis And Designing
 
Advance Software Engineering
Advance Software EngineeringAdvance Software Engineering
Advance Software Engineering
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
Kumuda_Krishnamachari
Kumuda_KrishnamachariKumuda_Krishnamachari
Kumuda_Krishnamachari
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software engineering -core topics
Software engineering -core topicsSoftware engineering -core topics
Software engineering -core topics
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Why die a developer ? (programming to architecture)

  • 1. Why Die a Developer ? (Programmer to Architecture) Rajesh M
  • 3. Programmer 1. It's different from a Software Engineer 2. Proficiency in programming languages 3. An incomplete job profile which never exists anymore like the data entry operators. a. Programming language deals with both syntax and internals b. Programming language does not exist in isolation. In olden days they did. c. Programming languages does not abstract into systems concepts 4. Ada Lovelace is the first programmer. She programmed Charles Babbage 5. Mathematics and Analytical skills using programming constructs like loops, conditions, recursion and variable management becomes important
  • 4. Software/Systems Engineer/Designer 1. Engineering involves design and solutioning for common problems. a. Software Engineering involves design and solutioning for business problems using software practice 2. Design:A Specification for an activity or process a. Functional - Work to the spec, Robust(Not a Toy), Quality, b. Aesthetics c. Economics - cost, time, resource, reuse, usability d. Social 3. Practice or “Software Engineering” defines the above 4 parameters 4. Programming is a tool for a Software engineer 5. Design involves planning and execution hence bounded
  • 5. Design DESIGN Rational Model 1. designers attempt to optimize a design candidate for known constraints and objectives, 2. the design process is plan-driven, 3. the design process is understood in terms of a discrete sequence of stages. Action-Centric Model 1. designers use creativity and emotion to generate design candidates, 2. the design process is improvised, 3. no universal sequence of stages is apparent – analysis, design and implementation are contemporary and inextricably linked
  • 6. Software Engineering MODELS EVOLUTION RATIONAL ACTION CENTRIC WATERFALL ITERATIVE AGILE DISCIPLINE FREE FLOW GREED, MORE PARTICIPATION, DISPERSED KNOWLEDGE, CROWD FUNDING...
  • 7. “Bounded Rationality” - Decision Maker Concepts ● Traceability of the decision problem ● Cognitive limitation of the mind ● Time available to make the decision Satisfactory Solution Vs Optimal Solution Cognitive Limitation Environment Structure
  • 9. Software Engineering Model/Specification 1. Requirement Specification 2. Architecture Specification 3. Development ( Design, Coding, Testing) 4. Quality Acceptance 5. Production Management 6. Post Production Management
  • 11. Systems Thinking and Design Thinking Design Thinking vs Systems Thinking Definition The use of synthesis to create value and solve problems. Thinking about strategy from an end-to-end perspective that considers broad implications. Primarily Associated With Synthesis Analysis Big-picture-thinking
  • 12. System Thinking and Design Thinking Synthesis Analysis Designer/Engineer/.. Decision Maker/Architect/Product Manager
  • 13. Systems Thinking - In Picture
  • 14. Feedback Loops - Why is it important
  • 17. SOFTWARE - An abstraction of BRAIN DATA SYSTEMS AI SYSTEMS
  • 18. Software System Models 1. Database Systems - ER model, Network, Graph, Hierarchy Model 2. Object Oriented Systems (OOPS) 3. Unified Modelling Language (UML) and Model Driven Architecture 4. Business Process Modelling Notation (BPMN) and BPEL (Business Process Execution Language) - Activity or Workflow Management 5. Internet Architecture / RFCs 6. Web Services/SOA 7. REST 8. Enterprise Bus 9. Integration Systems
  • 20. Software System Models - 4+1 Model
  • 21. GANG OF FOUR - DESIGN PATTERNS
  • 22. ABSTRACT DESIGN PATTERNS 1. Systems Coupling ( API, Microservices, Layered Architecture) 2. Separation of Concerns (Layered Architecture, Microservices, Web Services) 3. Data Encapsulation/ Data Hiding 4. Role Based Access Control 5. Proximity Theory 6. Resource Management (CPU, Memory, Storage, Cache, Connection Pool etc…) 7. Anti Patterns
  • 23. Non Functional Requirements 1. Resource Management 2. Security Management 3. Time Management 4. Maintainability
  • 24. Part 4: World Wide Web Rajesh M
  • 26. OWASP
  • 27. Part 5: Tools and Procedures Rajesh M
  • 28. Tools and Procedures 1. Operating Systems - UNIX 2. Cloud - AWS, GCP, Azure, Watson 3. Programming Languages - Python, Rust, Javascript 4. Performance Management - Jmeter, Saravan, Firebug 5. Testing - TDD, Junit, Clover, 6. Build Management - Jenkins 7. …..
  • 29. CODE CODE IS THE MOST CRITICAL TOOL OF SOFTWARE. IT'S SIMPLY BUILT ON IT.
  • 30. CODE 1. Coding is a complex skill a. Algorithmic Complexity b. Optimization for Resources/Efficiency c. Readability (Maintainability) d. Portability/Interface e. Secure A Common technique employed by developers of average skill to ensure the above objectives are met. CODE REFACTORING
  • 31. EVALUATION OF CODE Non Functional ● Big O notation ● Static Code Analysis ● Code Reviews - Peer ● Coder Psychology ● Memory Management ● Performance Management Functional: ● Quality Analysis