Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development."— Presentation transcript:

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

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

3 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

4 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

5 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

6 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.

7 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

8 He/she can itemize system and software fundamentals 8

9 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

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

11 He/she can itemize system and software fundamentals 11

12 He/she can itemize system and software fundamentals 12

13 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

14 He/she can itemize system and software fundamentals 14

15 He/she can itemize system and software fundamentals 15

16 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

17 He/she can itemize system and software fundamentals 17

18 He/she can itemize system and software fundamentals 18

19 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

20 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

21 He/she can itemize system and software fundamentals 21

22 He/she can itemize system and software fundamentals 22

23 He/she can itemize system and software fundamentals 23

24 He/she can itemize system and software fundamentals 24

25 He/she can itemize system and software fundamentals 25

26 He/she can itemize system and software fundamentals 26

27 He/she can itemize system and software fundamentals 27

28 He/she can itemize system and software fundamentals 28

29 He/she can itemize system and software fundamentals 29

30 He/she can itemize system and software fundamentals 30

31 He/she can itemize system and software fundamentals 31

32 He/she can itemize system and software fundamentals 32

33 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

34 He/she can itemize system and software fundamentals 34

35 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?

36 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 37


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

Similar presentations


Ads by Google