Developed by Reneta Barneva, SUNY Fredonia

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

DATA PROCESSING SYSTEMS
Overview and History of Software Engineering
Lecture 1: Software Engineering: Introduction
Software Engineering Course Instructor: Aisha Azeem.
Standards Alignment A study of alignment between state standards and the ACM K-12 Curriculum.
Analysis Concepts, Principles, and Modeling
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
SWE Introduction to Software Engineering
Software Engineering II
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Software Engineering - Introduction 1 Definition(s) of Software Engineering Establishment and use of sound engineering principles to obtain economically.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
Profile and a quick introduction Software Engineering: ) هندسة البرمجيات (in Arabic: is the branch of computer science Designed to develop a set rules.
Introduction to Software Engineering. What is Software? “ Software is a set of instructions to acquire inputs and to manipulate them to produce the desired.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 1 Supplementary Slides for Software Engineering: A Practitioner's.
Chapter : Introduction to Software Engineering Ref. book : Software Engineering by Roger Pressman.
SOFTWARE ENGINEERING MCS-2 LECTURE # 1. COMPULSORY READING MATERIAL  Software Engineering (6 th edition) by IAN Sommerville  Software Engineering; A.
CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.
Chapter 6 : Software Metrics
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
INPUT#3 SOFTWARE ENGINEERING. QUALITY SOFTWARE?  Satisfies the needs of the users and programmers involved with it.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
Introduction to Software Engineering COMP 412 – Software Engineering Project Management Prepared by: Engr. Maria Diorella A. Paguio.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Chapter 1 The Product Software is
Developed by Reneta Barneva, SUNY Fredonia The Process.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Amit Singh Introduction to Software Engineering. What is Software? The product that software professionals build and then support over the long term.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
Software Engineering Introduction.
BIT SOFTWARE ENGINEERING APPLICATION DEVELOPMENT Referred Textbook: Software Engineering: A Practitioner’s Approach, 7/e, by Roger S. Pressman CHAPTER.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
Software and Software Engineering By bscshelp.com software engineering 1.
The Changing Nature Of Software System software: Infrastructure software come under this category like compilers, operating systems, editors, drivers,
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Introduction to Software Engineering
Sub-fields of computer science. Sub-fields of computer science.
Software Engineering.
Software Engineering.
Chapter 1- Introduction
Software, O/S & Interfaces
The Product The Evolving Role of Software Dual role of software Product - It’s a information transformer producing, managing, acquiring, modifying, transmitting.
Chapter : Introduction to Software Engineering
Software What Is Software?
Software Engineering B.E IT Sem-VII
Chapter : Introduction to Software Engineering
Overview: Software and Software Engineering
Chapter : Introduction to Software Engineering
Introduction To software engineering
Software, O/S & Interfaces
Software and Software Engineering
Introduction Software Engineering.
Presentation transcript:

Developed by Reneta Barneva, SUNY Fredonia The Product Developed by Reneta Barneva, SUNY Fredonia

Developed by Reneta Barneva, SUNY Fredonia Software Software is the product that software engineers design and build. It encompasses: programs documentation data Developed by Reneta Barneva, SUNY Fredonia

Developed by Reneta Barneva, SUNY Fredonia Software Virtually everyone uses it directly or indirectly. It is important because it affects practically every aspect of the human life: commerce, culture, education, services. Developed by Reneta Barneva, SUNY Fredonia

Developed by Reneta Barneva, SUNY Fredonia Software Life Cycle Problem analysis understand the problem Requirements definition specify what program will do High- and low-level design how it meets requirements Implementation of design code it Testing and verification detect errors, show correctness Delivery turn over to customer Operation use the program Maintenance change the program Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of Software Software is an information transformer - producing, managing, acquiring, modifying, displaying, and transmitting information that can be as simple as a single bit or as complex as multimedia presentation. Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of Software Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of Software The role of computer software has undergone significant change over a time span of little more than 50 years. Reason: Improvement of hardware performance Naisbitt predicted a transformation from an industrial society to information society. The lone programmer has been replaced by a team of software experts -> importance of applying the software engineering principles. Developed by Reneta Barneva, SUNY Fredonia

The Evolving Role of Software However, still the software development experience the same problems: It takes long to finalize the software It is expensive All the errors cannot be detected It is difficult to measure the progress as software is being developed. Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics 1. Software is a logical rather than a physical system element -> it is developed, not manufactured in the classical sense. 2. Software doesn’t “wear out.” It doesn’t depend on dust, vibration, abuse, temperature extremes, etc. Hardware failure Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics Software failure During its life, software will undergo maintenance -> changes -> new defects -> … -> The failure rate level begins to rise. Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics When a hardware component wears out it is replaced by a spare part. No software spare parts. Every software error indicates an error in the design or in the following life cycle stages. -> Software maintenance require much more efforts than software maintenance. Developed by Reneta Barneva, SUNY Fredonia

Software Characteristics 3. Although the industry is moving towards component-based assembly, most software continues to be custom built. Hardware manufacturing: the engineer draws the digital circuit, does some fundamental analysis, and then assemblies it through some chips. Every chip has well defined function and interface. Software development: the idea of reusability of software, however it has only begun to be achieved on a broad scale. In the 60s: scientific subroutine libraries (limited domain application) Today: to reuse not only algorithms, but also data -> OO approach. GUI has been built in such a way. Developed by Reneta Barneva, SUNY Fredonia

Software Applications It is difficult to develop meaningful generic categories. Information determinacy: refers to the predictability of the order and timing of information. Software can be Determinate, e.g. a program for numeric analysis calculation. Indeterminate: multiuser operating system: interruptions, the output varies as a function of the environment and time. Developed by Reneta Barneva, SUNY Fredonia

Software Applications System software: collection of programs written to service other programs: compilers, editors, file management utilities operating systems, drivers, telecommunication processors Real-time software: analyzes real-world events as they occur. Includes: data gathering component, analysis component, control/output component. Developed by Reneta Barneva, SUNY Fredonia

Software Applications Business software: payroll systems, accounting systems, inventory systems, banking software Engineering and scientific software: Biology, volcanology, mathematics, chemistry, physics, medicine, space shuttle orbital dynamics, etc. Include: numerical analysis, CAD, system simulation. Developed by Reneta Barneva, SUNY Fredonia

Software Applications Embedded software: Resides in ROM. Used to control products and systems for the customer. Washing machines Cars ATM, etc. Personal computer software: Word processors, spreadsheets, entertainment, database management, external networks, etc. Intuitive interface. Developed by Reneta Barneva, SUNY Fredonia

Software Applications Web-based software: Includes hypertext, pictures, music, motion video, and applets. Artificial Intelligence: Uses non-numerical algorithms to solve complex problems: pattern recognition, neural networks, theorem proving, expert systems, natural language recognition, etc. Developed by Reneta Barneva, SUNY Fredonia

Developed by Reneta Barneva, SUNY Fredonia Software Myths Standards exist: Standards vary a lot. We have the newest hardware: Computer-aided software engineering (CASE) tools are much more important than hardware. If we are behind the schedule, we will add more programmers: This slows down the work. Developed by Reneta Barneva, SUNY Fredonia

Developed by Reneta Barneva, SUNY Fredonia Software Myths Developed by Reneta Barneva, SUNY Fredonia