Software
Engineering L6
Sameera
Gunathilaka
Lead Software
Engineer
ERP Technical
Consultant
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
1
SDLC –
Waterfall
Model
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 2
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 3
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 4
The idea is actually transformed
in to a real working system
Problem Domain
Solution Domain
Architectural
design
Abstract
specificatio
n
Interface
design
Component
design
Data
structure
design
Algorithm
design
Sy stem
architecture
Software
specification
Interface
specification
Component
specification
Data
structure
specification
Algorithm
specification
Requirements
specification
Design activities
Design products
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 5
Design Activities
• Architectural design: Identify sub-systems. ( Inventory/ HR/ Finance)
• Abstract specification: Specify sub-systems. (Inventory > Part Management,
Finished good, Raw material)
• Interface design: Describe sub-system interfaces( Raw materials > Receive Raw
material, Supplier Order, Show on hand quantity)
• Component design: Decompose sub-systems into components(material, order,
supplier)
• Data structure design: Design data structures to hold problem data(Material >
Name, price, on hand quantity, category)
• Algorithm design: Design algorithms for problem functions. (
Calculate_safety_stock)
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
6
Design
Strategy
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 7
Function Oriented Design –
Procedural approach
Object Oriented Design – OO
approach
SOLID Design
Principles - OOD
Make software designs more
understandable, flexible
and maintainable.
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 8
S - Single
responsibility
principle
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
S - Single responsibility principle
• Testing – A class with one responsibility will have far fewer test cases
• Lower coupling – Less functionality in a single class will have fewer
dependencies
• Organization – Smaller, well-organized classes are easier to search
than monolithic ones
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
10
Person
Add Person
Add Address
Address Add
Address
O- Open Close
Principle
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 11
Open for Extension, Closed for
Modification
Stop ourselves from modifying
existing code and causing
potential new bugs
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 12
L -
Liskov Substitution
principle
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 13
Child class should be perfectly
substitutable for their parent class
If class C is derived from P then C should
be substitutable for P.
Using base class then derived class should
be able to extend their base class without
changing their original implementation
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 14
I - Interface
Segregation
Principle
You shouldn't be forced to implement an
interface when your object doesn't share that
purpose
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 16
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 17
D-
Dependency
Inversion
Principle
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 18
High-level modules should not
depend on low-level modules.
Both should depend
on abstractions
Abstractions should not
depend on details. Details
(concrete implementations)
should depend on abstractions
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 19
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
20
Framework
• A software framework is a software
model for development of software
applications
• framework is made up of one or
many components
• components generally include
programs and code libraries
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 21
Code
Compilation
Translating formal language to
machine instructions
IT1204 – Software Engineering Institute of Technology, University of
Moratuwa 22
Runtime vs Compile time
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 23
Errors
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 24
Compile time Runtime
Syntax errors Exceptions
Typechecking errors Dereferencing a null pointer
Compiler crashes (Rarely) Running out of memory
Division by zero
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 25
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 26
3 – tire
architechture
IT1204 – Software Engineering Institute of Technology, University of
Moratuwa 27
Testing
Testing is executing a
system in order to
identify any gaps,
errors, or missing
requirements in
contrary to the actual
requirements.
IT1204 – Software Engineering Institute of Technology, University of
Moratuwa 28
Testing
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 29
MANUAL TESTING AUTOMATION TESTING (TOOLS:
SELENIUM, LOADRUNNER)
Thank you
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
30

IT1204 – Software Engineering L6

  • 1.
    Software Engineering L6 Sameera Gunathilaka Lead Software Engineer ERPTechnical Consultant IT1204 – Software Engineering Institute of Technology, University of Moratuwa 1
  • 2.
    SDLC – Waterfall Model IT1204 –Software Engineering Institute of Technology, University of Moratuwa 2
  • 3.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 3
  • 4.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 4 The idea is actually transformed in to a real working system Problem Domain Solution Domain
  • 5.
  • 6.
    Design Activities • Architecturaldesign: Identify sub-systems. ( Inventory/ HR/ Finance) • Abstract specification: Specify sub-systems. (Inventory > Part Management, Finished good, Raw material) • Interface design: Describe sub-system interfaces( Raw materials > Receive Raw material, Supplier Order, Show on hand quantity) • Component design: Decompose sub-systems into components(material, order, supplier) • Data structure design: Design data structures to hold problem data(Material > Name, price, on hand quantity, category) • Algorithm design: Design algorithms for problem functions. ( Calculate_safety_stock) IT1204 – Software Engineering Institute of Technology, University of Moratuwa 6
  • 7.
    Design Strategy IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 7 Function Oriented Design – Procedural approach Object Oriented Design – OO approach
  • 8.
    SOLID Design Principles -OOD Make software designs more understandable, flexible and maintainable. IT1204 – Software Engineering Institute of Technology, University of Moratuwa 8
  • 9.
    S - Single responsibility principle IT1204– Software Engineering Institute of Technology, University of Moratuwa
  • 10.
    S - Singleresponsibility principle • Testing – A class with one responsibility will have far fewer test cases • Lower coupling – Less functionality in a single class will have fewer dependencies • Organization – Smaller, well-organized classes are easier to search than monolithic ones IT1204 – Software Engineering Institute of Technology, University of Moratuwa 10 Person Add Person Add Address Address Add Address
  • 11.
    O- Open Close Principle IT1204– Software Engineering Institute of Technology, University of Moratuwa 11 Open for Extension, Closed for Modification Stop ourselves from modifying existing code and causing potential new bugs
  • 12.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 12
  • 13.
    L - Liskov Substitution principle IT1204– Software Engineering Institute of Technology, University of Moratuwa 13 Child class should be perfectly substitutable for their parent class If class C is derived from P then C should be substitutable for P. Using base class then derived class should be able to extend their base class without changing their original implementation
  • 14.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 14
  • 15.
    I - Interface Segregation Principle Youshouldn't be forced to implement an interface when your object doesn't share that purpose
  • 16.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 16
  • 17.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 17
  • 18.
    D- Dependency Inversion Principle IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 18 High-level modules should not depend on low-level modules. Both should depend on abstractions Abstractions should not depend on details. Details (concrete implementations) should depend on abstractions
  • 19.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 19
  • 20.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 20
  • 21.
    Framework • A softwareframework is a software model for development of software applications • framework is made up of one or many components • components generally include programs and code libraries IT1204 – Software Engineering Institute of Technology, University of Moratuwa 21
  • 22.
    Code Compilation Translating formal languageto machine instructions IT1204 – Software Engineering Institute of Technology, University of Moratuwa 22
  • 23.
    Runtime vs Compiletime IT1204 – Software Engineering Institute of Technology, University of Moratuwa 23
  • 24.
    Errors IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 24 Compile time Runtime Syntax errors Exceptions Typechecking errors Dereferencing a null pointer Compiler crashes (Rarely) Running out of memory Division by zero
  • 25.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 25
  • 26.
    IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 26
  • 27.
    3 – tire architechture IT1204– Software Engineering Institute of Technology, University of Moratuwa 27
  • 28.
    Testing Testing is executinga system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. IT1204 – Software Engineering Institute of Technology, University of Moratuwa 28
  • 29.
    Testing IT1204 – SoftwareEngineering Institute of Technology, University of Moratuwa 29 MANUAL TESTING AUTOMATION TESTING (TOOLS: SELENIUM, LOADRUNNER)
  • 30.
    Thank you IT1204 –Software Engineering Institute of Technology, University of Moratuwa 30

Editor's Notes

  • #4 Requirements engineering help software engineers to better understand the problem they will work to solve. It encompasses the set of tasks that lead to an understanding of what the business impact of the software will be, what the customer wants and how end-users will interact with the software.
  • #5 Transformation phase The idea is actually transformed in to a real working system
  • #24 CIL – common interface language