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:
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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
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