CSC426: SOFTWARE
ENGINEERING – Part I
AJAYI, O. O.
LECTURER, COMPUTER SCIENCE DEPARTMENT,
ADEKUNLE AJASIN UNIVERSITY,
AKUNGBA-AKOKO, ONDO STATE, NIGERIA.
07056433798 / 08113699553 / 08137044500
02/11/2016
1
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
INTRODUCING SOFTWARE ENGINEERINGCHAP1:
Software engineering can be defined as
a strategy for producing quality software
(Pfleeger, 1987).
It can be seen as systematic and
disciplined activities that addressed
software quality issues.
02/11/2016
2
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Cont’d
It is majorly concerned with methods and
techniques for developing large software.
Philip(2007).
He also defined it as a systematic
approach to the analysis, design,
assessment, implementation, testing,
engineering of software, that is, the
application of engineering to software.
02/11/2016
3
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Cont’d: Self-Definition
Software Engineering can be defined as a
field of engineering that involves the theories,
techniques, and tools for developing quality
software.
In other words, Software Engineering can be
described as set of processes and systemic
approaches that lead to the
building/development of efficient and
effective software. 02/11/2016
4
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Differences between Software Engineering and
Traditional Engineering
 SE  Software, TE  Hardware and Physical Properties of a System
 SE  Principle of Re-Inventing, TE  Principle of Inventing
 SE  Computer Science (sub-root), TE  Physics (sub-root)
02/11/2016
5
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Similarity between Software Engineering and
Traditional Engineering
 SE & TE  root in Mathematics
02/11/2016
6
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
How Come Software Engineering?
In the 1950’s and early 1960’s a kind of
‘troubled water’ erupted in the software
circle. This called the attention of NATO
in the late 1960’s. Meeting of the
stakeholders in the software field was
called to discuss what was called
‘SOFTWARE CRISIS’.
02/11/2016
7
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
What was discussed?
Software Cost
Software Project Delivery Time
Software Development Methods/Models
Producing Platform-Independent Software
02/11/2016
8
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Conclusion of the Meeting
The conclusion of the meeting to discuss
‘SOFTWARE CRISIS’, led to the establishment
of SOFTWARE ENGINEERING.
They see SE as a field comprising software
practitioners and guiding them by the rule of
the game.
02/11/2016
9
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Software Products
These are software system developed and
delivered to a customer in functioning state
with detailed documentation, showing the
installation procedures, as well as the
software usage guidelines.
02/11/2016
10
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Software Products: Types
Generic Software: Software Products that
are developed for general use. They are
regarded as Ubiquitous Software.
Examples are MS-Office, Adobe Packages,
Corel Suites etc.
Bespoke Software: Software Products that
are developed in a customized way and
tailored for specific use. They are regarded
as Commercial Off The Shelf (COTS)
Software. Examples are AVERM (Adekunle
Version of Exams and Record
Management) etc. 02/11/2016
11
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Software Development Flow
Requirement Analysis &
Definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System Delivery
System Maintenance 02/11/2016
12
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Software Development Team: Who Are They?
System Analyst: Analysis the manual or existing
computerized system with a view to modifying
it.
System Designer: This takes care of the
architectural design aspect of the system,
including the system model, interface designs
etc.
System Programmer: This handles the
programming task of the project. He works
hand in hand with the designer to design and
implement the program.
02/11/2016
13
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
Cont’d - SDT: Who Are They?
System Tester: To ascertain the functionality of the
program implemented, the tester comes in to test the
flow, connection, relationship and communication among
the various arms/unit/modules that made up the program.
Overall, he also ensures the functionalities of the program.
System Trainer: Though the functionalities of the system
may have been rightly reviewed and reported by the
tester, the users of the system can deny the report where
the usage hits the rock. On this wise, it is imperative to
bring in the trainer to over the formal
delivery/deployment in terms of documentation, training
and maintenance guidelines. 02/11/2016
14
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
SDT: Their Roles’ Flow
Requirement Analysis &
Definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System Delivery
System Maintenance
The Analyst
The Designer
The Programmer
The Tester
The Trainer
02/11/2016
15
olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com

CSC426 - Software Engineering Lecture Note

  • 1.
    CSC426: SOFTWARE ENGINEERING –Part I AJAYI, O. O. LECTURER, COMPUTER SCIENCE DEPARTMENT, ADEKUNLE AJASIN UNIVERSITY, AKUNGBA-AKOKO, ONDO STATE, NIGERIA. 07056433798 / 08113699553 / 08137044500 02/11/2016 1 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 2.
    INTRODUCING SOFTWARE ENGINEERINGCHAP1: Softwareengineering can be defined as a strategy for producing quality software (Pfleeger, 1987). It can be seen as systematic and disciplined activities that addressed software quality issues. 02/11/2016 2 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 3.
    Cont’d It is majorlyconcerned with methods and techniques for developing large software. Philip(2007). He also defined it as a systematic approach to the analysis, design, assessment, implementation, testing, engineering of software, that is, the application of engineering to software. 02/11/2016 3 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 4.
    Cont’d: Self-Definition Software Engineeringcan be defined as a field of engineering that involves the theories, techniques, and tools for developing quality software. In other words, Software Engineering can be described as set of processes and systemic approaches that lead to the building/development of efficient and effective software. 02/11/2016 4 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 5.
    Differences between SoftwareEngineering and Traditional Engineering  SE  Software, TE  Hardware and Physical Properties of a System  SE  Principle of Re-Inventing, TE  Principle of Inventing  SE  Computer Science (sub-root), TE  Physics (sub-root) 02/11/2016 5 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 6.
    Similarity between SoftwareEngineering and Traditional Engineering  SE & TE  root in Mathematics 02/11/2016 6 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 7.
    How Come SoftwareEngineering? In the 1950’s and early 1960’s a kind of ‘troubled water’ erupted in the software circle. This called the attention of NATO in the late 1960’s. Meeting of the stakeholders in the software field was called to discuss what was called ‘SOFTWARE CRISIS’. 02/11/2016 7 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 8.
    What was discussed? SoftwareCost Software Project Delivery Time Software Development Methods/Models Producing Platform-Independent Software 02/11/2016 8 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 9.
    Conclusion of theMeeting The conclusion of the meeting to discuss ‘SOFTWARE CRISIS’, led to the establishment of SOFTWARE ENGINEERING. They see SE as a field comprising software practitioners and guiding them by the rule of the game. 02/11/2016 9 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 10.
    Software Products These aresoftware system developed and delivered to a customer in functioning state with detailed documentation, showing the installation procedures, as well as the software usage guidelines. 02/11/2016 10 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 11.
    Software Products: Types GenericSoftware: Software Products that are developed for general use. They are regarded as Ubiquitous Software. Examples are MS-Office, Adobe Packages, Corel Suites etc. Bespoke Software: Software Products that are developed in a customized way and tailored for specific use. They are regarded as Commercial Off The Shelf (COTS) Software. Examples are AVERM (Adekunle Version of Exams and Record Management) etc. 02/11/2016 11 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 12.
    Software Development Flow RequirementAnalysis & Definition System Design Program Design Program Implementation Unit Testing Integration Testing System Testing System Delivery System Maintenance 02/11/2016 12 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 13.
    Software Development Team:Who Are They? System Analyst: Analysis the manual or existing computerized system with a view to modifying it. System Designer: This takes care of the architectural design aspect of the system, including the system model, interface designs etc. System Programmer: This handles the programming task of the project. He works hand in hand with the designer to design and implement the program. 02/11/2016 13 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 14.
    Cont’d - SDT:Who Are They? System Tester: To ascertain the functionality of the program implemented, the tester comes in to test the flow, connection, relationship and communication among the various arms/unit/modules that made up the program. Overall, he also ensures the functionalities of the program. System Trainer: Though the functionalities of the system may have been rightly reviewed and reported by the tester, the users of the system can deny the report where the usage hits the rock. On this wise, it is imperative to bring in the trainer to over the formal delivery/deployment in terms of documentation, training and maintenance guidelines. 02/11/2016 14 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com
  • 15.
    SDT: Their Roles’Flow Requirement Analysis & Definition System Design Program Design Program Implementation Unit Testing Integration Testing System Testing System Delivery System Maintenance The Analyst The Designer The Programmer The Tester The Trainer 02/11/2016 15 olusola.ajayi@aaua.edu.ng ajayicomputer@gmail.com ajsoftengr@gmail.com