Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
10K views
114 pages
SE Decode
SPPU Second Year SE Decode
Uploaded by
Piyush Soni
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
Download
Save
Save SE Decode For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
0 ratings
0% found this document useful (0 votes)
10K views
114 pages
SE Decode
SPPU Second Year SE Decode
Uploaded by
Piyush Soni
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
Carousel Previous
Carousel Next
Download
Save
Save SE Decode For Later
Share
0%
0% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save SE Decode For Later
You are on page 1
/ 114
Search
Fullscreen
3.1: The Project Planning Process Q.1 Explain the project planning process. Ans, ; © Project planning is an activity in which the project Manager makes reasonable estimates of resources, cost and Schedule. ¢ In order to make these estimates, it is necessary to prepare a Project plan and the beginning of the project and as the project proceeds this plan can be updated appropriately. ¢ Following figure represents various task sets that are associated with project planning process. Dane aes Fig. Q.1.1 Project planning process Step 1: - This is an initial stage in which the scope and feasibility of the project is determined. This stage helps to identify the functions and features that can be delivered to the end user. Step 2: Risks are identified and analyzed. Step3: The required resources such as human resources, environmental Tesources, and reusable software resources can be determined. Step 4: The estimation for cost and efforts is made. In this stage the problem is first decomposed, then using the size, function point ot use cases the estimates are made. V——— _ G-Djoftware erit 3-2 Estimation and Scheduling Software Engineering Ei timatic id Sch sk networks the schedule for the Step 5: Using the scheduling tools or ta project is is prepared. Defining | Software Scope and Checking Feasibility | | Q.2 Write a short note on - Software scope and its need. Ans. : Software scope describes four things - « The function and features that are to be delivered to end-users. o The data which can be input and output. o The content of the software that is presented to user. o Performance, Constraints, reliability and interfaces that bounds the System. « There are two ways by which the scope can be defined - 1. A scope can be defined using the narrative description of the software obtained after communication with all stakeholders. 2. Scope can be defined as a set of use cases developed by the end users. « Inthe scope description, various functions are described. These functions are evaluated and refined to provide more details before the estimation of the project. ¢ For performance consideration, processing and response time requirements are analyzed. ¢ The constraints identify the limitations placed on the software by external hardware or any other existing system. Q.3 What are the four dimensions of software feasibility ? Ans. : Following are the four dimensions of software feasibility. To ensure the feasibility of the software project the set of questions based on these dimension has to be answered. Those are as given below - 1. Technology ¢ Isa project technically feasible ? ¢ Is it within the state of art ? A Guide for Engineering Students CLLineeris 3-3 Estimation and Sche, lin Software Engineering td Sched « Are the defects to be reduced to a level that satisfies the application, need ? 2. Finance « Isit financially feasible ? Is the development cost completed at a cost of software organization, ts client, or market affordable ? ‘Are the defects to be reduced to a level that satisfies the application’ need ? 3. Time . © Will the project's time to market beat the competition ? 4, Resource © Does the organization have the resources needed to succeed ? «, Putnam and Meyers suggests that scoping is not enough. Once scope ig understood, and and feasibility have been identified the next task is estimation of the Resources required to accomplish the software development effort. i | 3.3: Resources Management bictecnenmataamammnaeseioe Q.4 What is the need for defining a software scope ? What are the categories of software engineering resources ? E® [SPPU : Dec.-17,May-18, End Sem, Marks 7] Ans. : Need for defining software scope : Refer Q.2. Categories of software engineering resources : « There are three major categories of software engineering resources - 1. Peoples 2. Reusable software components 3. Development environment i.e, hardware and software tools. ‘A Guide for Engineering StuderEstimation and Scheduling Software Engineering Software tools OTS component Hardware Full experience ‘component Network Part experience resources ‘component New component Fig. Q.4.1 Project resources (1) Human resources : Both organizational position (such as manager, senior software engineer and so on) and the specialty (database telecommunication, client/server etc) are specified for a relatively small project. A single individual may perform all software engineering tasks, by consulting with the specialist whenever needed. « For larger projects, software team may be geographically at different locations. Hence, the location of each human resource is specified. The number of people required for a software project can be determined only after an estimate of development effort (e.g. person-months) is made. (2) Reusable software resources : There are four reusable software resource categories that should be considered at planning - 1. Off-the-shelf components (OTS Components) Existing software acquired from a third party or has been developed internally for a past project. . RS A Guide for Engineering StudentsEsti Savant Eager 35 istimation and Schedutin 2. Full experience components The software to be built for the current project resembles the existing specification, design, code or test data developed for past projects, Members of the current software team that have had full experience in the application area represented by these components. 3. Partial experience component In this category, existing specifications as for full experience components but it requires extensive modification. The members of the software project team have only limited experience in the application area. Fair degree of risk involvement is there while using the components belonging to this category. 4. New components According to need and specification of the current project the software components can be built by the software team. (3) Environmental resources : The Software Engineering Environment (SEE) incorporates hardware and software. Hardware provides a platform for using the tools required to produce work products. These work products are the outcome of good software Engineering practice. r | 3.4:Software Project Estimation _ Ll oe j Q.5 What is need of project estimation ? What are the steps while estimation of software ? S&P [SPPU : May-19, Dec.-19, End Sem, Marks 8] Ans ; Need: * The different parameters of a project that need to be estimated include - project size, effort required to complete the project, project duration, and cost. * Accurate estimation of these parameters is important, because it helps in quoting an appropriate project cost to the customer. A Guide for Engineering StudentsSoftware Engineering 3-6 Estimation and Scheduling The software estimation helps in understanding the scope of the project. * The project estimation also forms. the basis for resource planning and scheduling. Steps for software estimation : The four basic steps in software estimation are : Step 1: Estimate the size of the development product. This generally ends up in either Lines of Code (LOC) or Function Points (FP), but there are other possible units of measure. The size is estimated by comparing it with the existing systems of the same kind. The experts use it to predict the required size of various components of software and then add them to get the total size. Step 2: Estimate the effort in person-months or person-hours. Effort estimation is used to help draft project plans and budgets in the early stages of the software development life cycle. This practice enables a project manager to accurately predict costs and allocate resources accordingly. Step 3 : Estimate the schedule in calendar months. Effective project scheduling leads to success of project, reduced cost, and increased customer satisfaction. Step 4 : Estimate the project cost in dollars or in local currency, | 3.5: Decomposition Techniques Rowena Q.6 What is LOC-based estimation ? Explain with a suitable example. US [SPPU : Dec.-11, June-22, Marks 8] Ans. : ¢ Size oriented measure is derived by considering the size of software that has been produced. * The organization builds a simple record of size measure for the software Projects. It is built on past experiences of organizations. © Itisa direct measure of software. A Guide for Engineering Siudents2 Esti Software Engineering 330 Simation and Seheayy, 8 A simple set of size measure that can be developed is as given below. © Size =Kilo Lines of Code (KLOC) . o Effort = Person/month o Productivity = KLOC/person-month © Quality = Number of faults/KLOC o Cost = $/KLOC o Documentation = Pages of documentation/KLOC The size measure is based on the lines of code computation. The lines of code is defined as one line of text in a source file. While counting the lines of code the simplest standard is : o Don’t count blank lines. o Don’t count comments. o Count everything else. The size oriented measure is not universally accepted method. Example Consider an ABC project with some important modules such as 1. User interface and control facilities 2. 2D graphics analysis 3. 3D graphics analysis 4. 5 6. 7. Database management . Computer graphics display facility . Peripheral control function . Design analysis models Estimate the project in based on LOC For estimating the given application we consider each module as separate function and corresponding lines of code can be estimated in the following table as "A Guide for Engineering Studer?Estimation and Scheduling Software Engineering 3-8 Function Estimated LOC User Interface and Control Facilities(UICF) 2500 2D graphics analysis(2DGA) 5600 3D Geometric Analysis function(3DGA) 6450 Database Management(DBM) 3100 Computer Graphics Display Facility(CGDF) 4740 Peripheral Control Function(PCF) | 2250 Design Analysis Modules (DAM) 7980 Total Estimation in LOC 32620 * Expected LOC for 3D Geometric analysis function based on three point estimation is - © Optimistic estimation 4700 © Most likely estimation 6000 o Pessimistic estimation 10000 s = [S +(4*S,)+S 1/6 ‘opt press Expected value = [4700 + (4 * 6000) + 10000]/6 — 6450 ¢ Arreview of historical data indicates - 1. Average productivity is 500 LOC per month 2. Average labor cost is $6000 per month Then cost for lines of code can be estimated as * cost / LOC = (6000 / 500) = $12 By considering total estimated LOC as 32620 ¢ Total estimated project cost = (32620 * 12) =$391440 * Total estimated project effort = (32620 / 500) = 65 Person-months Q.7 Explain the FP based estimation technique. OS [SPPU : May-18, Dec.-22, End Sem, Marks 6, June-22, Marks 5] OR How to calculate FP and how it is used in estimation of software Project ? OS [SPPU : Dec.-19, End Sem, Marks 5] = A Guide for Engineering StudentsSoftware Engineering 3-9 Estimation and Schedutin aa duling Ans. : ¢ The function point model is based on functionality of the delivereg application. ¢ These are generally independent of the programming language used. ¢ Function points are derived using : o Countable measures of the software requirements domain © Assessments of the software complexity. How to calculate function point ? The data for following information domain characteristics are collected : 1. Number of user inputs - Each user input which provides distinct application data to the software is counted. 2. Number of user outputs - Each user output that provides application data to the user is counted, e.g. screens, reports, error messages. 3. Number of user inquiries - An on-line input that results in the generation of some immediate software response in the form of an output. 4, Number of files - Each logical master file, i.e. a logical grouping of data that may be part of a database or a separate file. 5. Number of external interfaces - All machine-readable interfaces that are used to transmit information to another system are counted. The organization needs to develop criteria which determine whether a particular entry is simple, average or complex. The weighting factors should be determined by observations or by experiments. Domain Count Weighting factor Count characteristics Simple | Average | Complex Number of user 3 4 6 input Number of user 4 5 7 output A Guide for Engineering StudentsSoftware Engineering 3-10 Estimation and Scheduling ‘Number of user 3 4 T 6 inquiries Number of files 7 | 10 15 Number of si 7 10 extemal interfaces Count Total The count table can be computed with the help of above given table. Example FP focuses on information domain values rather than software functions. Thus we create a function point calculation table for ABC project, discussed inQé. INFO DOMAIN | Opt. | most | pessimistic | Esti. | Weight | FP VALUE likely value | factor NO.OFINPUTS | 95 | 28 32 28.1 4 | 12 No.orourputs | 44 | 4, 00 = Pale INOJOFINQURIES | ig | 23 30 21 5 | 116 NO.OF FIRES sis | 27 533 | 10 | 53 ND‘OE 2| 2 3 2 7 | 15 EXTERNAL INTERFACES ct OT. OUNT TOTAL 181 ¢ For this example we assume average complexity weighting factor. ¢ Each of the complexity weighting factor is estimated and the complexity adjustment factor is computed using the complexity factor table below. (Based on the 14 questions) A Guide for Engineering Students3-1 Estimation and Scheduling Software Engineering Sr. No. Factor Value (F)). 1s Back-up and recovery ? 4 2s Data communication ? 2 3. Distributed processing ? 0 Te - 4, _ |Performance critical ? 4 5. Existing operational environment ? 3 + 6. On-line data entry ? 4 hk Input transactions over multiple screens ? 5 - 8. |Online updates ? 3 9s Information domain values complex ? 5 + 10 Intemal processing complex ? 5 |— 11. _ |Code designed for reuse ? 4 Te in fh — 5 12. | Conversion / installation in design ? 3 13. |Multiple installations ? 5 +— 14. | Application designed for change ? 5 Ze)> 22 The estimated number of adjusted FP is derived using the following formula : FP ESTIMATED = (FP COUNT TOTAL * FACTOR] [COMPLEXITY ADJUSTMENT FP ESTIMATED = COUNT TOTAL * [0.65 + 0.01*#2 2@))I [0.65 + (0.01 * 52)] = 1.17 446 (Function point count adjusted with complexity adjustment factor) ) er ide for Engineering Students Complexity adjustment factor = « FP ESTIMATED = (381 * 1.17) =Software Engineering 3-12 ¢ Areview of historical data indicates - 1. Average productivity is 6.5 FP/Person month 2. Average labor cost is $6000 per month Calculations for cost per function point, total estimated project cost effort Estimation and Scheduling and total 1. The cost per function point = (6000/ 6.5) = $923 2. Total estimated project cost = (446 * 923) = $411658 3, Total estimated effort = (446 / 6.5) = 69 Person-month. Q.8 Compare the Lines of Code (LOC) and Function Point (FP) based estimation techniques with suitable example. BGP [SPPU : May-19, Dec 22, End Sem, Mai Ans. : rks 8] Sr. No. LOC based metrics Function Point based metrics 1, Size oriented software metrics is by considering the size of the software that has been produced in lines of code. Function oriented metrics use a measure of functionality delivered by the software. For a LOC based metric the software organization maintains simple records in tabular form. The typical table entries are : Project name, LOC, Effort, Pages of documents, errors, defects, total number of people working on project. Most widely used function oriented metric is the function point (FP) computation of the function point is based on characteristics of software's information domain and complexity. Example of LOC Based Metrics : Refer Q.6. Example of Function Point Based Metrics : Refer Q.7. Q.9 What is software projec estimation ? ‘A Guide for Engineering Students t estimation ? How use cases are used in UG [SPPU : May-11, Marks 6]Software Engineering 3-13 Estimation and Scheduling Ans. : Software project estimation is a process of predicting the time, effort, cost and scope of the project. Estimation with Use case : « Use-cases also provide a software team with insight into software scope and requirements. But there are some difficulties in developing estimations using use cases due to the following reasons = There are varieties of ways by which use cases can be described, There is no unique format for them. = Use-cases represent an external view (User's view) of the software. These are also written at different levels of abstraction. That means some use cases may be written to expose only primary functions | where as some other use cases may describe each function in more detail. " The complexity of the functions and features cannot be described by use cases. "The complex behaviour involved in many functions and features is also not described in use cases. ¢ In spite of these difficulties the use cases can be used for estimation, but only if they are considered within the context of structured hierarchy that use cases describe. Smith argues that any level of structured hierarchy - 1 Can be described by at the most 10 Use-cases. 2. Each use-case would not contain more than 30 distinct scenarios. ¢ Therefore before using the use cases for the estimation - © The level within the structured hierarchy must be established. © The average length of each use case must be determined. © The type of software application for which estimation is calculated must be defined. © The rough system architecture is defined. A Guide for Engineering StudentsSoftware Engineering 3-14 Estimation and Scheduling o After establishing these characteristics, empirical data can be u: n the structured sed to estimate LOC or FP for each use case. Ther hierarchical data can be used to compute the efforts required to develop the system. o Following formula is useful to compute this estimation - LOC estimates = N* LOC, .* [(Sa/Sh - 1) +(Pa/Ph -1)]* LOC gust = Actual number of Use-cases where N= LOC. yg = Historical average LOC/Use-case for this type subsystem = i, n%! Loc, just ~ Adjustment based on 'n %' of LOC, 5 n = Defined locally and represents the difference between this project and 'Average' project Sa = Actual scenarios per use-case Sh = Average scenarios per use-case for this type subsystem Pa = Actual pages per use-case Ph = Average pages per use-case for this type of subsystem The above expression is used to develop a rough estimation of the number of LOC, based on the actual number of use-cases adjusted, by the number of scenarios and page length of the use-cases. Q.10 What is project decomposition ? What are the work tasks for communication process using process decomposition ? UP [SPPU : Dec.-15, End Sem, Marks 9, June 22, Marks 8] Ans. : Project decomposition is the process of dividing components of a large project into smaller, more manageable portions, often called deliverables. This process helps project managers assign tasks more easily and assists in time management and workflow. As team members complete tasks associated with their deliverables, they complete steps within the decomposed workflow, working toward the eventual completion of an entire project. ‘A Guide for Engineering Students3-15 Estimation and Scheduling Software Engineering Work task for communication process : «Various factors that influence the tasks sets are - 1. Size of project 2. Project development staff Number of user of that project 4 ication 6. Performance constraints Application longetivity 3. 5. Complexity of appli 7. Use of technologies + Task set example : Consider the concept development type of the project. Various tasks sets in this type of project are - o Defining scope : This task is for defining the scope, goal or objective of the project. o Planning : It i completing the desired concept. f technology risks : It evaluates the risk associated with includes the estimate for schedule, cost and people for o Evaluation o the technology used in the project. Concept implementation : It includes the concept representation in the same manner as expected by the end user. Q.11 Discuss with suitable example - Process based estimation. E> [SPPU : June-22, Marks 5) Ans, : ¢ This is the most commonly used estimation technique for estimating the project based on the processes used. In this technique, the process is decomposed into relativel tasks and the effort required to accomplish each task is estimated. + The estimation begins with identification of software functions obtained from the project scope. Then a series of software process activities must be performed for each function. The function and software process lar form. Then planner estimates the ly size set of activities are presented in a tabu efforts for each software function. For example : In this technique for each of the business function software engineering tasks such as analysis, design, coding and testing is carried out. The estimated A Guide for Engineering StudentsSofpware Engineering 3-16 Estimation and Scheduling efforts for each of these functions are identified and their sum is obtained. In the following table, the sum of all the rows and columns is taken and the effort for each business function is estimated in percentage. ACTIVITY | CC |Planning a | BUSINESS | FUNCTION Construction | CE | TOTA release Engineering | User | interface and | control | facilities | (UICF) | 2D graphics | analysis | (2DGA) [sp | Geometric | analysis ) function. | @DGA) | Database | Management (DBM) i | Computer | graphics | display | Facility | (CGDF) NA | 8.25 NA | 8.00 A Guide for Engineering Studentsmodel are - 43 Application composition model e For estimating the efforts Tequired for the Prototyping projects and the Projects in which the existing software components are used application- composition model is introduced, =—_——_—_———_ A Guide for Engineering StudentsPM = (1~%erey Where / (NAB 45: ©) 7 PROD ponents, can be Screey ; : NS, reports or the Used in Previous Projects. “means PROD is the object Point Productivity. These values are given in the above table, » An early design Model be made in this model. The estimation can be made based on the functional points, In early Stage of development different wai YS of implementing user Tequirements can be estimated. A Guide for Engineering SmdentsSoftware Engineering 3-19 Estimation and Scheduling © The effort estimation (in terms of person month) in this model can be made using the following formula : "Effort = Axsize xM where Boehm has proposed the value of coefficient A = 2.94. Size should be in terms of Kilo source lines of code ie. KSLOC. The lines of code can be computed with the help of function point. The value of B is varying from 1.1 to 1.24 and depends upon the project, M is based on the characteristics such as 1. Product reliability and complexity (RCPX) 2. Reuse required (RUSE) 3. Platform difficulty (PDIF) 4. Personnel capability (PERS) 5. Personnel experience (PREX) 6. Schedule (SCED) 7. Support facilities (FCIL) These characteristics values can be computed on the following scale - 1 6 Ce Very Very low high ° Hence the effort estimation can be given as B 2.94x size xM RUSE x PDIF x PERS x PREX x SCED x FCIL PM M Wl 3. Areuse model * This model considers the systems that have significant amount of code which is reused from the earlier software systems. The estimation made in Teuse model is nothing but the efforts required to integrated the reused models into the new systems, A Guide for Engineering StudentsSoftware Engineering 3-20 Estimation and Scheduling © There are two types of reusable codes : black box code and white box code, The black box code is a kind of code which is simply integrated with the new system without modifying it. The white box code is a kind of code that has to be modified to some extent before integrating it with the new system, and then only it can work correctly. « There is third category of code which is used in reuse model and it is the code which can be generated automatically. In this form of reuse the standard templates are integrated in the generator. To these generators, the system model is given as input from which some additional information about the system is taken and the code can be generated using the templates. © The efforts required for automatically the generated code is PM = (ASLOC x AT/ 100) / ATPROD where AT is percentage of automatically generated code. ATPROD is the productivity of engineers in estimating such code * Sometimes in the reuse model some white box code is used along with the newly developed code. The size estimate of newly developed code is equivalent to the reused code. Following formula is used to calculate the effort in such a case - ESLOC = ASLOC x(1-AT/ 100) x AAM where ESLOC means equivalent number of lines of new source code. ASLOC means the source lines of code in the component that has to be adapted. AAM is adaptation Adjustment multiplier. This factor is used to take into the efforts required to reuse the code. 4. Post architecture model ¢ This model is a detailed model used to compute the efforts. The basic formula used in this model is ——— ee A Guide for Engineering StudentsSoftware Engineering 3-21 Estimation and Schedutin, B Effort = AxSize xM In this model efforts should be estimated more accurately. In the above formula A is the amount of code. This code size estimate is made with the help of three components - 1, The estimate about new lines of code that is added in the program. 2. Equivalent number of Source Lines Of Code (ESLOC) used in reuse model. 3. Due to changes in requirements the lines of code get modified. The estimate of amount of code being modified. The exponent term B has three possible values that are related to the levels of project complexity. The values of B are continuous rather than discrete. It depends upon the five scale factors. These scale factors vary from very low to extra high (i.e. from 5 to 0). «These factors are - Scale factor for component B Description Precedentedness This factor is for previous experience of| organisation. Very low means no previous experience and high means the organisation knows the application domain. Development flexibility Flexibility in development process. Very low means the typical process is used. Extra high ‘means client is responsible for defining the process goals. Amount of risk that is allowed to carry out. Very: low means little risk analysis is permitted and extra high means high risk analysis is made. Architecture / risk resolution Represents the working environment of the team. Very low cohesion means poor communication or interaction between the team members and extra high means there is no communication problem Team cohesion A Guide for Engineering StrdentsSoftware Engineering 3-2 Estimation and Scheduling and team can work in a good spirit. Process maturity This factor affects the process maturity of the organisation. This value can be computed using Capacity Maturity Model (CMM) questionnaire, for computing the estimates CMM maturity level can be subtracted from 5. ¢ Add up all these rating and then whatever value you get, divide it by 100, Then add the resultant value to 1.01 to get the exponent value. ¢ This model makes use of 17 cost attributes instead of seven. These attributes are used to adjust initial estimate. Cost attribute Type of Purpose attribute RELY Product System reliability that is required. CPLX Product Complexity of system modules DATA Product Size of the data used from database DOCU Product Some amount of documentation used RUSE Product Percentage of reusable components TIME Computer Amount of time required for execution PVOL Computer Volatility of development platform. STOR Computer | Meta constraint ACAP Personnel Project analyst's capability to analyse the project. PCAP Personnel Programmer capability PCON Personnel Personnel continuity PEXP Personnel Programmer’s experience in project domain. | LIEX Personnel Experience of languages and tools that are used. A Guide for Engineering StudentsSoftware Engineering 3-23 Estimation and Scheduling AEXP Personal Analyst's experience in project domain. TOOL Project Use of software tools SCED Project | Project schedule compression. SITE Project Quality of inter-site and multi-site working. Q.13 Explain COCOMO model for project estimation with suitable example CaP [SPPU : May-16, Dec.-17, 18, End Sem, Marks 7, Dec.-22, Marks 9] Ans. : Refer Q.12. 3.7 : Object Point based Estimation Q.14 Discuss with suitable example - Object Point (OP) based estimation. SP [SPPU : June-22, Marks 5] ‘Ans, : Lorenz and Kidd suggested the estimation technique for object oriented project. The steps for this estimation technique are as follows - 1. Using requirement model, develop use cases and determit the project proceeds, the number of use cases may get changed. ine the count. As Using the requirement model, determine the number of key classes. 2. 3. Categorize the type of interface and develop the multiplier. For example Interface Type Multiplier No GUI 2.0 Text based interface 2.25 Graphical User Interface 2.5 Complex GUI 3.0 Multiply the key classes by these multipliers to obtain the number of support classes, 4. Now multiply the key and support classes by average number of work units per class. Approximately there are 15-20 person-days per class. G@aconey @aconey A Gulde for Engineering StudentsSoftware Engineering 3-24 Estimation and Scheduling 3.8 : Project Scheduling Q15 What is project scheduling ? What are the basic principles of project scheduling ? OS [SPPU : Dec.-16, 22, End Sem. Marks 6, Dec.-19, June-22. End Sem, Marks 5] Ans. : Definition : Software project scheduling can be defined as an activity that distributes the estimated effort across the planned project duration by allocating the effort to specific software engineering tasks. 1. Compartmentalization : The Project must be compartmentalized into a number of manageable activities, actions and tasks. To accomplish compartmentalization, both the product and the Process are decomposed. 2. Interdependency : The interdependency of each compartmentalized activity, action, or task must be determined. Some tasks must occur in sequence while others can occur in parallel. 3. Time allocation : Each task to be scheduled must be allocated some number of work units. In addition, each task must be assigned a start date and a completion date that are a function of the inter dependencies and whether work will be conducted ona full-time or part-time basis. 4. Effort validation : As time allocation occurs, the Project manager must ensure that no more than the allocated number of people have been scheduled at any given time. 5. Defined responsibilities : Every task that is scheduled should be assigned to a specific team member, 6. Defined outcomes : Every task that is scheduled should have a defined outcome. For software projects, the outcome is normally a work product or a part of work product, 7. Defined milestones : Every task or group of tasks should be associated with a project milestone. A milestone is accomplished when one or more work products has been reviewed for quality. A Guide for Engineering StudentsDefining a Task Set for the Software Q16 Define task set for the software Project. Also enli: of projects, Ans. : © Defi; Project nition of task set : The task set is a collection » Milestones, and accomplished to complete particular Project. Every process model consists of Software work Products that Must be Of various tasks Sets. Using these tasks setg the software team define, dev. elop or ultimately support computer software, There is no single task that is appropriate for all the Projects but for developing large, complex proje cts the set of tasks are Tequired, Hence every effective software Process should define a collection of task sets depending upon the type of the Project. Using tasks sets the high quality software can be developed and any ftware development. 1, Concept Development Project : These are the Projects in which new business ideas or the applications based on n lew technologies are to be developed. New application development project These projects are developed for satisfying a specific customer need, Application upgradation Project : These are kind of projects in which existing software application needs a major change. This change can be for performance improvement, or modifications within the modules and interfaces, 4. Application maintenance Project : These are kind of projects that Correct, adapt or extend the existing software applications. Reengineering projects : These are the projects in which the legacy systems are rebuilt partly or completely. A Guide for Engineering StudentsEstimation and Scheduling ware Engineering. 3-26 | 3,10: Task Network ‘ ect scheduling 2 Explain with an Soft ask. network in proj Marks 8] Q.17 What is a t example. pap [SPPU: May-11, 18, 19, End Sem, Marks 6, Dec~ OR What is a task network ? How it is used in s¢! project ? pap [SPPU: May Ans, : ¢ The task i -17, End Sem, heduling of software -11, Dec.-13, Marks 8] s a small unit of work. e The task network or an activity network is 4 graphical representation, with : (1) Node: ks or activities are linked if ther 5 corresponding to activities. e is a dependency between them. wn in (2) Tas (3) Th e task network for the product development is as sho’ Fig. Q.17.1 Task network The iti . . task network definition helps project manager to understand th project work breakdown structure. ° © The proj me ie manager should be aware of interdependencies among various _ It should be aware of all those tasks which lie on the critical path. veseot re savant terre an. | 32 Scheduling with Time Line Chart Q.18 What is time li ow it is used cheduli Ine chart ? How it i: i ote is used in schedulin; UP [SPPU : Dec.-12, Marks 8, Dec.-16, sion "eee 8 a , Marks 5, May -18, End Sem, Marks 6 A Guide for Engineering StudentsSoftware Engineering Za 07 Estimation and Scheduling Ans, : ¢ In software project scheduling the timeline chart is created, The purpose of timeline chart is to emphasize the scope of individual tas. Hence set of tasks are given as input to the time line chart. ¢ The time line chart is also called as Gantt chart. © The time line chart can be developed for entire project or it can be developed for individual functions. © Intime line chart 1) All the tasks are listed at the leftmost column. 2) The horizontal bars indicate the time required by the corresponding task. . 3) When multiple horizontal bars occur at the same time on the calendar, then that means concurrency can be applied for performing the tasks. 4) The diamonds indicate the milestones. e In most of the projects, after generation of time line chart ‘the project tables are prepared. In project tables all the tasks are listed along with actual start and end dates and related information. Example Task 1.2 Software development ” 1.2.1 Requirements analysis 1.2. 2 Architectural design 1.2. 3 Procedural design 1.2.4 Code 1.3 Testing 1.3.1 Unit test 4.3.2 Integration test 1.3. 3 Acceptance test 41.4 Operations 41.4.1 Packaging 1.4.2 Customer training Fig. Q.18.1 Time line chart A Guide for Engineering StudentsSoftware Engineerin; 3-28 Estimation and Scheduliny [ 3 12; Schedule racking Tools | Q.19 Write short note on - DART. Ans, : ¢ This tool enables you to track the changes to record being made by users. « Many organizations deploy the Daily activity reporting and tracking tool that monitors the progress of the software project. « DART collects the activity data and keep track of the work flow. « DART can compute the set of business queries which are also called as indicators that can be used to keep track of the performance. « The aim of DART is to empower software project stakeholders in their daily discussion regarding the performance of the project. } I 3.8 Preparing Requirement Traceability Matrix 4 Q.20 Explain the concept of requirement traceability matrix. Also specify the advantages of requirement traceability matrix, Ans. : ¢ Requirements are tracked by Requirements Traceability Matrix (RTM). ¢ RTM traces all the requirements from design, development, and testing. e The traceability matrix is typically a worksheet that contains the tequirements with its all possible test scenarios and cases and their current State, i.e. if they have been passed or failed. This would help the testing team to understand the level of testing activities done for the specific product. Parameters to be included in requirement traceability matrix (1) Requirement ID (2) Requirement type and description (3) Test cases (4) Test case status A Guide for Engineering StudentsSoftware Engineering 3-29 Estimation and Scheduling Example Test case ID Test case description TC#001 Login with invalid usemame but valid Password | TC#002 Login with valid username but invalid password TC#003 Login with valid user name and valid password = Requirement ID Requirement Testcase ID Status Description 101 Login the website TC#001 Pass TC#002 Pass | | TC#003 Pass Advantages of requirements traceability matrix 1. It confirms 100 % test coverage. | 2. It highlights any requirements missing or document inconsistencies. 3. It shows the overall defects or execution status with a focus on business \ Tequirements. 4. Ithelps in analysing or estimating the impact on the QA team's work with Tespect to revisiting or re-working on the test cases. END... A Guide for Engineering StudentsUnit IV | Design Engineering Part |: Design Concepts 4.1: Introduction to Design Q.1 Explain the term — Software Design. Ans. : Definition : Software design is model of software which 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. Q.2 What are the characteristics of a well formed design class ? DSS [SPPU : Dec.-12, Marks 6] Ans. : 1, The good design should implement all the requirements specified by the customer. Even if there are some implicit requirements of the software product then those requirements should also be implemented by the software design. 2. The design should be simple enough so that the software can be understood easily by the developers, testers and customers. . The design should be comprehensive. That means it should provide complete picture of the software. [rename 4.2 The Design Process: | Q.3 Elaborate software design process Ans, : ¢ Software design is an iterative process in which the requirements are translated into the blueprint of the software. Initially the software is Tepresented at high level of abstraction, but during the subsequent iterations data, functional and behavioural requirements are traced in more detail. a - (4-DSoftware Engineering 2 Design Engineering « Thus refinement made during each iteration leads to design representations at much lower level of abstraction. Throughout the software design process the quality of the software is assessed by considering certain characteristics of the softvrars design. sactcnterenee sn ‘ Q.4 Explain the juntity attributes, ,, considered in software deslgn. USF [SPPU : Dec.-12, Marks 8, Dec.-16, End Sem, Marks 5] Ans. : © The design quality attributes popularly known as FURPS (Functionality, Usability, Reliability, Performance and Supportability) is a set of criteria developed by Hewlett and Packard. e Following table represents meaning of each quality attribute Quality Meaning Attribute Functionality | 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 function. Usability The usability can be assessed by knowing the usefulness of the system. Reliability Reliability is a measure of frequency and severity of failure. Repeatability refers to the consistency and repeatability of the measures. The Mean Time to Failure (MTTF) is a metric that is widely used to measure the product’s performance and reliability. Performance _|It is a measure that represents the response of the system. Measuring the performance means measuring the processing speed, memory usage, response time and efficiency. Supportability |It is also called maintainability. It is the ability to adopt the enhancement or changes made in the software. It also means the ability to withstand in a given environment. A Guide for Engineering StudentsSoftware Engineering 4-3 Design Engineering Q.5 What are the design quality guidelines ? S> [SPPU : May-14, Marks 8] Ans. : ¢ The quality guidelines are as follows - 1, The design architecture should be created using following issues - o The design should be created using architectural styles and patterns. o Each component of design should posses good design characteristics, o The implementation of design should be evolutionary, so that testing can be performed at each phase of implementation. 2. In the design the data, architecture, interfaces and components should be clearly represented. 3. The design should be modular. That means the subsystems in the design should be logically partitioned. 4, The data structure should be appropriately chosen for the design of specific problem. 5. The components should be used in the design so that functional independency can be achieved in the design. 6. Using the information obtained in software requirement analysis the design should be created. 7. The interfaces in the design should be such that the complexity between the connected components of the system gets reduced. Similarly interface of the system with external interface should be simplified one. 8. Every design of the software system should convey its meaning appropriately and effectively. Q.6 What are the software design quality attribute and guidelines ? ES [SPPU : Dec.-19, End Sem, Marks 7] Ans, : Refer Q.4 and Q.5. 44 Design Concepts _ i eseimaninii Q.7 Explain the following design concepts. i) Refinement ii) Modularity iii) Architecture. BSS [SPPU May-11, Marks 6, May-13, Marks 8] A Guide for Engineering StudentsSoftware Engineering $-4 Design Engineering Ans. : i) Refinement : « Refinement is actually a process of elaboration. © Stepwise refinement is a top-down design strategy proposed by Niklaus WIRTH. © The architecture of a program is developed by successively refining levels of procedural detail. gram refinement is analogous to the process of oning that is used during requirements analysis. © The process of proj refinement and partiti « 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. ii) Modularity : * The software is divided into separately named and addressable components that called as modules. « Modularization should be such that the development can be planned easily, software increments can be defined and delivered, changes can be more easily accommodated and long term maintenance can be carried out effectively. * Meyer defines five criteria that enable us to evaluate a design method with respect to its ability to define an effective modular system : 1. Modular decomposability : A design method provides a systematic mechanism for decomposing the problem into sub-problems. This reduces the complexity of the problem and the modularity can be achieved. 2. Modular composability : A design method enables existing design components to be assembled into a new system. 3. Modular understandability : A module can be understood as a standalone unit. It will be easier to build and easier to change. A Guide for Engineering StudentsSoftware Engineering 4-5 Design Engineering 4. Modular continuity : Small changes to the system requirements result in changes to individual modules, rather than system-wide changes. 5, Modular protection : An aberrant condition occurs within a module and its effects are constrained within the module. ili) Architecture : Architecture means representation of overall structure of an integrated system. In architecture various components interact and the data of the structure is used by various components. These components are called system elements. Architecture provides the basic framework for the software system so that important framework activities can be conducted in systematic manner. Jn architectural design various system models can be used and these are Model Functioning Structural model Overall architecture of the system can be represented using this model. Framework model —_| This model shows the architectural framework and corresponding applicability. Dynamic model This model shows the reflection of changes on the system due to external events. Process model The sequence of processes and their functioning is represented in this model. Functional model —_| The functional hierarchy occurring in the system is represented by this model. Q.8 Differentiate between abstraction and refinement. USP [SPPU : Dec.-12, June 22, Marks 4] 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. A Guide for Engineering Suudentsbt Design Engineerin Software Engineering Q.9 List the design concepts. Explain refinement and refactoring, Give 7 ie the importance of Refactoring in improving a 7 Ans. : Design concepts are - i) Abstraction ii) Modularity iii) Architecture iv) Refinement v) Pattern vi) Information Hiding vii) Functional Independence viii) Refactoring Refinement : Refer Q.7(i). Refactoring : Refer Q.10. Q.10 What do you understand by refactoring refactoring in improving quality of software. D> [SPPU: May-15, End Sem, Marks 6, Dec,-18, End Sem, Oct.-19, In Sem, Marks 5] ? Give the importance of Ans, : Refactoring is necessary for simplifying the design without changing the function or behaviour. Fowler has defined refactoring as “The process of changing a software system in such a way that the external behavior of the design do not get changed, however the intemal structure gets improved”. Benefits of refactoring are - * The redundancy can be achieved. * Inefficient algorithms can be eliminated or can be replaced by efficient one, * Poorly constructed or inaccurate data structures can be removed or Teplaced, * Other design failures can be rectified. The decision of refactoring particular component is taken by the designer of the software system, : A Guide for Engineering StudentsSoftware Engineering 4-7 Design Engineering 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 ? USP [SPPU : Dec.-16, End Sem, Marks 5, Aug.-17, In Sem, Marks 3) Ans. : Cohesion : « With the help of cohesion the information hiding can be done. « Accohesive module performs only “one task” in software procedure with little interaction with other modules. In other words cohesive module performs only one thing. e Different types of cohesion are : 1. Coincidentally cohesive : The modules in which the set of tasks are related with each other loosely then such modules are called coincidentally cohesive. 2. Logically cohesive : A module that performs the tasks that are logically related with each other is called logically cohesive. 3. Temporal cohesion : The module in which the tasks need to be executed in some specific time span is called temporal cohesive. 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 a 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. A Guide for Engineering Suulents. 4-8 Design Engineer; Software Engineering ——k The goal is to strive for lowest possible coupling among modules jp . 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 coupling is possible by parameter passing o; data interaction. ii) Control coupling : The modules share related control data in contro} coupling. iif) Common coupling : In common coupling common data or a global data is shared among the modules. iv) Content coupling : Content coupling occurs when one module makes use of data or control information maintained in another module. Q.12 Justify “ A cohesive design should have high cohesiveness and low coupling”. E> [SPPU : April-15, In Sem, 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 indicate 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, Q.13 A Design should have high cohesive and low coupling. Justify. US [SPPU : Dec.-18, Oct.-19, In Sem, Marks 5] Ans, : Refer Q.12. Q.14 Differentiate between - Cohesion and coupling in context of software design ? How are these useful for good design of a system ? US [SPPU : June-22, Marks 4] A Guide for Engineering Students- ign Engineering ineering 4-9 Design Engi Software Engin Ans. : Sr. Coupling Cohesion No. 1. | Coupling represents how the In cohesion, the cohesive module modules are connected with other | performs only one thing. modules or with the outside world. ‘ 2. | With coupling interface With cohesion, data hiding can be complexity is decided. done. 3. | The goal of coupling is to achieve | The goal of cohesion is to achieve lowest coupling, high cohesion. 4. | Various types of couplings are - Various types of cohesion are - = . Coincidental cohesion, Logical ‘Data coupling, Control coupling, . . c ling aril Content cohesion, Temporal cohesion, 1on couplin; ‘ont a mee Procedural cohesion and coupling. . . Communicational cohesion. Q.15 Define following design concepts iii) Architecture iv) Refinement Ans. : - 1) Pattern fi) Information hiding US [SPPU : Aug.-17, In Sem, Marks 4) i) Pattern : According 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 Tecurring problem within a certain context, In other words, design pattem acts as a design solution for a particular problem occurring in specific domain. Usin; ig design patter designer can determine whether- * Pattern can be reusable, Pattern can be used for current work. Pattern can be used to solve similar kind of Problem with different functionality. A Guide for Engineering StudentsSoftware Engineering 4-10 Design Engineerin ii) Information hiding : « Information hiding is one of the important property of effective modular design. The term information hiding means the modules are designed in such q way that information contained in one module cannot be accessible to the other module (the module which does not require this information), ¢ Due to information hiding only limited amount of information can be passed to other module or to any local data structuré used by other module. * The advantage of information hiding is basically in testing and maintenance. ¢ Due to information hiding some data and procedures of one module can be hidden from another module. This ultimately avoids introduction of errors module from one module to another. Similarly one can make changes in the desired module without affecting the other module. iii) Architecture : Refer Q.7(iii). iv) Refinement : Refer Q.7(ii). Q.16 What is the relationship between modularity and functional dependence ? BS [SPPU : Dec.-18, End Sem, Marks 5] Ans, : ¢ The functional independence can be achieved by developing the functional modules with single-minded approach. ¢ By using functional independence functions may be compartmentalized and interfaces are simplified. ¢ Independent modules are easier to maintain with reduced error propagation. « Functional independence is a key to good design and design is the key to software quality, « The major benefit of functional independence is in achieving effective modularity, * The functional independence is assessed using two qualitative criteria - Cohesion and coupling. "A Guide for Engineering Students
You might also like
DELD TechKnowledge
PDF
75% (4)
DELD TechKnowledge
373 pages
Nov - Dec - OOPs Solved Question Papers - 2019 Pattern
PDF
No ratings yet
Nov - Dec - OOPs Solved Question Papers - 2019 Pattern
49 pages
Microprocessor Endsem Decode
PDF
100% (1)
Microprocessor Endsem Decode
89 pages
System Programing and Operating System
PDF
No ratings yet
System Programing and Operating System
376 pages
Discrete Mathematics: Technical
PDF
100% (1)
Discrete Mathematics: Technical
518 pages
Software Engineering Book (22413) - MSBTE
PDF
100% (3)
Software Engineering Book (22413) - MSBTE
130 pages
(DBMS) Database Management System Text Book
PDF
No ratings yet
(DBMS) Database Management System Text Book
296 pages
SPOS Decode
PDF
No ratings yet
SPOS Decode
68 pages
Operating System - Technical Publication
PDF
100% (2)
Operating System - Technical Publication
141 pages
Dsa Sppu PDF
PDF
No ratings yet
Dsa Sppu PDF
617 pages
Oops Book
PDF
No ratings yet
Oops Book
203 pages
DSGT TechNeo
PDF
50% (2)
DSGT TechNeo
226 pages
CN Decode
PDF
100% (1)
CN Decode
94 pages
DBMS Decode
PDF
No ratings yet
DBMS Decode
59 pages
Software Engineering - Technical Publication - 230625 - 090636
PDF
No ratings yet
Software Engineering - Technical Publication - 230625 - 090636
281 pages
Iot Tech Neo
PDF
100% (1)
Iot Tech Neo
177 pages
DSGT Tech Knowledge
PDF
100% (2)
DSGT Tech Knowledge
167 pages
Theory of Computation Technical Book 2021
PDF
100% (1)
Theory of Computation Technical Book 2021
341 pages
Do Net Framing
PDF
100% (2)
Do Net Framing
305 pages
DBMS (Decode)
PDF
100% (1)
DBMS (Decode)
175 pages
Shivani ADA
PDF
No ratings yet
Shivani ADA
136 pages
Important RGPV Question OS
PDF
100% (1)
Important RGPV Question OS
13 pages
Advanced Computer Networking (Tech Neo Publications)
PDF
50% (2)
Advanced Computer Networking (Tech Neo Publications)
78 pages
CG Decode
PDF
100% (1)
CG Decode
93 pages
2 (DELD) Digital Electronics & Logic Design Text Book - 33-174
PDF
No ratings yet
2 (DELD) Digital Electronics & Logic Design Text Book - 33-174
142 pages
Software Notes
PDF
No ratings yet
Software Notes
118 pages
CG Unit 1 Tech-Neo
PDF
No ratings yet
CG Unit 1 Tech-Neo
66 pages
Software Engineering - Techncial Publication
PDF
No ratings yet
Software Engineering - Techncial Publication
120 pages
Oop Decode
PDF
50% (4)
Oop Decode
84 pages
CN Decode PDF
PDF
No ratings yet
CN Decode PDF
173 pages
DLCA TechNeo
PDF
100% (1)
DLCA TechNeo
285 pages
AOA
PDF
100% (1)
AOA
219 pages
Software Engineering Hand Written Notes
PDF
50% (2)
Software Engineering Hand Written Notes
47 pages
Computer Graphics PDF
PDF
No ratings yet
Computer Graphics PDF
308 pages
Dbms Nirali Pub
PDF
No ratings yet
Dbms Nirali Pub
117 pages
Fundamentals of Data Structures - A. A. Puntambekar
PDF
No ratings yet
Fundamentals of Data Structures - A. A. Puntambekar
132 pages
OOP TechKnowledge
PDF
No ratings yet
OOP TechKnowledge
186 pages
MP Lab Manual
PDF
100% (1)
MP Lab Manual
103 pages
DSA Solved Paper (May - June 2023) by VP
PDF
No ratings yet
DSA Solved Paper (May - June 2023) by VP
31 pages
Solved Os Sppu Q - Paper
PDF
0% (1)
Solved Os Sppu Q - Paper
19 pages
DSA Easy Solutions
PDF
No ratings yet
DSA Easy Solutions
75 pages
Python Vol 1 - Technical Publication
PDF
No ratings yet
Python Vol 1 - Technical Publication
81 pages
Maths Sem 4 Slips Solved by Prem Vijay Vajare
PDF
No ratings yet
Maths Sem 4 Slips Solved by Prem Vijay Vajare
304 pages
Software Testing - Technical Publication
PDF
No ratings yet
Software Testing - Technical Publication
91 pages
CG Unit III Its A Notes Computer Graphics of Sppu
PDF
No ratings yet
CG Unit III Its A Notes Computer Graphics of Sppu
21 pages
Oop by Anonymous
PDF
100% (1)
Oop by Anonymous
236 pages
FDS IN SEM Decode
PDF
No ratings yet
FDS IN SEM Decode
25 pages
DM Solved Question Paper by Imp Notes Se Comp Sppu
PDF
No ratings yet
DM Solved Question Paper by Imp Notes Se Comp Sppu
10 pages
Unit 1 - 80386 Architecture and Programmers Model
PDF
100% (1)
Unit 1 - 80386 Architecture and Programmers Model
43 pages
Programming With Python by Anuradha A. Puntambekar and Yogesh B. Patil
PDF
100% (2)
Programming With Python by Anuradha A. Puntambekar and Yogesh B. Patil
184 pages
Software Engineering
PDF
No ratings yet
Software Engineering
279 pages
CGA Practical Journal
PDF
No ratings yet
CGA Practical Journal
44 pages
Daa Decode
PDF
No ratings yet
Daa Decode
205 pages
Fds Decode Ut3
PDF
No ratings yet
Fds Decode Ut3
19 pages
Emergence of Software Enginnering
PDF
100% (1)
Emergence of Software Enginnering
5 pages
Operating System (Decode)
PDF
No ratings yet
Operating System (Decode)
117 pages
04 Chapter-05 Register Organization
PDF
No ratings yet
04 Chapter-05 Register Organization
3 pages
Lect-9
PDF
No ratings yet
Lect-9
21 pages
AOA Viva Question
PDF
No ratings yet
AOA Viva Question
8 pages
Flag Register of 80386 Micro Processor
PDF
100% (6)
Flag Register of 80386 Micro Processor
2 pages