Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding Software Engineering: Definition, Importance, and Process, Slides of Software Engineering

An introduction to software engineering, explaining the concept, its importance, and the software development life cycle (SDLC). Topics covered include the definition of software, the need for software engineering, the objectives of software engineering, and the SDLC process. Students will gain knowledge of software design, UI design, and the roles of software as a product and as a program.

Typology: Slides

2021/2022

Uploaded on 03/23/2022

anamika-gupta-1
anamika-gupta-1 🇮🇳

3 documents

1 / 37

Toggle sidebar

Related documents


Partial preview of the text

Download Understanding Software Engineering: Definition, Importance, and Process and more Slides Software Engineering in PDF only on Docsity! DISCOVER . LEARN . EMPOWER Introduction to Software Engineering University Institute of Engineering DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Bachelor of Engineering Subject Name: Software Engineering Subject Code: CST-254 Department of Computer Science & Engineering 1 Introduction to Software Engineering CO Number Title Level CO1 Students will be able to learn how to apply the software engineering lifecycle by demonstrating competence in communication, planning, analysis, design, construction, and deployment. Understand CO2 Students will be able to gain knowledge of software design and UI design. Understand CO3 Students will be able to apply testing guidelines. Understand Course Outcome 2 Department of Computer Science & Engineering Dual Role of Software 1. As a product – • It delivers the computing potential across network of Hardware. • It enables the Hardware to deliver the expected functionality. • It acts as 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) 5 Department of Computer Science & Engineering • Program is a set of instruction related each other where as Software Product is a collection of program designed for specific task. • Programs are usually small in size where as Software Products are usually large in size. • Programs are developed by individuals that means single user where as Software Product are developed by large no of users. • In program, there is no documentation or lack in proper documentation whereas in Software Product, Proper documentation and well documented and user manual prepared. Program vs. Software 6 Department of Computer Science & Engineering • Development of program is Unplanned, usually not Systematic etc but Development of Software Product is well Systematic, organized, planned approach. • Programs provide Limited functionality and less features where as Software Products provides more functionality as they are big in size more options and features. Program vs. Software 7 Department of Computer Science & Engineering Development • Programs: Unplanned, not Systematic i.e. ad hoc development. • Software Product: A well Systematic, organized, planned approach is used in development. Functionality • Programs: Provides limited functionality and less features. • Software Products: It provides more functionality as they are big in size (lines of codes) more options and features are provided. 10 Program vs. Software OG Pr: RAM Software prdor cu UNIVERSITY Smace < Size > A Lacks EN PeoPER t DOCOMENTATION “ LARGE No. A Siwere ceo : DENELOPER. ss \e . A No INTERFACE WE DESIENES < USER- INTERFACE é 1 PLANNED ! DEVELOPMENT -_ LimrreD MORE oPrrows + ‘ ¢ FuNncrionAs ivy ma • Software Engineering is a systematic approach to the design, development, operation, and maintenance of a software system. • Software engineering is an engineering discipline that’s applied to the development of software in a systematic approach • It’s the application of theories, methods, and tools to design build a software that meets the specifications, cost, and ensures quality. Software Engineering 12 • Reliability – an attribute of software quality. The extent to which a program can be expected to perform its intended function, over an arbitrary time period. • Portability – the ease with which software can be transferred from one computer system or environment to another. • Adaptability – the ease with which software allows differing system constraints and user needs to be satisfied by making changes to the software. Objectives of Software Engineering/ Attributes for Software Products 15 Software Engineering is required due to the following reasons: • To manage Large software • For more Scalability • Cost Management • To manage the dynamic nature of software • For better quality Management Need of Software Engineering 16 • Large software - It is easier to build a wall than to a house or building, likewise, as the size of software become large engineering has to step to give it a scientific process. • Scalability- If the software process are based on scientific and engineering concepts, it would be easier to scale an existing one. • Cost- As hardware industry has shown its skills and huge manufacturing has lowered down the price of computer and electronic hardware. But the cost of software remains high if proper process is not adapted. Need of Software Engineering 17 • Reduces complexity • Software engineering has a great solution to reduce the complication of any project. • Software engineering divides big problems into various small issues. • And then start solving each small issue one by one. All these small problems are solved independently to each other. Importance of Software Engineering 20 • To minimize software cost: • Software needs a lot of hardwork and software engineers are highly paid experts. • But using software engineering, programmers project everything and decrease all those things that are not needed. • In turn, the cost for software productions becomes less as compared to any software that does not use software engineering method. Importance of Software Engineering 21 • To decrease time: • To achieve the requirements of the software, many codes are executed to reach the definite running code. • This is a very time-consuming procedure, and if it is not well handled, then this can take a lot of time. • So if you are making your software according to the software engineering method, then it will decrease a lot of time. Importance of Software Engineering 22 • Effectiveness: • Effectiveness comes if anything has been made according to the standards. • Software standards are the big target of companies to make it more effective. • So Software becomes more effective in the act with the help of software engineering. Importance of Software Engineering 25 • Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software. • The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. • The life cycle defines a methodology for improving the quality of software and the overall development process. • It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. Software Development Life Cycle 26 Software Development Life Cycle SDLC Building 27 me • Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a Design Document Specification (DDS). • DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. • A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules. Stage 3: Designing the Product Architecture 30 • In this stage of SDLC the actual development starts and the product is built. • The programming code is generated as per DDS during this stage. • If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Stage 4: Building or Developing the Product 31 • Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. • Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. • The programming language is chosen with respect to the type of software being developed. Stage 4: Building or Developing the Product 32 • Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. • After the product is released in the market, its maintenance is done for the existing customer base. Stage 6: Deployment in the Market and Maintenance 35 • https://nptel.ac.in/courses/106/105/106105182/ • https://www.tutorialspoint.com/software_engineering/index.htm • https://www.javatpoint.com/software-engineering-tutorial • https://www.tutorialride.com/software-engineering/software- engineering-tutorial.htm • https://tutorialsinhand.com/tutorials/software-engineering- tutorial/software-engineering-introduction/software-engineering- home.aspx References 36 THANK YOU 37
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved