0% found this document useful (0 votes)
10 views68 pages

Sedp-2 11zon

Uploaded by

vrvvr9390
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
10 views68 pages

Sedp-2 11zon

Uploaded by

vrvvr9390
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 68
UNIT-1 DUCTION 10 SOFTWARE ENGINEERING Software is a program or set of prograi s containing instructior s that provide desired functionality Engineering is the process of designing and building something that serves a particular purpose and finds a cost-effective solution to problems. + Software engineering includes a variety of techniques, tools, and methodologies, including requirements analysis, design, testing, and maintenance, + The main goal of Software Engineering is to develop software applications for improving quality. budget, and time efficiency + Software Engineering ensures that the software that has to be built should be consistent, correct, also on budget, on time, and within the required requirements Key Principles of Software Engineering: 1 Modularity: Breaking the software into smaller, reusable components that can be developed and tested independently 2, Abstraction: Hiding the implementation details of a component and expo: functionality to other parts of the software. g only the necessary 3, Encapsulation: Wrapping up the data and functions of an object into a single unit, and protecting the internal state of an object from external modifications, 4. Reusal resources. ity: Creating components that can be used in multiple projects, which can save time and 5. Maintenance: Regularly updating and improving the software to fix bugs, add new features, and address security vulnerabilities 6. Testing: Verifying that the software meets its requirements and is free of bugs. 7. Design Patterns: Solving recurring problems in software design by providing templates for solving them. 8 Agile methodologies: Using iterative and incremental development processes that focus on customer satisfaction, rapid delivery, and flexibility. 9. Continuous Integration & Deployment: deploying them into the production environment. ‘ontinuously integrating the code changes and 1|Page MLEW SE&DP (G scanned with OKEN Scanner = design, © development, © operation, and © maintenance + = THEEVOLVING ROLE OF Today, software takes on a duel role. It is a product and, at the same time, the vehicle for delivering a product. As a produet, it delivers the computing potential embodied by computer hardware or, more broadly, a network of computers that are accessible by local hardware. Whether it resides within a cellular phone or operates inside a mainframe computer, software is an information transformer—producing, managing, acquiring, modifying, displaying, or transmitting information that can be as simple as a single bit or as complex as a multimedia presentation. As the vehicle used to deliver the product, software acts as the basis for the control of the computer (operating systems), the communication of information (networks), and the creation and control of other programs (software tools and environments). Software delivers the most important product of our time— > a “y a ea ( 7 + 2|Page MLEW SE&DP (G scanned with OKEN Scanner + CHANGING NATURE OF SOFTWARE: LSystem software: Infrastructure software come under this category like compilers, operating systems, editors, drivers, ete. Basically system sofiware is a collection of programs to provide service to other programs. 2. Real time software: These software are used to monitor, control and analyze real world events as they occur. An example may be software required for weather forecasting. Such software will gather and process the status of temperature, humidity and other environmental parameters to forcast the weather. 3. Embedded software: This type of software is placed in “Read-Only- Memory (ROM)"of the product and control the various functions of the product. The product could be an aircraft, automobile, security system, signalling system, control unit of power plants, etc. he embedded software handles hardware components and is also termed as intelligent software 4, Business software : This is the largest application area, The software designed to process business applications is called business software. Business software could be payroll, file monitoring system, employee management, account management, It may also be a data warehousing tool which helps us to take decisions based on available data. Management information system, enterprise resource planning (ERP) and such other software are popular examples of business software. 5, Personal computer software: The software used in personal computers are covered in this category. Examples are word processors, computer graphics, multimedia and animating tools, database management, computer games ete, This is a very upcoming area and many big organisations are concentrating their effort here due to large customer base 6. Artificial intelligence software. Artificial Intelligence software makes use of non numerical algorithms to solve complex problems that are not amenable to computation or straight forward analysis. Examples are expert systems, artificial neural network,signal processing software etc. 7. Web based software: The software related to web applications come under this category. Examples are CGI, HTML Java,Perl, DHTMLete. LEGACY SOFTWARE: Legacy software is software that has been around a long time and still fulfils business need. It is mission critical and tied to a particular version of an operating system or hardware model (vendor lock-in) that has gone end-o! Generally the lifespan of the hardware is shorter than that of the software. 3| Page MLEW SE&DP (G scanned with OKEN Scanner + SOFTWARE MY1 Software Myths: Software myths are erroneous beliefs about software and the process that is used to build it. We categorize myths from three different perspectives. | Management myths Myth1: We already have a book thet’s full of standards and procedures for building software. Won't that provide my people with everything they need to know? Reality: The book of standards may very well exist, but is it used? Are software practitioners aware of its existence? Does it reflect modern software engineering practice? Is it complete? Is it adaptable? Is it streamlined to improve time-to-delivery while still maintaining a focus on quality? In many cases, the answer to all of these questions is “no. Myth2: If we get behind schedule, we can add more programmers and catch up (sometimes called the “Mongolian horde” concept) Reality: Sofiware development is not a mechanistic process like manufacturing. As new people are added, people who are working must spend time educating the newcomers, thereby reducing the amount of time spent on productive development effort, People can be added but only in a planned and well coordinated manner. Myth3: If I decide to outsource the software project to a third party, I can just relax and let that firm build it Reality: If an organization does not understand how to manage and control software projects internally, it will invariably struggle when it out-sources sofiware projects. 2.Customer myths Myth1: A general statement of objectives is sulficient to begin writing programs—we can fill in the details later: Reality: Although a comprehensive and stable statement of requirements is not always possible, an ambiguous “statement of objectives” is a recipe for disaster. Myth2: Software requirements continually change, but change can be easily accommodated because software is flexible Reality: It is true that software requirements change, but the impact of change varies with the time at which itis 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 3.Practitioner’s myths: Myth: Once we write the program and get it to work, our job is done Reality: Someone once said that “the sooner you begin ‘writing code,’ the longer it'll take you to get, done.” Industry data indicate that between 60 and 80 percent of all effort expended on sofiware will be expended after itis delivered to the customer for the first time Myth2: Until I get the program “running” I have no way of assessing its quality. [Page MEW SE&DP (G scanned with OKEN Scanner

You might also like