csc426 - software engineering lecture note
TRANSCRIPT
![Page 1: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/1.jpg)
[email protected] [email protected] [email protected]
1
CSC426: SOFTWARE ENGINEERING – Part IAJAYI, O. O.LECTURER, COMPUTER SCIENCE DEPARTMENT,ADEKUNLE AJASIN UNIVERSITY,AKUNGBA-AKOKO, ONDO STATE, NIGERIA.07056433798 / 08113699553 / 08137044500
02/11/2016
![Page 2: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/2.jpg)
[email protected] [email protected] [email protected]
2 INTRODUCING SOFTWARE ENGINEERING
CHAP1:
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
![Page 3: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/3.jpg)
[email protected] [email protected] [email protected]
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
![Page 4: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/4.jpg)
[email protected] [email protected] [email protected]
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
![Page 5: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/5.jpg)
[email protected] [email protected] [email protected]
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
![Page 6: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/6.jpg)
[email protected] [email protected] [email protected]
6 Similarity between Software Engineering and Traditional Engineering SE & TE root in Mathematics
02/11/2016
![Page 7: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/7.jpg)
[email protected] [email protected] [email protected]
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
![Page 8: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/8.jpg)
[email protected] [email protected] [email protected]
8 What was discussed?
Software Cost Software Project Delivery Time Software Development Methods/Models Producing Platform-Independent
Software
02/11/2016
![Page 9: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/9.jpg)
[email protected] [email protected] [email protected]
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
![Page 10: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/10.jpg)
[email protected] [email protected] [email protected]
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
![Page 11: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/11.jpg)
[email protected] [email protected] [email protected]
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
![Page 12: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/12.jpg)
[email protected] [email protected] [email protected]
12 Software Development FlowRequirement
Analysis & Definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System Delivery
System Maintenance02/11/2016
![Page 13: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/13.jpg)
[email protected] [email protected] [email protected]
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
![Page 14: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/14.jpg)
[email protected] [email protected] [email protected]
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
![Page 15: CSC426 - Software Engineering Lecture Note](https://reader036.vdocument.in/reader036/viewer/2022091122/589d2d291a28abeb478b6e99/html5/thumbnails/15.jpg)
[email protected] [email protected] [email protected]
15 SDT: Their Roles’ FlowRequirement
Analysis & Definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System DeliverySystem Maintenance
The Analyst
The Designer
The Programmer
The Tester
The Trainer
02/11/2016