Software engineering chapter 1 ppt presentation of se

mydata0023 2 views 30 slides Feb 27, 2025
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

T te visrun ja aata hai na ki mi pn tyachya room la jaychi


Slide Content

Welcomes to Department of Computer Application Class: SYBBA(CA) [ Sem – III] Subject: – Software Engineering Subject Teacher –Dr . Sunil Patil 1 MIT Arts Commerce and Science College Alandi (D). Pune - 412105

Unit No. 2: Introduction to Software Engineering 2.1 Definition of Software 2.2 Characteristics of Software 2.3 Definition of Software Engineering 2.4 Need for Software Engineering 2.5 Mc Call’s Quality factors 2.6 The Software Process 2.7 Software Product and Process 2.8 V& V Model 2

Introduction: Software Engineering provides a standard procedure to design and develop software. The term  software engineering  is the product of two words,  software , and  engineering . The software is a collection of integrated programs. Engineering  is the application of  scientific  and  practical  knowledge to  invent, design, build, maintain , and  improve frameworks, processes, etc . 3

2 .1 Definition of Software: Software: "Software is a set of programs (sequence of instructions) that allows the users to perform a well-defined function or some specified task." The software is made up of binary language (composed of ones and zeros ) Software's are broadly classified into two types, i.e.,  System Software Application Software . 4

System Software: System software  is a computer program that helps the user to run computer hardware or software and manages the interaction between them . Essentially , it is software that  constantly runs in the computer background, maintaining the computer hardware and computer's basic functionalities, including the operating system, utility software, and interface Classification of System software are as follows: Operating System Device Drivers Firmware: firmware is a type of permanent software embedded in the system's ROM (read-only memory) to provide low-level control for some particular system device hardware . Utility : Utility software is developed to provide support in analyzing, optimizing, along configuring and maintaining a computer . (Antivirus, WinRAR) 5

Application Software : Application programs or software applications are end-user computer programs developed primarily to provide specific functionality to the user . Or Application Software is a type of computer program that performs specific functions or task. For eg : Word Processor Database Software Multimedia Software 6

2.2 Characteristics of Software: The characteristics of software include: It is intangible : It cannot be seen or touched. It is non-perishable : It does not degrade over time. It is easy to replicate : It can be copied and distributed easily. It can be complex : It can have many interrelated parts and features. It can be difficult to understand and modify : Especially for large and complex systems. It can be affected by changing requirements : It may need to be updated or modified as the needs of users change. It can be affected by bugs and other issues : It may need to be tested and debugged to ensure it works as intended. 7

2.2 Characteristics of Software: Software Characteristics are classified into six major components: Functionality: It refers to the suitability, accuracy, interoperability, compliance, security of software which is measured as   degree of performance of the software against its intended purpose . 8

Reliability : Refers to the recoverability, fault tolerance, maturity of software , which is basically a  capability of the software that  provide required functionality under the given situations . Efficiency: It is the ability of the software to use resources of system in the most effective and efficient manner. Software must make effective use of system storage  and execute command as per required timing.  9

Usability: It is the extent to which the software can be utilized with ease and the amount of effort or time required to learn how to use the softwar e. Maintainability: It is the ease with which the modifications can be made in a software to extend or enhance its functionality, improve its performance , or resolve bugs . 10

Portability: It is the ease with which software developers can relaunch software from one platform to another, without (or with minimum) changes. In simple terms, software must be made in way that it should be platform independent. 11

2.3 Definition of Software Engineering: The IEEE Standard Glossary of Software Engineering terminology defines software engineering as “The Systematic approach to the development, operations, maintenance and retirement of software . According to Fritz Bauer : Software Engineering is the establishment and use of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machine. Software Engineering is the application of systematic, disciplined, quantifiable approach to the development, operation and maintenance of software i.e. the application of engineering to software. In simple language, Software Engineering is application of scientific principles to the orderly transformation of problem into a working software solution and the subsequent maintenance of that software until the end of its useful life . 12

2.4 Need for Software Engineering: 13

2.4 Need for Software Engineering: Handling Big Projects: A corporation must use a software engineering methodology in order to handle large projects without any issues. To manage the cost: Software engineering programmers plan everything and reduce all those things that are not required. To decrease time: It will save a lot of time if you are developing software using a software engineering technique. Reliable software: It is the company’s responsibility to deliver software products on schedule and to address any defects that may exist. Effectiveness: Effectiveness results from things being created in accordance with the standards. Reduces complexity: Large challenges are broken down into smaller ones and solved one at a time in software engineering. Individual solutions are found for each of these issues. Productivity: Because it contains testing systems at every level, proper care is done to maintain software productivity. 14

2.5 Mc Call’s Quality factors: McCall software quality model was introduced in 1977. This model classifies all software requirements into 11 software quality factors. The 11 factors are grouped into three categories – Product Operation , Product Revision , and Product Transition factors . 15

2.5 Mc Call’s Quality factors: Product operation factors − Correctness, Reliability, Efficiency, Integrity, Usability. Product revision factors − Maintainability, Flexibility, Testability. Product transition factors − Portability, Reusability, Interoperability . The definition of these 11 software quality factors is given below : Correctness – It extent to which a program satisfies its specification and fulfills the client’s objective. Reliability – It extent to which a program is supposed to perform its function with the required precision. Efficiency – Amount of computing and code required by a program to perform its function. Integrity – It extent to which access to software and data is denied to unauthorized users. 16

2.5 Mc Call’s Quality factors: The definition of these 11 software quality factors is given below : Usability – Labor required to understand, operate, prepare input and interpret output of a program Maintainability – E ffort required to locate and fix an error in a program. Flexibility – Effort needed to modify an operational program. Testability – Effort required to test the programs for their functionality. Portability – Effort required to run the program from one platform to other or to different hardware. Reusability – It extent to which the program or it’s parts can be used as building blocks or as prototypes for other programs. Interoperability – Effort required to couple one system to another. 17

2.6 The Software Process : Software Processes: The term  software  specifies to the set of computer programs, procedures and associated documents (Flowcharts, manuals, etc.) that describe the program and how they are to be used. A software process is the set of activities and associated outcome that produce a software product. Software engineers mostly carry out these activities. There are four key process activities , which are common to all software processes. These activities are: 18

2.6 The Software Process : These activities are : Software specifications: The functionality of the software and constraints on its operation must be defined. Software development: The software to meet the requirement must be produced. Software validation: The software must be validated to ensure that it does what the customer wants. Software evolution: The software must evolve to meet changing client needs. 19

2.7 Software Product and Process: In the context of software development, the terms of "product" and "process" are significant. The main distinction between a process and a product is that a process is a collection of procedures used to direct a project in order to produce the desired output. In contrast, a product is the finished product of a software project. What is a Product? In the context of software engineering, a product is any software created in response to a client's request. In other terms, a product is the outcome of a planned and managed software project. A product's objective and scope should be established before project planning. A software product is made up of several components, including design and test documentation, requirement specifications, and user manuals . 20

Components of Product: The best software products begin with an excellent value proposition, and they must be carefully designed and extensively tested to ensure that value is delivered to the end user. A software product's components include: 1. Product Design: It is the visual aesthetic and interactive interface in which users may interact with the product. 2. Functionality and Features When people utilize a software product, they interact with it through functionality. 3. Content The data or details contained in a software product are referred to as its content. 21

Comparison between Product and Process : 22 Features Product Process Definition It is the outcome of a planned and managed software project. It supports software development by offering the structure of a complete software development strategy. Basic It is the final result of a development cycle. The process is a collection or set of stages that should be followed to create a product. Life Cycle Its life cycle tends to be in the short term. Its life cycle tends to be in the long term. Focus It is concerned with the end result. It is concentrated on completing each established step. Goal Its main goal is to complete the work effectively. Its main goal is to make the better quality of project. Layout It is a layout design style where the materials are needed to create the product that is placed in a single line based on the orders of operations. It is created when resources with comparable processes or functions are grouped together. Patents These are considered to provide more protection than process patents. It offers the inventor only limited protection. Utilization These are developed based on consumer demands and expectations. It may be utilized as a template for comparably creating numerous items. Follows It follows the company's deadlines. It follows a consistent routine.

2.8 V& V Model: V-Model also referred to as the Verification and Validation Model. 23

2.8 V& V Model: In this, each phase of SDLC must complete before the next phase starts. It follows a sequential design process same as the waterfall model. Testing of the device is planned in parallel with a corresponding stage of development . Verification : It involves a static analysis method (review) done without executing code. It is the process of evaluation of the product development process to find whether specified requirements meet. Validation : It involves dynamic analysis method (functional, non-functional), testing is done by executing code. Validation is the process to classify the software after the completion of the development process to determine whether the software meets the customer expectations and requirements. So V-Model contains Verification phases on one side of the Validation phases on the other side. Verification and Validation process is joined by coding phase in V-shape. Thus it is known as V-Model. 24

There are the various phases of Verification Phase of V-model : Business requirement analysis: This is the first step where product requirements understood from the customer's side. This phase contains detailed communication to understand customer's expectations and exact requirements. System Design: In this stage system engineers analyze and interpret the business of the proposed system by studying the user requirements document . Architecture Design: The baseline in selecting the architecture is that it should understand all which typically consists of the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology detail, etc. The integration testing model is carried out in a particular phase . 25

There are the various phases of Verification Phase of V-model : Module Design: In the module design phase, the system breaks down into small modules. The detailed design of the modules is specified, which is known as Low-Level Design Coding Phase: After designing, the coding phase is started. Based on the requirements, a suitable programming language is decided. There are some guidelines and standards for coding. Before checking in the repository, the final build is optimized for better performance, and the code goes through many code reviews to check the performance. 26

There are the various phases of Validation Phase of V-model : Unit Testing: In the V-Model, Unit Test Plans (UTPs) are developed during the module design phase. These UTPs are executed to eliminate errors at code level or unit level. A unit is the smallest entity which can independently exist, e.g., a program module. Unit testing verifies that the smallest entity can function correctly when isolated from the rest of the codes/ units. Integration Testing: Integration Test Plans are developed during the Architectural Design Phase. These tests verify that groups created and tested independently can coexist and communicate among themselves . System Testing: System Tests Plans are developed during System Design Phase. Unlike Unit and Integration Test Plans, System Tests Plans are composed by the client’s business team. System Test ensures that expectations from an application developer are met. 27

There are the various phases of Validation Phase of V-model : Acceptance Testing: Acceptance testing is related to the business requirement analysis part. It includes testing the software product in user atmosphere. Acceptance tests reveal the compatibility problems with the different systems, which is available within the user atmosphere. It conjointly discovers the non-functional problems like load and performance defects within the real user atmosphere. When to use V-Model: When the requirement is well defined and not ambiguous. The V-shaped model should be used for small to medium-sized projects where requirements are clearly defined and fixed. The V-shaped model should be chosen when sample technical resources are available with essential technical expertise. 28

Advantage (Pros) of V-Model: Easy to Understand. Testing Methods like planning, test designing happens well before coding. This saves a lot of time. Hence a higher chance of success over the waterfall model. Avoids the downward flow of the defects. Works well for small plans where requirements are easily understood. Disadvantage (Cons) of V-Model: Very rigid and least flexible. Not a good for a complex project. Software is developed during the implementation stage, so no early prototypes of the software are produced. If any changes happen in the midway, then the test documents along with the required documents, has to be updated. 29

30
Tags