0% found this document useful (0 votes)
307 views85 pages

SE Decode SE IT

Uploaded by

vinayakteli100
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)
307 views85 pages

SE Decode SE IT

Uploaded by

vinayakteli100
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/ 85
TABLE OF CONTENTS Unit II Design Engineering (3-1 t0-ah Part I: Design Engineering Chapter - 3 3.1 Design Process and Quality 3.2. Design Concepts 33 . 3.4 Patter - based Software Design. 3.8 Architectural Design. 3.6 Design Decisions... 3.7 Views. 3.8 Patterns 3.9 Application Architectures... Part II : Component Level Design 3.10 Component - 3.11 Designing Class based components... 3.12. Conducting Component-Level Design. 3.13 User Interface Design .. Chapter-4 Project Planning, Management and Estimation (4-1) to (4 - 48) Part + Project Planning 4.1 Project Initiation. 42 Planning Scope Management. 43° Creating the Work Breakdown Structure... 44° Scheduling. Part If: Pro} Management 4.8 The Management Spectrum. oe bo 46. People 4-26 4.7 Product, 4-28 48 Process 4-29 49° Project 4-29 40. The WS a 4-30 4 in the Process and Project Domains aul 433 4,12. Software Measurement P Project Estimation 4.13 Software Project Estimation 4-42 4.14 Decomposition Techniques.. 4-44 4.15 Cost Estimation Tools and Techniques... 4-46 4,16 Typical Problems with IT Cost Estimates... a 4-47 Software Quality and Testing (5-1) to (5 - 45) Part 1: Quality Concepts Chapter - 5 5+ 3+ Software Quality. 5.3. Quality Metrics 5.4 Software Quality Dilemma... 3 55 Achieving Software Qu: Pa Software Testing 56 ion to Software Testing 5.7 Principles of Testing 58 Test Plan... oS-11 5-12 5-14 Ww o Thapter-6 Formal Methods Recent Trends in Software Engineering (6-1) to.6. 31) 61 SCM. 62. Risk Management. 63 Emerging Software Engineering Trends.. 6A CASE ieee 65 Introduction to Agile Tools. ————=— ——e (S-1) to S- ia Solved SPPU Question Papers wi [unite 3 Design Engineering Pee ae Design Process and Quality translates the requirements into finished software product in which the details about the software data structures, architecture, interfaces, and ‘components that are necessary to implement the system are given. Software design is an iterative process using which the user requirements can be translated into the software product. Q.2 Explain the quality attributes, considered in software design. EB [SPPU : Dec.-12, Marks 8, Dec. The design quality attributes popularly known as FURPS ity, Performance and Supportability) is a set of criteria developed by Hewlett and Packard. Following table represents meaning of each quality attribute Quality Attribute Meaning Functionality can be checked by assessing the set of features and capabilities of the functions. The functions should be general and should not work only for particular set of inputs. Similarly the security aspect should be considered while designing the a. @-p Software Engineering 33 Design Engineering 3. The design should be modular. That means the subsystems in the design should be logically partitioned. The data structure should be appropriately chosen for the design of specific problem. QTTE) is a metric that is widely used yg The components shouldbe used inthe design so that functional freasure the product's performance ayy independency can be achieved in the design Using the information obtained in software requirement analysis the design should be created. a measure that represents the response Performance i 7. The interfaces in the design should be such that the complexity of the system. Measuring the performance between the connected components of the system gets reduced, means measuring the processing spec, Similarly interface of the system with external interface should memory usage, Tesponse time ang be simplified one. efficiency. 8. Every design of the software system should convey its Supportability also called maintainability. It is the meaning appropriately and effectively. ability to adopt the enhancement or changes 4 What are the software design quality attributes and quality made in the software. It also means the guidelines ? EF [SPPU : Dect9, Marks 7] ability to withstand in a given environment, Ans. : Quality Attributes : Refer Q2. Q.3 What are the design quality guidelines ? Quality Guidelines : Refer Q3. ES [SPU : May-14, Marks 8; Dec.-22, Marks 9] lines are as follows - Ans. : The quality gui 1, The design architecture should be created using. following Q5 Explain about various design concepts considered during = a vi design. ‘GBP [SPU : April-15, Marks 6] © The design should be created using architectural styles and ‘Ans. + The software design concept provides a framework for itterns, ieee i im ome : i" iplemeniting the right software, i erent of Mesigh should peseey, oud desiep Following are certain issues that are considered while designing the (© The implementation of design should ee plementation of design should be evolutionary, so : : . ti ‘© Information hic that testing can be performed at each phase of ee formation hiding implementation, © Modularity © Functional independence 2. In the design the dat, architecture, interfaces and components £.frehiomre f, Refhetoring should be clearly represented, © Refinement # Design classes © Patten ees A Guide for Enginecring Suden’s ee sneer Marks 6, Hayr83, Marks 8; Dec-22, Margy 9 ay-A 23s ofelabor Refinement is actually # Pro down design St8t¢BY proposed by Stepwise refinement is 4 f0P Niklaus WIRTH. : “The architecture ofa program is developed by successively refining levels of procedural detail. The process of program refinement i analogous to the process of refinement and paritioing that is used during requirements analysis. ‘Abstraction and refinement are complementary concepts, The majo difference is that - Inthe abstraction low-level details are suppressed. Refinement helps the designer to elaborate low-leve] details. ) Modularity : ‘The software is divided into separately named and addressable ‘components that called as modules. * Monolithic software is hard to grasp for the software engineer, hence it has now become a trend to divide the software into number of products. But there is a co-relation between the number of modules and overall cost of the software product. ‘The overall complexity of two problems when they are combined is greater than’ the sum of complexity of the problems when considered individually. This leads to divide and conquer strategy (according to divide and conquer strategy the problem is divided ito smaller subproblems and then the solution to these ‘subproblems is obtained) eos A Guide for Engineering Sinden ‘+ Thus dividing the software problem into manageable number of ces leads to the concept of modularity. is possible to conclude tl if we subdivide the software indefinitely then effort required to develop each software But this conclusion is invalid ‘component will become very sm: because the total number of modules get increased the efforts required for developing each module also gets increased. th each effort gets increased. That means the cost associated ‘The effort (cost) required for integration these modules will also get increased. The total cost required to develop such software product is shown by Fig. Q6.1 The Fig. Q.6.1 provides useful guideline for the modularity and is - overmodularity or the undermodularity while developing the software product must be a modularize the software but the modularity must remain near the region denoted by M. Etlot or cost Region of under - rmodulrly, Q.6.1 Modularity and software cost © Modularization should be such that the development can be planned easily, software increments can be defined and delivered, oat A Guide for Englucering Students secommmodited and joy, reo t yn be m0 ffectively. ty, sed out ee te carried : overall stru gs epee of etre op re YTS COMPONENS ines In are! a roe is sed Y v0 Compare, % of te 7 aystem elements. Architecture pr ‘ le s components ee the software SYSTEM SO that jin, te asic framework for may canbe conducted in systematic manner In arcitecrural design various system models can be used a + In art these are Model ‘Structural model Funetioning ‘Overall architecture of the system can pe represented using this model. Framework | This model shows the architectural framewory and corresponding applicability. Dynamic model | This model shows the reflection of changes on the system due to extemal events, Process model |The sequence of processes and their functioning is represented Functional model | The functional hierarchy occurring in the system is represented by this model. is model, 7 Explain the following fundamental software design concep i) Abstraction ii) Architecture 7?) OF [SPPU : June-22, Dec.-22, Marks 9] : pany ‘on means an ability to cope up with the complexity. ‘ohare design occurs at different levels of abstraction. At each stage of software design Process levels of , te plea rinedecotees e of stats shoud Design Engineering ‘© At the higher level of abstraction, the solution should be stated in ‘ond terms and in the lower level more detailed description of solution is given. moving through different levels of abstraction the abstraction are created. * Whi procedural abstraction and The procedural abstraction gives the named sequence of instructions in the specific function. That means the functionality of procedure is hidden, For example Search the record is a n details are hidden . Enter the name, compare each name of the recor entered one, if a match is found then declare succes declare ‘name not found’) in data abstraction the collection of data objects is represented. For example for the procedure search the data abstraction w record. The record consists of various attributes such as record ID, name, address and designation. ‘Architecture : Refer Q6 .ccording to Brad Appleton the design pattem can be defined as - It is a named nugget (something valuable) of insight which conveys the essence of proven solution to a recurring problem within a certain context. In other words, design pattem acts as a design solution for a particular problem occurring in specific domain. Using design patter designer can determine whether- ‘+ Patter can be reusable. ‘© Patter can be used for current work. * Patter can be used to solve similar kind of problem with different functionality Q.8 What do you understand by refactoring ? Give the importance of refactoring in improving quality of software. EF [SPPU : May-15, Marks 6] eons A Guide for Enginecing Students Desigu Engineerin + for simplifying the design without hanging the function or behaviour. Fowler has defined refactoring as changing s “Th aes of changing a software system in such a way that the he sxtemal behavior of the design do not get changed however the internal structure gets improved”. Importance of refactoring + The redundancy can be achieved, hms can be eliminated or can be replaced by ‘Ans. : Refactoring is necessa viour. + Inefficient algoritl efficient one. Poorly constructed or inaccurate data structures can be removed or replaced. + Other design failures can be rectified, The decision of refactoring particular component is taken by the designer of the software system, Q.9 Differentiate between abstraction and refinement. a [sert ec-12, Marks 4] Ans, : Refer Q.6 (i) and Q.7 (i) Q.40 Discuss the statement, "Abstraction and refinement are complementary concepts. ‘Ans. + Abstraction and refinement are complementary concepts. The major difference is that - in the abstraction low-level details are suppressed. Refinement helps the designer to elaborate low-level details. Q.11 What do you mean by the term cohesion and coupling in context of software design ? How are these concepts useful in arriving at a good design of a system? E@ [SPPU : Dec.-16, Marks 5] Ani ‘ohesion © With the help of cohesion the formation hiding can be done. + A cohesive module performs only “one task” in software procedure With little interaction with other modules. In other words cohesive module performs only one thing. A Guide far Engine tents * Different types of cohesion are 1 Ci ‘dentally cohesive - The modules in which the set of sks are related with each other loosely then such modules are coincidentally cohesive, 2, Logically cohesive - A module that performs the tasks that are logically related with each oth: :d logically cohesive. 3. Temporal cohesion - The module in which the tasks need to be executed in some specific time span cohesive, cal called temporal 4, Procedural cohesion - When processing elements of a module are related with one another and must be executed in some specific order then such module is called procedural cohesive. 5, Communicational cohesion - When the processing elements of module share the data then such module is communicational cohesive. ‘+ The goal is to achieve high cohesion for modules in the system. Coupling * Coupling effectively represents how the modules can be “connected” with other module or with the outside world. ‘© Coupling is a measure of interconnection among modules in a program structure, * Coupling depends on the interface complexity between modules. © The goal is to strive for lowest possible coupling among modules in software design. ‘© The property ‘of good coupling is that it should reduce or avoid change impact and ripple effects. It should also reduce the cost in program changes, testing and maintenance. # Various types of coupling are i) Data coupling - The data cou passing or data interaction, cca ing is possible by parameter ii) Control control cou} Common couy global data is shared among the modules, i ix) Content coupling ~ Content coupling makes use of data or control information mai Software Engineering coupling ~ The modules shi module. @.12 Give the difference between Cohesion and Coupling. are related control data = In common coupling common data or a .g occurs when one module ied in another EP [SPU : Deci-22, Marks 9] Ans. sr. | Coupling Cohesion =| 1. | Coupling represents how | In cohesion, the cohesive the modules are module performs only one connected with other thing. modules or with the outside world Z ‘th coupling interface _ | With cohesion, data hiding complexity is decided. can be done. 3. | The goal of coupling is to | The goal of cohesion is to achieve lowest coupling. | achieve high cohesion. 4. | Various types of couplings | Various types of cohesion are -Data coupling, are - Coincidental cohesion, Control coupling, Logical cohesion, Temporal Common coupling and | cohesion, Procedural Content coupling. cohesion and Communicational cohesion. A Guide for Engineering Students “'A cohesive design should have high cohesiveness and low coupling”, SBE [SPU : April-15, Marks 4] Ans. Low coupling is an approach to interconnecting the components in a system or network so that those components, are less dependant upon each other. High cohesiveness in that module perform only one task. Ideally the components in the system must be least dependent on each other and every component must perform only one task at particular instance. Hence it is said that the system must have high cohesiveness and low coupling. 3.3 : Design Model ibe the design model with a neat diagram and give the lity of each layer of design model to analysis model. E@ [SPPU: Dec-11, Marks 8] Ans. : + The process dimension denotes that the design model evolutes due to various software tasks that get executed as the part of software process. The abstract dimension represents level of details as each element of analysis model is transformed into design equivalent. QUAL the dashed line shows the boundary between analysis and design model. In both the analysis and design models the same UML diagrams are model the UML diagrams are abstract and in design model these diagrams are refined and elaborated. Moreover in design model the implementation specific details are provided. In following coat A Guide for Enghnccring Sudents deployme elements have to be developed in seq Fig. 2.14.1 Dimension of design model Q.15 Explain the elements of design model. ‘5 [SPPU : May-13, Marks 8] Ans. : Following are the elements of design model - 4. Data Design Elements * The data design represents the high level of abstraction. * This data represented at data design level is refined gradually for implementing the computer based system, —_—_—___ qeoay A Guide for Engineer reat impact on the architecture of software systems. Hence structure of data is very important factor in software design. Data appears in the form of data structures and algorithms at the program component level, At the application level it appears as the database and at the business level it appears as data warehouse and data mining. lan Eloments ‘The architectural design gives the layout for overall view of the software. Architectural model can be built using following sources - ‘© Data flow models or class diagrams # Information obtained from ap + Architectural patterns and styles. 3. Interface Design Elements cation domain Interface Design represents the detailed design of the software system. In interface design how information flows from one component to other component of the system is depicted. Typically by operations or bypassing messages Fig. 0.15.4 |. Component Level Design Elements The component level design is more detailed design of the software system along with the specifications. The component level design elements describe the internal details of the component. * In component level design all the local data objects, required data structures and algorithm Is and procedural details are exposed. — os A Gide for Engineering Stadens Design Engineering the component form. «The order is dependent upon objects can be interfaced x o Dependency relation Fig. 0.15.2 Components . Deployment Level Design Elements ; The ployment level design elements indicate how software functions and software subsystems are assigned to the physical computing environment of the software product. + For example web browsers may work in mobile phoned or they ient PC or can execute on server machines. may run on ‘Wabiephone lien Po Tee web] bowser browser ‘Server machine — ie broweae SSF (SPPU : May-14, Marks 8] At the program component level, the data structure is associated with algorithms + Databases : At the application level data model is converted to databases, é + Datawarehouse : At the business level, the collection of information stored in various databases is identified and Datawarehouse is formed. Guideline for Data Design : + The systematic analysis principles applied to function and behaviour should also be applied to data. + All the data structures and operations to be performed should be identified. + A data dictionary should be established and used to define both data and program design, + Low level data decisions should be deferred until late in the design. rary of usefull data structures and operations must be developed well in advance. + A software design and programming language should support the specification and realization of abstract data types. Q.17 Whi are the deployment level design elements ? EE [SPPU : Dec.-11, Marks 4] Ams. : Refer Q.15 (5). coo 3.4: Pattern - based Software Design Q.18 Explain the template used for representing design pattern. The design pattern can be used Tate for Design Pattern ; a n pattem is given ha of the 4 cae rhe name must be short and expressive, : : “The purpose of the design pattem heesttd this section. |___—Tcmonym for the pattern is existing ane then it should be mentioned. : TMfotvation: It denotes nature of the problem ‘along with supporting exampl i Tr describes the design situation in which the pattern is applicab describes the classes that are required to implement the problem Tt includes the responsi that are used in the pattern. It describes all the share some responsi Tt describe various design forces of the pattern. If any related design patterns exist then those are described under this section. | those are described under this section. _} “Applicability + ‘Structure: 1s of the classes Participants : jing classes that Collaborations : ‘Consequences : ‘Cross References : 3.5: Architectural Design Q.19 Explain why it is necessary to design the system architecture. What are the system factors affected by system architecture ? Expl Ans, * Architectural design is a specialized activity in which using specific architectural styles, by considering the system’s structure and by understanding the properties of system components a large complex system is built, eos + The person who is responsible to design such a system is called software architect in software engineering. + The architectural design gives the layout of the system that is to be In short the program structure is created during ctural design, «In architectural design process - i) Basie structural framework is established. ii) Major components of the system are identified. established. iii) Communication between these component: Factors Affected by System Architecture 1, Business importance : The software system which has to be bi should have some business importance. Such a system should remain important for a long span of time. 2, System age : If the system becomes very old then it becomes very difficult to modify the architecture of such a system. Because changing such system. architecture means disturbing previous functionalities of that architecture: 3. System structure : The modularization in the system structure is more preferred. If the system is built into then modules then it becomes easy to modify such system as per the requirements. 4, Hardware procurement pol Sometime company policies may get changed for the hardware. For instance : if a company decides to built the system on servers instead of mainframe, then it becomes very expensive to change such hardware support. 3.6 : Design Decisions 2.20 What is architectural design ? Explain architectural design decisions. Ans, : Architectural Design : Refer Q.19. Architectural Design Decisions : + While building the software architecture many important de« ions can be made about A Gulde far En 1 Is it possible t0 cloped? y across all th uniformly acT0s re bute the system to distribute 2. How 0 6 processors * chosen forthe 44, What isthe purpose ofthe syste ow to mae the subsystem COD. sm development ? into the operation ? i g model with Q.21 Explain the 4#1 view model “Ans: There is 41 view model of software architecture. TI 1. Logieal View cbject classes. The system requirements logical view of the system. + This view represents the run time interacting hese views The logical view represents the key objects or can be correlated to the 2, Process View processes of the system. : This view represents how software is ‘components that are implemented by a single 3. Development decomposed developer or a development team. 4, Physical View : This view shows how the system hardware and software components are distributed across the processors in the system, This view is used by system engineers for planning the software development a A Guide or Engineering Suaents 0.22 What is software architecture ? Explain data centered and * object oriented architectural style of the system. [EB (SPPU :June-22, Marks 9] ‘Ans. : Software Architecture is a structure of systems which consists of various components, externally visible properties of these components and the inter-relationship among these components. 1) Data Centered Architecture style In: this architecture the data store lies at the center of the architecture and other components frequently access it by performing add, delete and modify operations. The client software requests for the data to central repository. Sometime the client software accesses the data from the central repository without any change in data or without any change in actions of software actions, A Guide for Englucering Students qos Fig, 0.22.1 Data centered architecture « Data centered architecture possess the property of interchangeability. Interchangeability means any component from the architecture can be replaced by a new component without affecting the working of other components. + In data centered architecture the data can be passed among the components. + Indata centered architecture, Components are : Database elements such as tables, queries. to co-ordinate the object operations, Se A Gul for Engl re Engineering 3-2 Design Engineering Class name sc Crass ae Attributes Iaetbiee Operations | —Mass2995 Operations Mocsages Glass name Be Attributes Atnbutes Operations }+— Messages Operations Fig. .22.2 Object oriented architecture Q.23 Explain client server model of software architecture Ans. : The model in which server contains the set of services and client can use those services is called the client-server model. * In client-server model the client should know the names of the servers and the services offered by them. However, it is not necessary that the server should know the client. ‘Components of The vat of sarvers containing various orvices Set of clients which make sofware Engineers nt makes the request to thy nication, the ¢ '« Inclient-server commt server responds the he server responds it. The typicg, ent. server and the + The client has to client-server model is 2s Client t shown below. Database: ‘server Fig. 0.23.2 Client-server model pipe and filter pattern the functional transformations can ig the output. transforms can exeeute in sequence or in pa + When transformations are represented a& separate process, this terms that are used in UNIX Operating System. + In pipeline model if transformations are sequential with data processed in batches then this architecture is called batch sequential model, Send reminder er bis. 3 ation architecture? Also mention uses of it. application architecture is an architecture for the software systems that can meet various commonly found requirements in business logic. Fig. 0.24.1 Invoice processing system — 3.9: Application Architectures .25 What is app Ans. : The gent Use of Generic Application Architecture The generic application architecture can be used as 1, The starting point for architectural design process : The design of the generic application can be used to understand the purpose of the system getting developed, 2. For organizing the work of development team : The generic application architecture specifies the stable structural features of the system. Using these features it is possible to analyze all the sks to be performed while building the system. ing the reusable components : The generic structure helps in identifying the components that can be reused during system implementation. << The check list for be prepared with the help design checklist can jing the 4, For deciding requirements or system components jc application architecture. f generic application are! ne 7 ulary for talking about the tyPe of appl = dangle uildin, Ns ee concepts get introduced during the application . r oe cepts can be termed by the vocabulary found in generic se con application architecture. pr ok 3.10: Component 0.26 What is component ? Ans. ‘© "Component is a modular, system that encapsulates the deployable and replaceable part of .plementation and exposes the set of interfaces”. ‘© Components are the part are important factors in achieving the objectives an of system to be built. * Components can communicate and collabo: components. + Design models can be prepared using object oriented views and conventional views. 3.11 : Designing Class based components of software architecture and hence they id requirements rate with other Q.27 List and explain the design principles ‘Ans, : There are four design principles that are used during the component level design. These principles are - 1. The Open-closed Principle : This principle states that - A module or a component should be open for extension and should be closed for modification. A designer should design a component in such @ ————————— Keows A Guide for Engineering Sten manner that some functional doing so there should not be an the component itself. 2. The Liskov Substitution Principle : This principle states that - subclasses should be substitutable for their base classes. This principle is proposed by Barbara Liskov. A component that contains the base class and if that component works properly then the same component should work properly even if the derived class of that base class is used by the component as a substitute. 3. Dependency Inversion Principle: The components should be dependant on the ‘other abstract components and not on the concrete component. This is because if some component has to be extended then it becomes easy to enhance it using other abstract component instead of concrete component. ies can added to it if required but in 'y change in the internal design of 4, The interface Segregation Principle : Many client specific interfaces are better than one general purpose interface. According to this principle, designer should create specialized interfaces for cach major category. So that the clients can access the interfaces based on the category. Ifa general purpose interface is created then multiple clients may try to access it for different operations at the same time. Q.28 What are elements of design model ? What are the elements of architectural design ? Explain design principles ? [> [SPU : June-22, Marks 9] Ans. : Elements of Design Model : Refer Q.15. Elements of Architectural Design : 1. Components : Components are independent units of software that perform specific functionality. The components are then combined to other components for building a system. — eons A Gale for Enpinering Sudents 2. Connectors : Connectors are nents together. For eX eee ¢ components can co! cing tnertaces th ine define the methods that compone! 3. Interfaces with each other. Interfaces qo exchange data and perform actions. ‘Architectural patterns are 4. Architectural patterns P Le ee aretinhed solutions to common software architecture problems. Seer txemple ~ repository model, layered model, client server model. : Architectural styles are sets of principles form the overall structure of a software 5. Architectural style and guidelines that int system. For example - Peer-to-Peer architecture. 6. Deployment architecture : Deployment architecture is the process of planning and designing how a software system will be Geployed on hardware and software infrastructure. = Design Principles : Refer Q.27 3.12 : Conducting Component-Level Design eee 2.29 Explain the quidelines of component level design Ans.: + Ambler suggested following guideline for conducting component level design - + Components : Components are the part of architectural model. The naming conventions should be established for components. The component names should be specified from the problem domain. These names should be meaningful. + Interfaces : Interfaces serve important role in communi collaboration. The interface should be drawn as a circle line connecting it to another element. This indicates that exes A Guide for element to which it is connected offers the interface. The interface howld Flow from left side of oO component. Only important interfaces must be drawn. r yim * + Dependencies and is ferfaces : The dependencies must be shown, from left to right. The inheritance should be shown from bottom to top ic. from derived to base class. The component interdependencies should be represented via interfaces. [pe aah vie metas om 1.30 What Is the neces: rules to keep in mind wh identify user, tasks and environmental techniques. Based on user tasks, user scenarios are prepared. Such user scenarios help to design user interface objects and corresponding actions. ‘The Golden Rules Thao Mandel has proposed three golden rules for user interface design - 1. Place the user in control 2. Reduce the user's memory load 3. Make the interface consi cent. 2.31 What are the design principles for reducing the user's memory load in user interface design ? WP [SPPU : Dec.-12, Marks 6, May-14, Marks 8] Ans. 1. Do not force the user to have short term memory : When user is involved in complex tasks then he has to remember more. The user interface should be such that the user need not have to remember 1 Guide for Engineering 3:28 jieved by providi his can be achieve m oj results. And t past actions an proper visual interface, 2. Establish meaningful defaults Tt chould be available to the i ie racers default font the user can set ‘the i the user his, there should be some reset option available to in this, ginal values. to get back the original val fa For quick handling of the system such terface. For example control+s he file. Hence Meaningful default options ple in the Microsoft worg 3. Use intuitive shorteuts + short cuts are required in the user : ey is for saving the file or control+0 is for opening the fi tse of meaningful mnemonics is necessary while designing an interface, 44. The visual layout of the interface should be realistic : When certain aspeevfeature of the system needs to be highlighted then use of proper visual layout helps a casual user to handle the system with ease, For example in an online purchase system if pictures of Master card/Visa card are given then it guides the user to understand the payment mode of online purchasing, 5, Disclose the information gradually : There should not be bombarding of information on user. It should be presented to the user in a systematic manner. For instance one can organize the information in hierarchical manner and narrate it to the user. At the top level of such hierarchi I structure the information should be in abstract form and at the bottom level more detailed information can be given, So A Guide for Enginecring Studen’s | 0.32 Explain the user Interface design TGP (SPPU : May-11, Marks 6] Ans. : 1) System Response Tima : Any user hate the delayed response time, Systam longth is the amount of ime taken by the system to respond ‘timo characterlates Variability variation of ime from average ‘esponse time (i system responds within 5 seconds and if we get response in 4.8 of 5.2 seconds then itis called variably) Fig. 0.32.1 2) Help facilities : This is the most essential criteria for any user “interface this makes the system more interactive. The help can be on-line help or it can be in the form of user manual. Even some software provide the help in the assistance form i.e. the question may be asked by the user and the answer given by the system will serve as a help to the user. 3) Error handling : Errors and warning cause the frustrations to the user. Sometimes the error messages are in very vague form. For example : Application ABC has encountered error 1033. Now such type of error messages do not direct the user about what went wrong. Thus error messages should be so effective that they should bring qualitative interaction between the user and the system, 4) Menu and command labelling : There are typically two ways by which the user handles the system ie. keyboard and mouse. The system can be handled using commands by the power user(i.e. knowledgeable and frequent users) whereas any ordinary user makes use of GUI and he prefers not to use any command as such. < are mostly wsed by tl interfaces used ides the guideline for as x guideline also pro ses the nee impairments. The aces technology that ade 6) internationalization «+ There are situations localised purpose and for local languas required in other sie ofthe county then existing interface wwith more oles modifications. “The real challenge is to develop globalised software. That means the user interfaces should be designed to accommodate a generic core functionality. This functionality can be used by any user belonging to any country. The Unicode standard has been developed to handle, the challenges of managing the natural languages with lots of characters and symbols. 0.33 Explain the user interface design steps. UG [SPPU : Dec-12, Marks 8] ‘Ans. : Following are the commonly used interface design steps - 1. During the interface analysis step define interface objects and corresponding actions or operations. 2. Define the major events in the interface. These events depict the user actions. Finally model these events, 3. Analyse how the view. jn which the user interface is developed for ge. If the same interface is is used terface will look like from user's point of 4. Identify how the user understands the interface with the information provided along with it. ie for Engincering Sulen®s le desi vile dienng the interface sofware engineer communicates the heat dean © his thinking about the interface, software bottled the sketches. Get it approved from the user and on defining objects and corresponding actions. ‘+ While designing the interface the designer has to follow - © Golden rules © Model the interface (© Analyse the working environment 0.34 Explain guidelines for com 3 component level design ani for user interface design. inp en les 7 S& [SPPU : June-22, Marks 9] Ans. : Guidelines for Component Level Design : Refer Q.29. Principles for User Interface Design : Refer Q.30 and Q.31. END.» — A Guide for Engaccrng Sinden ‘unit IV | Management and Estimation POP akan 4.1: Project Initiation 4 Explain project management life eycle. Ans. «Project is defined as a temporary endeavor undertaken to create & unique product, service, or result. «Projects ean be large or small and involve one person or thousands of people. They can be done in one day or take years to complete Examples of projects are : 1. School implements a portal for tracking the progress of the students 2. Apharmaceutical company launches a new drug, 3. Mobile company introduces a new device. «Project management is the application of knowledge, skills, tools and techniques to project activities to meet the- project requirements. «The project management activity passes through various life cycle activities, These activities are as follows © Initiation, planning, execution, monitoring and cont closing. These are described as below : an software management life cycle Q.2 Explain four major sections of project management plan. TG [SPPU : Dec.-18, Marks 5] ‘Ans. : Project management plan The four major sections of project management plan are - 4) Project summary section : It gives high level overview of the project. It gives start date and end date of the project, project leader, contract at customer end, project objectives, milestones, deliverables, major commitments with customer. The assumptions made are exp! sted in this section. 2) Project planning section : This section procedures. the outputs of executing various project planning © It includes deseri ion of development processes being used, requirement change management processes, effort and scheduling estimates. . also specifies the environment and tools required for execution of project. ‘The quality plan and the risk management plan are also given this section. — Comet A Guide for Enginering Suaents i also specifies be taken. I surements of project and st cifes the project team section specifies # ities of team members. team. also specifies the roles and TeSP ‘4.2 : Planning Scope Management nese anagement with an example. maaan ee [SPPU : Oct-18, Marks 5] scope ams + Definition of project scope management : Project SSOPt ne mont includes the processes involved in defining am cor is not included in 2 project. ‘management controlling what work is Planning scope management process «Planning scope management is an activity of planning how a scope will be managed throughout the life ofthe project. , project charter, nal process assets, 4s Afier reviewing the project management I enterprise environmental factors, and organi the project team uses expert judgment and meetings to develop two important outputs: the scope management plan and the requirements management plan. ————_— eons A Guide for Enginccring Students management Scape management Requi plan aquirements management pian Fig. Q.3.4 Planning scope managemant (1) Scope management plan : The scope management plan can be formal or informal depending upon the nature of the project. The scope management plan contains following information - © How to write detailed scope statement : This aspect provides the information about some template that demonstrate the writing of detailed scope statement. How to create work break down structure : This section provides suggestions and resources for creating the work breakdown structure, ° ° How to maintain work break down structure : Initially the WBS often changes , but the scope management plan provides the gui jin the work break down structure and how to get it approved. line to ° How to obtain the acceptance about the deliverable: ‘The acceptance criteria is defined in this section which is important aspect for making the project payments. ‘How to handle request about change of project scope : This section of scope management plan define how to handle the project scope. This handling is using the nal guideline about approval of changes in the ° qos _— 143 : Creating the Work Bre? vakdown structure with Q.4 Explain work breaks ae i Jkdown Struct “Ans. Definition of Work Brea down structure is 2 deliverable oriented grOUPINE of t surah projet. The purpose of WBS isto define the sc0PS © ject. the work ing the vnodk break down structare is created after coll requirements and defining the scope. / jement plan, scope statement, requirements Tee project scope mane pie paar and docomentation, enterprise environmental factors, organizational process assets are the primary inputs for creating 2 wes. «The WBS is created using decomposition technique. That means, project is decomposed into manageable chunks. + There aze two types of outputs of the process of WBS and those are ~ i) the scope baseline and ii) updated project documents. The scope baseline contains approved project scope statements. + Example of WBS : Fig Q4.1 represents the sample work breakdown structure( WBS) created for the task Website building. This structure is similar to organizational chart. —_—_—_—_—— . A Guide for Engh aaase mprmerstion| | cevicrrert sissy oe Fig.0.4.1 Sample work break down structure (WBS) in chart form Q5 What is work breakdown structure ? How is it related with scope management and explain 8/80 rule. EB (5PPU :June-22, Marks 3] Structure : Refer Q4. «+ The 8/80 rule in project management states that the lowest level of work should be no less than 8 hours and not more than 80 hours. Q.6 What are the advantages of work breakdown structure ? Ans. Ans. : Work Break 1. WBS forces the team to create detailed step. It helps to clarify jes, bring out assumptions, narrow the scope of the project, and raise critical issues. . It lays groundwork for budget and schedule. }. The work breakdown structure provides for a level of detail that makes it easier for the project manager to hold his team members ‘ble and responsible for the completion of their tasks. down structure allows for the allocation of time Management and Estimation structure ca down 7 et ization of the risks. 5, The wor jdentifieation and mit reakdown skills increase of product tionary he effective work and 6. The work bt identification of there by helps Q7 Write short note on > WBS dict seis required to complete element of the Work Breakdown Structure. + It provides the team with the information they need to produce Ans. : i < information ty deliverables th 1 y isa document that provides deta eee + teen BS em srsaizaton standards ject egurements and about : : | IRiWBS dictionary is the worklacivites defined for every work te ne 4.4: Scheduling «For each WBS element, the WBS Dictionary may include @ brief definition of the scope or statemet t of work, defined deliverable(s), Q.8 What are different processes in project time management ? a list of associated activities, and a list of milestones. del S&P [SPPU : May-18, Marks 5] ‘s It-can also include information such as resources required, an Ans. : Definition of project time management : Project requirements, and management involves the processes required to ensure timely estimate of cost, contract on of a project. technical references to facil « ‘The WBS dictionary is also an important part of the scope + The activities involved in Project Time management are enlisted baseline. «© When the stakeholder read the detailed descri dictionary, they get better understanding about the scope of the work. «+ Sample WBS Dictionary : project deliverables are produced. Most organizations use Microsoft Word to create and maintain a WBS 2. Activity sequencing : All the correlated project acti dictionary. identified and documented in this step. Online Shopping System 3. Activity resource estimation : This is a step of estimating how ‘Work Package ID : XXX1234 many resources a project team should use to perform project acti’ Work Package Name : Items Display Screen - 4, Activity duration estimation : In this step, the number of work items availble for online purchase. The cost and available quantity eese aaa sae 5. Schedule development : Various tasks conducted in this step Soo A Guide for Engineering Students eos A Guide far Exainecrig Selene, Gena" «6, Schedule control the pO fining activities and det agement is duration es ‘i The acl worked on an activity plus After det cep in time mani Definition of activity durat defined as the actual amount of hours required to compl Effort and activity duration are two distinct entities. 1 for esimating activity duration various ‘inputs are used: This includes ~ activity lists, schedule management plan, activity resource requirements, project scope statements and s0 On. ity duration process are : «The outcome of estimating act ji) Project duration estinates and ii) Updated project document. People doing the work should help create estimates, and an expert should review them. «There aré various types of estimates produced during this process. Out of which the most common type of estimate is - three point estimate, ‘The three point estimate is an estimate that includes ait 1) Optimistic, 2) Most likely, and 3) Pessimistic estimate, such as 1) Three weeks for the optimistic, A Gul for Eng 3) Five weeks for the pessimistic estimate. culate activity expe ot Wvity expected time and variance for given problem. USP [SPPU : June-22, Marks 9] Activity 1D | Optimistic | Most likely | Pessimistic time time (t) | time ty ‘t Job 1 1 3 5 Job? 2 6 9 Job 3 2 3 5 | Job4 5 8 10 | Job 5 u is 2x Job 6 2 5 8 Job 7 3 3 3 Job 8 2 4 6 ‘Ans. : Formula used for calculating 1) Expected time =. wt 7] ‘The values of expected time and variance for each activity are calculated using above formula and erilisted in the following table. 2) Variane Activity Expected | Variance 1D time Job 1 1 3 3 3 04s Job 2 2 6 9 5.83 137 A Guide for Engineering Students septruare Engineering 4. 12 Project Plannin, Management and Estimation 0.44 Job 8 2 Gat What ie cOCOMO II? What areas does COCOMO 1 address ? 1 [SPPU : June-22, Marks 9) in 1981 by Barry Boehm to give an model is developed fof man OMO predicts the efforts and schedul f the software. COCOMO stands for Ans. This estimate of the numbe software product. COC software product based on size o *COnstructive COst MOdel". COCOMO has three different models that re COCOMO model estimate: of Code, Various equations nemonths it will take to develop a le of a lect the complexity - s the software 1) Basic model : The bi development effort using only Lines in this model are - ay (KLOC)* 6 (E)* om uu din person-months. Where E is the effort apy Dis the development time in chronological months. KLOC means kilo line of code for the project. P is total number of persons required to accomplish the project. The coefficients a, b,, 6, d,, for uiree modes are as given below. Softwar oftware a ; projects S 4 Organic 2A Semi-detached | 3. 25 038 Embedded 36 25 0.35 i 25 | 0.32 Table 11.1 model. this estimation model makes use of set of attributes" to compute the cost of software. The cost driver attributes get a 6. - nea -point scale ranging from " a to "extra high". These ratings can be viewed as ing from “Ye. 3 ‘The formula for effort calculation can be - Yen, ow, Nominal Heh Very Extra high high E = a,(KLOC)" EAF person-months The values for a, and b, for various class of software projects are - Software project a, b Organic 3.2 1.05 Semi-detactied 3.0 112 Embedded 28 1.20 Table a.14.2 same as in basic COCOMO The duration and person estimate model. i.e. \é months months D= a) jie. use values of ¢, and dy coefficients that are in Table Q.11.1. p = E/D persons “A Guide for Engineering Sten a 3) Detailed COCOMO mo equations fot ‘model can estima" ach of development ph ation with ase, different develo} of The experiment allowed in this model. Using the detail cost drivers, . le. cach phase of the eye carne the aig ot sete GO A, Ans. «Milestones are significant duration. «Normally proj the project development, «+ On the Gantt chart we can mark any desired ta centering its duration 2s 2270. «Following is 2 SMART crteri developing milestone. fo Specific : The milestone should target a specific. area of improvement or answera specific need. ‘© Measurable : The milestone must be quant low for measurable progress. + The milestone should be real sting constraints. ign with other, business an estimate is determined for + event on te project. This event has 2210 ect developers prefer to meet the milestones during especialy forthe large projects. 1k as milestone by ia that is to be followed while le, or at least based on The milestone should objectives to be considered worthwhile, © Time-framed : The milestone should have definite deadline Fig.o.24 0.13 Give the advantages and disadvantages of Gantt chart. ‘Ans. : Advantages Various advantages of using Gantt chart are as given below . The Gantt chart provides the standard format for displaying the planned and actual schedule information. They are easy to create and understand, ‘The progress of each individual task can be tracked. Milestone for particular task can be set and developer can get acknowledged with it, Disadvantages : . The relationship or dependencies among the task is not very clear using Gantt chart. If large number of tasks are involved inthe project, the Gnatt chart becomes extraordinarily complex. . The size bar does not indicate the amount of work, it simply shows the duration. The cost of the project can not be depicted in the Gantt chart. - a eons “A Gide for Engincering Stdents pat al project ation. series of daring which te prec 20M certs of et Stk float ig al path ha out delaying a + Thea the amount of time an succeeding activity ot 'A Network Diagram is ' Sehedul. A network diagram in project mands planning and tracking the project fom beginning to represents projects critical path as well as the scope for the activity may be delayed with the project finish date : visual representation of & projects gement is usefil for project. «Consider, some hypothetical tasks, duration and dependencies. [task Duration Dependencies | I 2 TI(Ml) 13 15 TI (M2) ma] 7 | T7203) 1s | 20 | TIMI) 16 | 5 __|14,75(M4) TY] 4 | T6(M6) T3] 8 | T7(M3) 1) | 10 | 76,78¢M7) TIO} 12 | T9(M8) A Gale for La ‘The milestones of various "TNE network diagram for these Fig. 0.14.1 Network dlagram + The minimum amount of time required by the project can be computing the longest possible path to reach from begin to end. This path is referred as the critical path in the project and the activities along this path are referred as the eit es. In Fig. Q.14.1 critical path is stiown by thick edge. 115 Define the terms - Free slack, early star date, total forward pass, backward pa nish. ng, (el ee Ans. : Free slack or free flo be delayed without delaying the early start date of any immediately following activities. + The early start date is the earliest pos start based on the project network logic. a ie an + Total slack or total flo delayed from its early start without delaying the planned project finish date, —— Gul for Engel Sent 4217 Project Pl Software Engineer alate five slack and total slack by doing , through a network diogram., he carly start andl early finish, 4 sk dingram determines the fgg dates for each activi + Project managers cale forward and backward +A forward pass determines backward pass through the networ start and late finish dates for each activi «The early finish date is the earliest possible time an activity cay finch based on the project network logic. The early stat plus the duration ofthe first activity is equal to the early finish date of thy first activity. + The late start date is the latest possible tim begin without delaying the project finish date. Q.16 Explain the three techniques of shortening the project schedule using critical path. ‘Ans, : There are three techniques of for shortening the projec, schedule | 1. By adding more resources or by changing the scope of the project the project duration can be shortened. 2, Crashing : This is an activity for obtaining the greatest amount of | schedule compression for least incremental cost. For example - temporary worker could be hired to work in parallel with the other ‘worker to speed up the task or A 2 week task with one person working 50 % could be shortened to 1 week if the person is assigned 100%. 3, Fast tacking : This is a technique in which the activities are conducted in parallel or in overlapping manner instead of doing | them in sequence, For example - instead of waiting for complete analysis , some part of coding can be started. i Q.17 Write short note on - PERT. Ans. : ean activity mighy + PERT is a network analysis technique used to estimate project duration when there is a high degree of uncertainty about the individual activity duration estimates, Scars A Guide for Engineering Studer? Plann mu estimates based on using gn Me Ese, 8 Optimigtig UAE. Th estimates oF activity durations, oy ™ is + OF three, ‘The formula used in PERT 4g based on three point estimate 4 The three point estima Rate ee pes ic estimates, bee |. Formula is PERT weighted average _ Optimistic Hime + 4x Most likely time + Prec is essimistic time « Example : Given that Optimistic time = 6 days Most likely time = 9 days Pessimistic time = 12 days then PERT weighted average = S*(4%9) + 12 se ‘© Thus it would be 9 days using PERT. + The main advantage of PERT is that ita tempts to address the is assoéiated with duration estimates, Se 9 Q.48 An B and D project has alist of task to be pefommed wi time estimates are given in the table as follows es ee ‘Activity | Activity Optimistic | Most] Pessimistic name likely 1-2 A 4 6 8 1-3 B 2 3 1 1-4 c 6 8 16 2-4 D 1 2 2 3-4 E 6 7 G 3-5 F 6 1 3 4-6 G 3 s z 4-7 H 4 i 2 a ener TTT A Gale for ElerngStdets

You might also like