CSC 480 Software Engineering

Slides:



Advertisements
Similar presentations
Computer Science Department
Advertisements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
CS – E – ET – T Computer Science Engineering Technology Technical Theory Application WHAT IS THE DIFFERENCE?
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
INSE - Lecture 4a Requirements Elicitation. Requirements Elicitation vs Specification [Many people in the industry confuse Requirements Elicitation with.
Software Engineering 1. Introduction 2. Course schedule.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
1 SWE 513: Software Engineering Requirements II. 2 Details in Requirements Requirements must be specific Examples -- university admissions system Requests.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Software Testing and Quality Assurance
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
1 SPIRIT Silicon Prairie Initiative on Robotics in Information Technology An Introduction to Engineering.
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.
SwE 313 Introduction to Rational Unified Process (RUP)
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
CSC230 Software Design (Engineering)
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
Business Analysis and Essential Competencies
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project Planning.
CSC 480 Software Engineering Lecture 1 August 21, 2002.
Systems Engineering In Aerospace Theodora Saunders February AUTOMATION IN MANUFACTURING Leading-Edge Technologies and Application Fairfield University.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
CSC 480 Software Engineering Lecture 1 August 21, 2002.
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Paper is made of plant fibers, usually from trees, but also from grasses, cotton, or other plants. The fibers are extracted from the plant by soaking,
CSC 480 Software Engineering Lecture 1 August 18, 2004.
Definition of Engineering. What is Engineering? The Accreditation Board for Engineering and Technology (ABET) defines engineering as: “the profession.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
College of Computer Science, SCU Computer English Lecture 1 Computer Science Yang Ning 1/46.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Software Production ( ) Lecture 3: Dr. Samer Odeh Hanna (PhD) office: 318.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
E 101 Fundamentals of Engineering Abdulkadir Erden, Prof. Dr.
1 Processes and Process Models Lecture # 5. 2 Process - 1 A process is an organized set of activities, which transforms inputs to outputs We can use synonyms.
Software Engineering – Fall 2015 (CSC 4350/6350) TR. 5:30 pm – 7:15 pm Rao Casturi 09/01/2015
Review of last class Software Engineering Modeling Problem Solving
Processes and Process Models
Chapter 11: Software Configuration Management
Requirements Engineering (continued)
Object-Oriented Software Engineering Using UML, Patterns, and Java,
CO5021 Systems Development Week 1
IEEE Std 1074: Standard for Software Lifecycle
Requirements Elicitation and Elaboration
CS701 SOFTWARE ENGINEERING
1.Introduction to Rational Unified Process (RUP)
Software Engineering (CSI 321)
Dr. Samer Odeh Hanna (PhD)
ENGINEERING ECONOMICS
Object oriented analysis and design
Introduction To software engineering
CS101 Introduction to Computing Lecture 20 SW Development Methodology
Chapter 11: Software Configuration Management
CSC 480 Software Engineering
Requirements Engineering
Overview of BSSE at Rose-Hulman Institute of Technology
Processes and Process Models
Presentation transcript:

CSC 480 Software Engineering Lecture 1 Intro to SWE

Introduction What is Software Engineering? What is the difference? Computer Science vs. Software Engineering Software Engineering vs. other engineering What activities are involved? CSC 480 -- Fall 2004 8/18/2004

The Essence of SE The essence of software engineering is to deliver high-quality software products that can meet clients’ requirements at agreed cost and schedule. CSC 480 -- Fall 2004 8/18/2004

Software Software is not just the programs! A software system usually consists of Requirement documents Design specifications (diagrams, etc) Programs (code, executables and config data) Installation and user manuals CSC 480 -- Fall 2004 8/18/2004

Software Is Soft As described in section 1.2 of your text, SE is A modeling activity: methodologies A problem-solving activity: processes and practices A knowledge acquisition activity: intellectual property A rational-driven activity: constantly changing req’ts We will discussed the first two areas in detail with lectures and workshops. It’s important to have the mental set of dealing with the softness of software as reflected in the latter two areas CSC 480 -- Fall 2004 8/18/2004

The Four P’s The four P’s in software development People – in different roles working in a team Product – the working software system and associated artifacts Process – a set of activities that is performed in a certain order toward a special purpose Project – a specific instance of building a software product CSC 480 -- Fall 2004 8/18/2004

Relationships Among the 4 P’s Project: People performing Processes to produce Product CSC 480 -- Fall 2004 8/18/2004

A Closer Look at the 4 P’s CSC 480 -- Fall 2004 8/18/2004

Software Lifecycle Activities Requirements Elicitation Analysis System Design Object Design Implemen- tation Testing ...and their models Use Case Model Test Cases ? Verified By class.... class... Source Code Implemented By Solution Domain Objects Realized By Subsystems Structured By Application Domain Objects Expressed in Terms Of CSC 480 -- Fall 2004 8/18/2004

Software Lifecycle Definition Set of activities and their relationships to each other to support the development of a software system Typical Lifecycle questions: Which activities should I select for the software project? What are the dependencies between activities? How should I schedule the activities? CSC 480 -- Fall 2004 8/18/2004

Other Basic SE Concepts Functional requirements Nonfunctional requirements Notation Method Methodologies CSC 480 -- Fall 2004 8/18/2004

Additional Background Info CSC 480 -- Fall 2004 8/18/2004

Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice …... -- Accreditation Board for Engineering and Technology CSC 480 -- Fall 2004 8/18/2004

Engineering The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind -- Accreditation Board for Engineering and Technology, 1996 CSC 480 -- Fall 2004 8/18/2004

Software Engineering A discipline which Applies mathematical and computer sciences Utilizes (mostly) human intelligence, economically, for the benefit of mankind Based on greatly wise judgment CSC 480 -- Fall 2004 8/18/2004

Software Engineering Vs. CS CS is more on the theoretical side Theories, methods, etc Essential knowledge for software engineers Software Engineering is practical Applying CS theories and methods Hopefully, in a formal (NOT ad hoc) way Don’t just learn Software Engineering. Do it! CSC 480 -- Fall 2004 8/18/2004

Software Vs. Other Engineering Software is soft Mostly human intellectual effort Need for physical resources (e.g. raw materials) is usually not the first priority Products are intangible and progress may not be visible With applications in virtual all industries, previous experience may not be easily adopted CSC 480 -- Fall 2004 8/18/2004