Software engineering

323
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
323
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Speak of lookup tables for single values
  • Software engineering

    1. 1. Application OfFuzzy Logic inSoftware-EngineeringM.SiddardhaP.DineshSaurabh Sharma
    2. 2. WHAT IS SOFTWARE ENGINEERING? Software engineering is an engineering that is concerned withall aspects of software production. Software, is any set of machine instructions to performspecific operations. Software Engineering is the application of asystematic, disciplined, quantifiable approach to Design Development Testing and Maintenance and Evolution of a SOFTWARE.
    3. 3. Component-Based SoftwareEngineering• Most of today’s applications are large andcomplex.• An application must have some additionalcharacteristics like usability, flexibility, simpleinstallation, reusability, portability,interoperable, etc. to fight with theadvancement in the technology and rapidlychanging requirements
    4. 4. Component Based Development(CBD)• CBD can be best described by the followingtwo guiding principles:– Reuse but do not reinvent;– Assemble pre-built components rather thancoding line by line.
    5. 5. • Component Based Software Development(CBSD) is getting popular in software industryas a new effective development paradigm.• It emphasizes the design and construction ofsoftware system using reusable components.• CBSD is capable of reducing development costand increasing the reliability of entiresoftware system using components.
    6. 6. Component• A component is a Reusable and self -containedpiece of software with well-specified interfacethat is independent of any application.• It is an independent executable entity that canbe made up of one or more executable objects• Size of a component may vary from simplefunctions to an entire application systems
    7. 7. • New components can be developed, or evenacquired from third party.• An extra effort must be paid for the additionalfunctionality of the component beyond the currentapplication’s need, to make the component moreuseful
    8. 8. Reusability• It is the degree to which a component can bere-used and reduces the softwaredevelopment cost by enabling less coding andmore integration
    9. 9. Implementation of Fuzzy Systemfor Estimation of Re-Usability• Fuzzy based model for estimation of re-usability considers five factors as inputs andprovides a crisp value of reusability• All inputs can be classified into fuzzy sets• The output reusability is classified as VeryHigh, High, Medium, Low and Very Low.
    10. 10. Estimating The Reusability• To estimate reusability of Component BasedSystem, following factors have been identified:– Customizability– Interface Complexity– Understandability– Portability
    11. 11. • Customizability is defined as the ability tomodify a component as per the applicationrequirement– Better reusability can be achieved ifcustomizability is high– Customizability of a component may vary from 0to 1.
    12. 12. • Interface Complexity:– As components are black box in nature, we areunable to get the source code of thesecomponents.– Interface acts as a main source forunderstanding, use and implementation andfinally maintenance for the component.– Therefore for better reusability, interfacecomplexity should be as low as possible .
    13. 13. • Understandability:– Documentation provides the ease with which a usercan learn to operate, prepare inputs for, and interpretoutputs of a system or component.– Better reusability can be achieved ifUnderstandability is better• Portability– It is the ability of a component to be transferred fromone environment to another. It is typically concernedwith reuse of component on new platforms.
    14. 14. • There are many rules fed to FIM such as:– if Customizability of components is Low, InteractionComplexity among component is High,Understandability is Low, Commonality is Low andPortability is Low then it is very difficult to maintainthe system i.e. Reusability will be Very Low.– If Customizability of components is Low, InteractionComplexity among component is High,Understandability is Low, Commonality is Medium andPortability is Medium then Reusability will be Low.– Etc..,
    15. 15. Requirements Engineering• Many of the Software development phasesare highly communication-intensive activitythat involves analysts, architects, developers,testers, business stakeholders, and end users.• Among all the phases of software engineering,requirements are key ingredient• So, the focus of every developmentmethodology is on requirement engineeringphase.
    16. 16. • Software development involves roughly 50percent computing and 50 percentcommunication.• Whenever human communicationinvolve, various linguistic variables come intopicture.
    17. 17. example• For example, in object-oriented methods a candidate classis generally identified by applying the rule:• If an entity in a requirement specification is relevant andexist autonomously then select it as a candidate class.• This rule says "an entity is either a candidate class or not acandidate class but not both".• The software engineer may sometimes conclude that theentity partially fulfils the relevance criterion, and mayprefer to define the relevance of an entity, for instance, assubstantially relevant. This definition would imply theclassification of the entity as a partial class, which isconsidered as an inconsistent class definition by the currentobject-oriented methods.
    18. 18. example• The rule should have been:• If an entity in a requirement specification is relevance-valuerelevant and can exist autonomy value autonomous in theapplication domain, then select it as a relevance-value relevantcandidate class. Here,– relevance and autonomy are the properties (inputs)– relevance-value and autonomy-value indicate the domains of theseproperties.– Based on these domains and rules for the relevance of candidate class,we can get the crisp output of candidate class• For example, relevance-value may represent the set of values{Weakly, Slightly, Fairly, Substantially, Strongly}, and autonomy-value may represent the set of values {Dependently, PartiallyDependently, Fully Autonomously}.
    19. 19. Autonomy Dependent PartiallydependentFullyRelevanceWeakly Weakly Weakly WeaklySlightly Weakly Slightly SlightlyFairly Weakly Slightly FairlySubstantially Weakly Fairly SubstantiallyStrongly Slightly Fairly Strongly
    20. 20. Fuzzy Logic inSize estimation.
    21. 21. Size estimation• To estimate the size of an object (tobe created) using the sizes ofpredefined list of objects.
    22. 22. Advantages of size estimation• Size estimation can be done inadvance to make better plans• To assist in tracking progress• to learn and build estimating skills.
    23. 23. Uncertainty in estimation• Estimation is an uncertain process• Earlier you try to estimate, the less is theaccuracy of estimation
    24. 24. Steps in size estimation1. Gather size data on previously developedprograms.2. Divide the historical product size data intosize ranges.3. Compare the planned product with theseprior products.4. Based on this comparison, select the size thatseems most appropriate for the new product.
    25. 25. Application of size estimation.• A file utility of 1,844 LOC.• A file management program of 5,834 LOC.• A personnel record keeping program of 6,845LOC.• A report generating package of 18,386 LOC.• An inventory management program of 25,943LOC.
    26. 26. Steps in size estimation• log(1844) = 3.266• log(5834) = 3.766• log(6845)= 3.835• log(18386)= 4.2645• log(25943)= 4.414
    27. 27. We will establish 5 size ranges, as follows:3.122 – 3.409 (1,325 to 2,566) very small3.409 – 3.696 ( 2,566 to 4,970) small3.696 – 3.983 (4,970 to 9,626) medium3.983 – 4.270 (9,626 to 18,641) large4.270 – 4.557 (18,641 to 36,104) very large.3.266 3.553 3.840 4.127 4.4143.122 3.409 3.696 3.983 4.270 4.557
    28. 28. • file utility  very small• file management program medium• personnel record keeping programmedium• A report generating package large• An inventory management programverylarge
    29. 29. Analysis• Suppose we want to estimate the size of aprogram “Analyze marketing”• It is a substantially more complex applicationthan either the file management or personnelprograms. It is not as complex as the inventorymanagement program and appears to havesignificantly more function than the reportpackage. You conclude that the new program is inthe lower end of “very large,” or from 18 to 25KLOC.
    30. 30. Drawbacks of size estimation• It requires a lot of data.• It only provides a crude sizing.• It is not useful for programs much larger orsmaller than the historical data.
    31. 31. THANK YOU

    ×