Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Life Cycle
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
SDLC Software Development Life Cycle. SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing.
IS2210: Systems Analysis and Systems Design and Change
Chapter 4 Quality Assurance in Context
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Chapter 6: Design of Expert Systems
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
CS 501: Software Engineering
Illinois Institute of Technology
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Software Life Cycle Model
Data Structures and Programming.  John Edgar2.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
Extreme Programming Software Development Written by Sanjay Kumar.
Systems Analysis and Design
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
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.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
The Software Development Process
Developed by Reneta Barneva, SUNY Fredonia The Process.
Software Testing Process By: M. Muzaffar Hameed.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Life Cycle (SDLC)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Development Life Cycle
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Design and Development Development Methodoligies Computing Science.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
MANAGEMENT INFORMATION SYSTEM
Methodologies and Algorithms
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
The Development Process of Web Applications
Classical Waterfall Model
Life Cycle Models PPT By :Dr. R. Mall.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Lecture 09:Software Testing
Software life cycle models
Presentation transcript:

Assoc. Prof. Dr. Ahmet Turan ÖZCERİT

 System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development Models  System Development Procedures You will learn: 2

He/she can itemize system and software fundamentals 3 Computer systems are composed of hardware and software components Software should not be considered only a set of codes or a package Software is composed of Program codes Data Documentation

He/she can itemize system and software fundamentals 4 System Engineering is a set of problem solving techniques to design and develop any type of system Computer System Engineering, on the other hand, is a more specific system engineering discipline that only comprise both hardware and software engineering System Development Procedures  Feasibility  System Implementation  User guidance and documentation

He/she can itemize system and software fundamentals 5  Software engineering is a technical discipline that uses engineering methods in software development  Software engineering specifically creates methods, technics, tools, and standards for software development procedures  The main objective of the software engineering is to create accurate, reliable, and robust products by using simple development cycles

He/she can itemize system and software fundamentals 6  Software engineer is not just a coder, he/she is the person developing software using software engineering disciplines  Software engineers do not have to be good at typewriting or documentation but have to be good at analyzing and synthesizing. He/she may has lack of knowledge on application sides, however, does has experience on how to implement user requirements.

He/she can itemize system and software fundamentals 7  Many types of standards and guidance have been designed and developed by international institutions and organizations. The objective of the standards and guidance to reach a common strategy in software development

He/she can itemize system and software fundamentals 8

9 Software development procedures and documentation strategy depends on clients and developers. Some of best known software development models are listed below Classic cycle V-Model Prototyping Spiral Model Evolutionary Model Incremental Model New Models

He/she can itemize system and software fundamentals 10 Classic cycle (Waterfall, Traditional, Conventional) Requirements defined and fixed Design Implementation Test Maintenance

He/she can itemize system and software fundamentals 11

He/she can itemize system and software fundamentals 12

He/she can itemize system and software fundamentals 13  The V-Model highlights the timing of test procedures  The phases on the each wing of the ‘V’ are considered test levels  Left wing represents production, Right wing represents Test phases  Test phases indicates the level to return

He/she can itemize system and software fundamentals 14

He/she can itemize system and software fundamentals 15

He/she can itemize system and software fundamentals 16  The product released by phases  Each version corresponds to a working model of software  The user experience during each version use is evaluated for the next version  The success of the product depends of the initial version

He/she can itemize system and software fundamentals 17

He/she can itemize system and software fundamentals 18

He/she can itemize system and software fundamentals 19  At each phase a prototype is obtained  The prototype is tested and user requirements are obtained  A new prototype is released  The procedures repeated until the final version is reached

He/she can itemize system and software fundamentals 20 In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first module, so you have working software early on during the software life cycle. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.“multi-waterfall” cycletestingsoftware life cycle

He/she can itemize system and software fundamentals 21

He/she can itemize system and software fundamentals 22

He/she can itemize system and software fundamentals 23

He/she can itemize system and software fundamentals 24

He/she can itemize system and software fundamentals 25

He/she can itemize system and software fundamentals 26

He/she can itemize system and software fundamentals 27

He/she can itemize system and software fundamentals 28

He/she can itemize system and software fundamentals 29

He/she can itemize system and software fundamentals 30

He/she can itemize system and software fundamentals 31

He/she can itemize system and software fundamentals 32

He/she can itemize system and software fundamentals 33 1.Load Test: Load testing is the process of putting demand on a software system or computing device and measuring its response. Load testing is performed to determine a system's behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation 1.Stress Test: When the load placed on the system is raised beyond normal usage patterns, in order to test the system's response at unusually high or peak loads, it is known as stress testing. The load is usually so great that error conditions are the expected result, although no clear boundary exists when an activity ceases to be a load test and becomes a stress test 2.Recovery Test: Recovery testing is the forced failure of the software in a variety of ways to verify that recovery is properly performed. Recovery testing should not be confused withreliability testing, which tries to discover the specific point at which failure occurs.Recovery testing is basically done in order to check how fast and better the application can recover against any type of crash or hardware failure etc. Type or extent of recovery is specified in the requirement specifications. It is basically testing how well a system recovers from crashes, hardware failures, or other catastrophic problems

He/she can itemize system and software fundamentals 34

He/she can itemize system and software fundamentals 35 Verification Test: The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. [IEEE-STD-610] Validation Test: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610] Validation checks that the product design satisfies or fits the intended use (high-level checking), i.e., the software meets the user requirements. This is done through dynamic testing and other forms of review. Verification and validation are not the same thing, although they are often confused. Verification: Are we building the product right? Validation: Are we building the right product?

He/she can itemize system and software fundamentals 36 1.Corrective Maintenance: modifying the system to cope with changes in the software environment 2.Perfective Maintenance: implementing new or changed user requirements which concern functional enhancements to the software 3.Adaptive Maintenance: diagnosing and fixing errors, possibly ones found by users 4.Preventive Maintenance: increasing software maintainability or reliability to prevent problems in the future

37