Lecture01_Software_Problem
Lecture01_Software_Problem
Software Problem
What is Problem?
• "The Problem" in the context of programming
usually refers to a specific challenge or task that
a programmer or developer needs to solve using
code. It could be a task such as designing a new
software feature, fixing a bug in existing code,
optimizing performance, or creating a complete
application from scratch.
What is Problem Solving?
• Programmers often go through a process of
problem-solving, which involves understanding the
problem, breaking it down into smaller components,
designing an algorithm or solution, writing the
code, testing and debugging, and finally, delivering
a working solution. The ability to effectively
identify, analyze, and solve problems is a
fundamental skill for programmers.
What is a Software?
• Software refers to a collection of programs, data,
instructions, and other non-tangible components that
enable a computer or electronic device to perform
specific tasks, functions, or operations. It is a set of
instructions that tells a computer how to execute various
tasks and operations.
Types of Software:
• System Software
• Application Software
How to Brainstorming regarding
their problem?
• Brainstorming is a creative process used to generate
ideas, solutions, and approaches to a specific problem. In
the context of programming or software development,
brainstorming can help you come up with innovative
solutions, strategies, and approaches to tackle challenges
you may encounter.
• Understand the Problem, Gather a diverse Team, Set Clear Guides,
Create a comfortable environment, using brainstorming techniques,
Encourage Quantity and Diversity, Build upon Ideas, No Criticism,
Capture Ideas, Review & select, further development.
Brain Storming Techniques?
• Mind Mapping
• Free Writing
• Round Robin
• Reverse Barnstorming
• Brain writing
How to Divide the Problem by
using Professional Techniques?
• Functional Decomposition
• Top Down Design
• Bottom Up Design
• Use Case Analysis
• Object Oriented Decomposition
• Dependency Analysis
• Critical Path Analysis
How does Programming Language
Help us to solve complex Problems?