CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Computer Science Department
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Unit 2. Software Lifecycle
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Chapter 2 – Software Processes
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
CS3773 Software Engineering Lecture 01 Introduction.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
CS 325: Software Engineering January 15, 2015 Software Process & Methodology Prototyping Process Model Evolutionary Process Model Spiral Process Model.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Introduction to Software Engineering Dr. Basem Alkazemi
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Proceedings of the 28th Annual International Computer Software and Applications Conference (2004) Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar.
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Lecture 3 Software Engineering Models (Cont.)
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
An Introduction to Software Engineering
Chapter 4 프로세스 모델 Process Models
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Software Development Life Cycle (SDLC)
© Bennett, McRobb and Farmer 2005
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Engineering Process Models Models for Guiding the Development of Software.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Advanced Software Engineering Dr. Cheng
Announcements/Assignments
An Iterative Method For System Integration
Methodologies and Algorithms
Topic for Presentaion-2
SNS College of Engineering Coimbatore
V-Shaped SDLC Model Lecture-6.
Software Process Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
Process Models Coming up: Prescriptive Models.
Introduction to Software Process Models
Software Process Models
Baisc Of Software Testing
Software Engineering I
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process Model

Defining Software Engineering CS 325 January 13, 2015 Page 2 Software engineering as a discipline is focused on the research, education, and application of engineering processes and methods to significantly increase software productivity and software quality while reducing software costs and time to market.

SWE vs. CS CS 325 January 13, 2015 Page 3RequirementsUsabilityMaintainabilityModifiabilitySafetyPortabilityEstimationTestability Design Patterns Scalability Team Process Architecture Styles Computability Queueing Theory Algorithms Formal Specification Language Syntax/Semantics Cryptography Correctness Proofs Automatic Programming Network Analysis Machine Learning Compilers OS Paging/Scheduling Complexity Software Engineering Computer Science Computer scientists are primarily concerned with the design of algorithms, languages, hardware architecture, systems software, applications software, and tools. Software engineers learn much more about creating high-quality software in a systematic, controlled, and efficient manner.

Software Life-Cycle CS 325 January 13, 2015 Page 4 Software Development Process System Requirements Definition Software Requirements Analysis Software Design Coding & Unit Testing Integration & Integration Testing Acceptance Testing Maintenance Definition & Relationships of Subsystems Identification of Software Capabilities Structure of Interface & Algorithms Modules Developed & Tested Independently Module Collaboration & Cooperation Confirmation That Requirements Are Met Customer Support After Delivery

Software Life-Cycle CS 325 January 13, 2015 Page 5 Software Quality Assurance Verification Have we built the software right? Validation Have we built the right software? Testing Unit Test Integration Test Automated Test Acceptance Test Usability Test Regression Test System Test Beta Test Static Analysis Proofs of Correctness Robustness Analysis Consistency Checking Prototyping Modeling Formal Methods Model Checking Goal Analysis Specification Inspection Code Inspection

Software Life-Cycle CS 325 January 13, 2015 Page 6 Software Project Management

Software Processes CS 325 January 13, 2015 Page 7 A software process is a division of software development work into distinct phases containing activities with the intent of better planning and management. Waterfall Prototyping Evolutionary Spiral Unified Agile

Waterfall Process Model CS 325 January 13, 2015 Page 8 The sequential approach of the waterfall model is rather old-fashioned but still effective in some circumstances. System Requirements Definition Software Requirements Analysis Software Design Coding & Unit Testing Integration & Integration Testing Acceptance Testing Maintenance Waterfall ProsWaterfall Cons Strict development stages and milestones make revisiting earlier stages difficult Early feedback from users is difficult to obtain since early iterations are not available to be examined Project cancellation is rarely mitigated by early achievements in design and analysis, only by late achievements in late code and testing Makes planning, scheduling, and tracking progress simple Permits pipelining of tasks (requirements analysis, design, coding, testing) Accommodates updates to large systems that rarely need major changes