1-Introduction to Software Engineering (Object Oriented Software Engineering - BNU Spring 2017)
-
Author
hafiz-ammar-siddiqui -
Category
Education
-
view
48 -
download
1
Embed Size (px)
Transcript of 1-Introduction to Software Engineering (Object Oriented Software Engineering - BNU Spring 2017)
-
Introduction to Software
Engineering
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Nature of Software
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Nature of Software Software is intangible Does not exist in physical form Hard to see the effort involved in its development process
Software is easy to reproduce Only costs in its development Generating another copy of same software is easy once its developed Building a similar software require less time
Software does not wear out Deteriorates with maintenance as changes are introduced Slows down in performance as time passes Suffers when not updated regularly with respect to the surrounding environment
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Engineering
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Need of Software Engineering Software systems are complex Perform many functions and often conflicting ones Consist of many components
Software development is hard Requirements that usually keep on changing Development life cycle often spans for long time Consists of participants from multiple disciplines Constraints of time and budget
Software maintenance is difficult Regular updates and support Extension with new requirements
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Engineering Definitions [IEEE] The application of a systematic, disciplined, quantifiable approach to the
development, operation, maintenance of software; that is, the application ofengineering to software.
Software engineering is the establishment and use of sound engineering principlesto design, develop, test and maintain software that is reliable and works efficiently.
The process of solving customers problems by the systematic development andevolution of large, high-quality software systems within cost, time and otherconstraints.
Research, design, develop, and test operating systems-level software, compilers,and network distribution software for medical, industrial, military, communications,aerospace, business, scientific, and general computing applications.
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Engineering as Activity Software Engineering is a modeling activity Software engineers solve complexity through modeling, by focusing on the relevant
details and ignoring everything else. Build different models of system.
Software Engineering is a problem-solving activity Software engineers find an appropriate solution by analyzing the problem.
Software Engineering is a knowledge acquisition activity Software engineers collect data, organize it into information, and formalize it into
useful knowledge.
Software Engineering is a rationale-driven activity Software engineers capture the context in which decisions are made and the
rationale behind these decisions.
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Stake Holders
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Stake Holders Customer Those who order and pay for the software
User Those who use the software
Developer Those who develop the software
Development Manager Those who manage the software development process
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Quality
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Quality Usability Easy to learn Easy to use Solves the problem
Efficiency Good performance Does not waste resources
Reliability Does not fail Recover from failure
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Software Quality Maintainability Easy to repair Easy to modify and extend
Reusability Parts reusable in other software
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Activities Common to Software Projects
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Activities Common to Software Projects Software Development Life Cycle Requirements Analysis Design Implementation Testing Maintenance
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
-
Reference Object Oriented Software Engineering: Using UML, Patterns, and Java - Bernd
Bruegge, Allen H. Dutoit
FROM: HAFIZ AMMAR SIDDIQUI COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY