Skip to content

Pre Recorded Lecture Module 1#

Programming paradigms#

Pasted image 20220209204923.png

OO programming attempts to model interacting components to build a solution. This breaking down of final solution to interacting components makes it easy to maintain software.
Pasted image 20220209205224.png

System Development Life Cycle SDLC#

  • Analyze:
  • Design
  • Implement
  • Test
  • Deployment
  • Maintenance

SDLC Models#

Waterfall Model#

Pasted image 20220209205504.png
All the stages are done one after the other from top to bottom. This means that all requirements are gathered first then it is all analyzed and then the design has started. Now it is difficult to add another requirement from the customer till the acceptance phase.

Advantages#

  1. Simple in approach

Disadvantages#

  1. Sequential in design no space for concurrency
  2. It is not change friendly
  3. Poor resource utilization, since any one stage is busy the others are on standstill.

Unified Model#

  • For complex systems the linear approach of waterfall model does not suffice
  • The UP is a process for object oriented
  • UML is compulsory to use for Modeling
  • Development is organized into a series of iterations
  • The outcome of these iterations is a tested integrated and executable system
  • An iteration represents a complete dev cycle with its own analysis, design, implementation and testing.
  • Iterations are short and rapid feedback and adaptation is done
  • Iterations are timeboxed and the recommended iteration duration is about two to six weeks

Unified Process#

  • The iterative lifecycle is based on refinement of a system through multiple iterations with feedback and adaptation
  • The system grows incrementally over time, iteration by iteration
  • The system may not be eligible or production deployment until many iterations
    Pasted image 20220209210918.png

  • The ouput of an iteration is not an experimental prototype but a production subset of the final system

  • Each iteration tackles new requirements and incrementally extends the system
  • An iteration may occasionally revisit existing software and improve it.

Embracing change#

  • UP is change friendly
  • Periodic testing and design based on rapid feedback leads to better product
  • Gives developers a better understanding of the customers requirements

Phases in UP#

  • Inception
  • Elaboration
  • Construction
  • Transition
    Pasted image 20220209213631.png

Agile Principles#

  • Effective response to change
  • Effective communication among all stakeholders
  • Drawing the customer onto the team
  • Organizing a team so that it is in control of the work performed
  • Rapid incremental delivery of software
  • Is driven by customer descriptions called user stories
  • Recognizes that plans are short lived
  • Develops software iteratively with a heavy emphasis on construction activities
  • Delivers multiple software increments
  • Adapts as changes occur
  • Welcomes changing requirements even in late development
  • Promotes face to face interactions between stakeholders

Agile Manifesto#

Pasted image 20220214230221.png

Test Driven Development#

  • TDD is a technique whereby you write you test cases before you write any implementation code
  • Tests drive or dictate the code that is developed
  • Leads to better design
  • Better code documentation
  • More productive
  • Promotes good design

Pasted image 20220215215421.png

UML#

  • Unified Modeling language
  • Modeling language to draw diagrams in a uniform way

Class and Object in UML#

Pasted image 20220216221607.png

Attributes in a class and object are shown as:
Pasted image 20220216221728.png

Operations are the things an object can do. In the programming domain these are basically methods that are implemented in a class

Pasted image 20220216221859.png

Relationships in UML#

IS-A Inheritance: Superclass and subclass#

  • A class may be the subset of another class
  • A saving account is also an account making it a subclass of account class
  • But at the same time not all accounts are savings account
    Pasted image 20220216222035.png
    Pasted image 20220216222352.png

HAS-A Aggregation#

  • An object may be part of another object
    Pasted image 20220216222425.png

Tags: !OOADIndex