Software_Engineering_Unit_1_SPPU___2019_

surabhigosavi 35 views 21 slides Jun 05, 2024
Slide 1
Slide 1 of 21
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

About This Presentation

Software Engineering


Slide Content

UNIT 1 Introduction to Software Engineering and Software Process Models Software Engineering ( 210254 ) Surabhi Palkar (Assistant Professor) Department of Computer Engineering 1

Course Objectives To learn and understand the principles of Software Engineering. To be acquainted with methods of capturing, specifying, visualizing and analyzing software requirements. To apply Design and Testing principles to S/W project development. To understand project management through life cycle of the project. -Surabhi Palkar (Assistant Professor) Department of Computer Engineering 2

Introduction to Software Engineering Software engineering is an engineering discipline which is concerned with all aspects of software production. Software engineering is an engineering discipline whose focus is the cost-effective development of high-quality software systems. Department of Computer Engineering 3 -Surabhi Palkar (Assistant Professor)

The Nature to Software Department of Computer Engineering P roduct Vehicle for delivering p roduct As computing potential embodied by computer hardware As the basis for the control of the computer (operating systems), the communication of information (networks), and the creation and control of other programs 4 -Surabhi Palkar (Assistant Professor)

The Nature to Software 1. As a product It delivers computing potential across networks of Hardware. It enables the Hardware to deliver the expected functionality. It acts as an information transformer because it produces, manages, acquires, modifies, displays, or transmits information. 2. As a vehicle for delivering a product It provides system functionality (e.g., payroll system) It controls other software (e.g., an operating system) It helps build other software (e.g., software tools) Department of Computer Engineering 5 -Surabhi Palkar (Assistant Professor)

Defining Software Department of Computer Engineering 6 -Surabhi Palkar (Assistant Professor) Software is:

Characteristics of Software Department of Computer Engineering 7 -Surabhi Palkar (Assistant Professor) Intangible Non perishable Easy to replicate Software is developed or engineered; it is not manufactured in the classical sense.

Software Engineering Software Engineering is the process of designing, developing, testing, and maintaining software. It is a systematic and disciplined approach to software development that aims to create high-quality, reliable, and maintainable software. Department of Computer Engineering 8 -Surabhi Palkar (Assistant Professor)

Software Engineering Vs Hardware Engineering Hardware engineering is the field of designing, developing, testing and producing physical computer systems. Manufactured Software engineering is designing, developing and testing computer software programs. Not manufactured (Engineered) 9 Department of Computer Engineering 9 -Surabhi Palkar (Assistant Professor)

Software Engineering Vs Hardware Engineering It gets affected with environment. For replacement – spare parts available. Mostly assembled from components. It doesn’t gets affected with environment. Spare parts not available. Custom built rather than assembled. 10 Department of Computer Engineering 10 -Surabhi Palkar (Assistant Professor)

Software Engineering Practices Software Engineering practices will help you to know about how to deliver quality software: Enhance Code Readability – Must logically structured into modules and functions. Using modules makes your code more efficient, reusable, and organized. Ensure Your Code Works Efficiently (Performance) “Keep It Simple, Silly/Stupid” Principle - Often, developers make things more complex than they need to be. You should prefer simple solutions over advanced solutions if the simple solution fulfills the requirements. Department of Computer Engineering 11 -Surabhi Palkar (Assistant Professor)

Software Engineering Practices YAGNI (You Aren’t Gonna Need It) Principle -developers often make things too general to cater to future requirements, and this is usually not a good idea. DRY (Don’t Repeat Yourself) Principle - eminds us that duplicate code leads to more code, and more code is harder and more expensive to maintain. Goal and objective of the software must be defined. Department of Computer Engineering 12 -Surabhi Palkar (Assistant Professor)

Software Engineering Myths Software myths in software engineering are common beliefs or assumptions about software development, processes, or tools that are not based on facts or evidence. Department of Computer Engineering 13 -Surabhi Palkar (Assistant Professor)

Management Myths We have all the standards and procedures available for software development. Fact: Software experts do not know all the requirements for the software development. And all existing processes are incomplete as new software development is based on new and different problem. Department of Computer Engineering 14 -Surabhi Palkar (Assistant Professor)

Management Myths The addition of the latest hardware programs will improve the software development. Fact: The role of the latest hardware is not very high on standard software development; instead (CASE) Engineering tools help the computer, they are more important than hardware to produce quality & productivity. Hence, the hardware resources are misused. Department of Computer Engineering 15 -Surabhi Palkar (Assistant Professor)

Management Myths With the addition of more people & program planners to Software development can help meet project deadlines (If lagging behind). Fact: If software is late, adding more people will merely make the problem worse. This is because the people already working on the project now need to spend time educating the newcomers, & are thus taken away from their work. The newcomers are also far less productive than the existing software engineers, and so the work put into training them to work on the software does not immediately meet with an appropriate reduction in work. Department of Computer Engineering 16 -Surabhi Palkar (Assistant Professor)

Customer Myths A general statement of intent is enough to start writing plans (software development) & details of objectives can be done over time. Fact: Official and detailed description of the database function, ethical performance, communication, structural issues & the verification process are important. Unambiguous requirements (usually derived iteratively) are developed only through effective & continuous communication between customer & developer. Department of Computer Engineering 17 -Surabhi Palkar (Assistant Professor)

Customer Myths Software requirements continually change, but change can be easily accommodated because software is flexible Fact : It is true that software requirements change, but the impact of change varies with the time at which it is introduced. When requirements changes are requested early (before design or code has been started), the cost impact is relatively small. However, as time passes, the cost impact grows rapidly—resources have been committed, a design framework has been established, and change can cause upheaval that requires additional resources & major design modification. Department of Computer Engineering 18 -Surabhi Palkar (Assistant Professor)

Practitioner’s Myths They believe that their work has been completed with the writing of the plan. Fact: It is true that every 60-80% effort goes into the maintenance phase (as of the latter software release). Efforts are required, where the product is available first delivered to customers. Department of Computer Engineering 19 -Surabhi Palkar (Assistant Professor)

Practitioner’s Myths There is no other way to achieve system quality, until it is “running”. Fact: Systematic review of project technology is the quality of effective software verification method. These updates are quality filters and more accessible than test. Department of Computer Engineering 20 -Surabhi Palkar (Assistant Professor)

21 Department of Computer Engineering -Surabhi Palkar (Assistant Professor)
Tags