CS3342 Lecture 2
Object-Oriented Programming Fundamental - Part 1
Object: can be quantified to mean one specific item - is an entity that has a state and a set of operations on that state
Class: represent all objects of the same kind - serves as a template for creating objects
OO Programming has become the standard programming methodology for software engineers.
OO Programming is a software programming paradigm using “objects”, with instances of a class.
In OO programming, you would design the program with the data parts in mind, contextual information rather than procedures.
Advantages of OO Paradigm
- Easier to maintain. Objects may be understood as stand-alone entities.
- Reuse: Objects are potentially reusable components.
- For some systems, there may be an obvious mapping from real-world entities to system objects.
Software development Process
Software Engineering Process
Software process
- A series of predictable steps, road maps, that help us to create a timely, and high-quality result.
- The road map defines tasks or activities that take place during the process.
- A process defines who is responsible for: What? When? How? To reach a goal
- Process defines tasks and activities within a schedule
Software Process Model(Life Circle)
A software process model
- is an abstract representation of a process
- it describes a process
- guides the software development team
- with a set of key activities
All process models have phases (e.g: design phase, test phase) and each phase has 3 components:
- Set of activities - define, design, implement, test and maintain
- Set of deliverables - What to produce
- Quality control measures - What to use to evaluate/assess deliverables
1. Linear - Waterfall Model
2. Incremental
2.1 Incremental Model
2.2. The Rapid Application Development (RAD) Model
3. Evolutionary
3.1 Protoyping Model
3.2 Spiral Model
3.3 Concurrent Engineering Model
4. Other - Component based software engineering (CBSE)
Example1 -
Example2 - QR code Component - Follow the component's API for method calls