






















































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering Software Engineering
Typology: Thesis
1 / 94
This page cannot be seen from the preview
Don't miss anything!
1 Software Engineering
Biyani’s Think Tank 2
Published by :
Concept & Copyright :
Sector-3, Vidhyadhar Nagar, Jaipur-302 023 (Rajasthan) Ph : 0141-2338371, 2338591-95 Fax : 0141- E-mail : acad@biyanicolleges.org Website :www.gurukpo.com; www.biyanicolleges.org
Edition: 2013
Laser Type Set by: Biyani College Printing Department
While every effort is taken to avoid errors or omissions in this Publication, any mistake or omission that may have crept in is not intentional. It may be taken note of that neither the publisher nor the author will be responsible for any damage or loss of any kind arising to anyone in any manner on account of such errors and omissions.
Biyani’s Think Tank 4
Introduction
Q.1 What do you mean by software?
Ans: A software system or software is: (i) Instructions/Computer programs that when executed provide desired function & performance. (ii) Data structures that enable the programs to adequately manipulate information. (iii) Documents that describe the operation and use of the programs.
We can say that a software system consists of a number of separate programs, configuration files, which are used to setup these programs, system documentation, which describes the structure of the system & user documentation which explains how to use the system & website for users to download recent product information.
Q.2 What are the characteristics of Software?
Ans: For a better understanding about the software and hence software engineering, the characteristics of the software are required to be discussed. Since, software is a logical system (whereas, hardware is a physical system), its characteristics are different from hardware:
Q.3 Compare software development and hardware manufacture?
Ans: Similarities between software development & hardware manufacture: High quality is achieved through good design Both activities depend on people and their requirements.
Dissimilarities between software development & hardware manufacture: The manufacturing phase of hardware can have quality problems which couldn‟t be rectified as easily as in software development phase.
5 Software Engineering
Though both activities depend on people, but the relationship between the people applied and work accomplished is entirely different. As for hardware manufacturing market survey and competitors policies are to be considered on priority, whereas software development concentrates more on the user requirements. Both activities target for a product as a result, but the approaches followed are entirely different. (As there are SDLC set of phases for software development, whereas the product manufacturing involves different phases like consumer tendency, market analysis etc.) Cost of manufacturing a hardware product could be estimated exactly & easily, whereas it‟s comparatively difficult to estimate exactly in case of software development. Software doesn‟t “Wear out”. The relationship of failure rate with time for a hardware is like a “bathtub curve” As shown in Fig 1.
Fig 1.1 Failure curve for hardware This curve shows that hardware show high rate of failure in it‟s early stage due to design or manufacturing defects, when there defects are corrected, the failure rate deeps i.e. very low & steady for a period of time. But as the time passes, due to environmental effects like temperature, dust, moisture, the hardware begins to wear out. In a broader way, as comparing software with hardware, we can say that the software doesn‟t wear out due to environmental conditions (as in case of hardware). Theoretically the failure rate v/s time curve for software is an ideal curve as shown in figure 1.
7 Software Engineering
The software industry is moving towards component based assembly. Most of the software continues to be customer built. As in case of hardware, we have well defined set of IC or chips (Integrated) and screws and other components and that could be used to design different hardware (reusability of hardware components). In case of software, library routines & subroutines are to be developed for reusability. A software component should be designed & implemented so that is can be reused in many other different programs.
Q.4 What are Software Myths?
Ans: Most, knowledgeable professionals have recognized myths or beliefs (untrue beliefs or explanations) which are misguiding the attitudes (of the users) causing serious problems for managers & technical persons. Different types of Myths relevant to the software are as classified in figure 1.4.
Figure 1.4 Software Myths
(i)Management Myths: Myth 1: We have all the standards & procedures available for building software i.e the software developer have everything what is reqd. Reality:
Biyani’s Think Tank 8
Myth 2: The Addition of latest hardware systems would improve the software development. Reality:
(ii)Customer Myths: Customer could be the direct users of the software, a technical group, marketing /sales department, or some other company. The customer possesses the myths which lead to the false expectations (by the customer) & hence create dissatisfaction with the developer. Myth 1: A general statement of objectives is sufficient to begin writing programs (software development) and the details of the objectives could be done later. Reality: A formal & detailed description of the information domain function, behaviors performance, interfaces, design constraints and validation criteria is essential. A thorough communication between customer & developer is must. Myth 2: Project requirement continually change, but, change, can be easily accommodated due to the flexible nature of the software. Reality: Changes are made till the last phases of the software development but the cost of making those changes increase with the later stages of development. A detailed analysis of user requirements should be done to minimize the change requirement. Fig 1.5 shows the cost of change with respect to the phases of development.
Biyani’s Think Tank 10
Reality: Software Engineering is not about creating documents, instead it is there for creating quality and better quality leads to the reduced rework & this reads to a faster delivery of the product.
Q.5 What are various Software Applications?
Ans: Software may be applied in any situation for which a specified set of procedural steps (i.e. an algorithm) has been defined. Information content & determinacy are important factors in determining the nature of a software application. Following are the categories of the software with their corresponding applications.
11 Software Engineering
Q.6 Define Software Engineering. Ans: Software Engineering (SE) is the establishment & use of sound engineering principles in order to obtain economic, reliable and efficient software. Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation & maintenance of software. Software Engineering is layered technology as shown in Figure 1.6.
Figure 1.4 SE layers
13 Software Engineering
Figure: 2.2 Basic Structure of the Software Development Process
The process development is similar to SDLC.
Q.3 What are the different categories of process models?
Ans: There are many process models which are used in different areas. The waterfall model & the evolutionary models are commonly used for the practical development. The other models are used in the specific fields. The model categorization is shown in Fig. 2.
Biyani’s Think Tank 14
Figure: 2.3 Process Models Categories
Q.4 Explain Waterfall model / linear Sequential Model.
Ans: Waterfall model is: The simplest oldest process model Best suited where requirements can be clearly defined. Steps of development are followed consecutively Each step involves detailed activities Each step produces an output which becomes the input of the next step. Major phases/steps of the waterfall model are shown in fig 2.
Biyani’s Think Tank 16
A Detail analysis model with high-level description of requirements is produced Outputs:
17 Software Engineering
Figure: 2.5 Testing Procedure
Output: A complete integrated & tested software for the user.
Phase: 6 Implementation & Maintenance : Software is installed at user location & if any deficiencies or errors are found, they are removed. If the changes are not minor, then requirements of a new system arise. Model Summary :
Advantages
19 Software Engineering
Phase 1: Listen to Customers
Phase 3: Customer Evaluation
Biyani’s Think Tank 20
Figure: 2.7 Process of prototyping
Advantages of prototype model:
Disadvantage of Prototype Model:
Q.6: Explain RAD Model/Rapid Application Development Model.
Ans: RAD model is also a speedy method of model development.