csc426 - software engineering lecture note

15
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 [email protected] [email protected] [email protected]

Upload: bro-shola-ajayi

Post on 10-Feb-2017

129 views

Category:

Education


1 download

TRANSCRIPT

Page 1: CSC426   - Software Engineering Lecture Note

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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