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)
261 views
Software Notes
se aids se notes
Uploaded by
N028 Kavthale Pravin
AI-enhanced title
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 now
Download
Save software notes For Later
Download
Save
Save software notes For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
261 views
Software Notes
se aids se notes
Uploaded by
N028 Kavthale Pravin
AI-enhanced title
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 now
Download
Save software notes For Later
Carousel Previous
Carousel Next
Save
Save software notes For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 118
Search
Fullscreen
SUBJECT CODE : 210253 Choice Based Credit System SAVITRIBA] PHULE PUNE UNIVERSITY - 2019 SYLLABUS S.E. (Computer / Al&DS) Semester - IV. SOFTWARE ENGINEERING (For END SEM Exam - 70 Marks) Mrs. Anuradha A. Puntambekar M.E. (Computer) Formerly Assistant Professor in PE.S, Moder College of Engineering, . Pune Written by Popular Authors of Text Books of Technical Publications Covers Entire Syllabus [2 Question - Answer Format Exact Answers and Solutions Chapterwise Solved SPPU Questions Aug. - 2017 to Dec. - 2022 {SOLVED SPPU QUESTION PAPERS +Dec.-2017 *May-2018 + Dec.-2018 »May- 2019 ¢Oct.- 2019 ¢ Dec.-2019 » June~2022 «Dec. - 2022 A Guide For Engineering StudentsTABLE OF CONTENTS Lesrbemede —_—_———— Chapter - 3 Estimation and Scheduling (3 - 1) to (3 - 29) 3.1 The Project Planning Process .... 1 3.2 Defining Software Scope and Checking Feasibility...... 3.3 Resources Management 3.4 Software Project Estimation..........-++++-+ 3.5 Decomposition Techniques .........--ss+essee- 3.6 Empirical Estimation Models.......ssssssesescsee 3.7 Object Point based Estimation..... 3.8 Project Scheduling........-...:+ssse 3.9 Defining a Task Set for the Software Project... 3.10 Task Network.. 3.11 Scheduling with Time Line Chart 3.12 Schedule Tracking Tools. 3.13 Preparing Requirement Traceability Matri Unit IV RT Chapter - 4 Design Engineering (4 - 1) to (4 - 30) Part I’: Design Concepts 4.1 Introduction to Design...sssssssessserssesersersers Esai ber Serica Ndo oh Sembee Bee a ee v)4.2 The Design Process... 4.3 Software Quality Guidelines and AttriDUteS.....srsserrsserreennecsenn 4-2 4.4 Design Concepts..........++ 4.5 Object-Oriented Design Concept . 4.6 Design Classes ..........ssesssererereres 4.7 The Design Model......sssssesesssese 4.8 Component-Level Design ....----ssessee 4,9 Class Based DeSign .....-sssecssssecssrersssrsssesnerensreennees 4.10 Conduction Component Level Design... 4-24 4.11 Component Level Design for Web App....ssersserereesreeersessessesseass 4-25 Part II: Architectural Design 4.12 Software Architecture 4.13 Architectural Styles........ Chapter - 5 Risks and Configuration Management (5 - 1) to (5 - 20) Part I : Risk Management 5.1 Introduction to Risk Management .........sscsssssesesecsrereessseneesennes 5-1 5.2 Software RiSkS .....sc1-000. ouonsosevesasesoneonsoucsavesacasasusnnonesscssonsvasaiesseat 5-3 5.3. Risk Identification ..ccsssussssssssssusssssssseseaesssessusssssessstsenmnssseesessend “A 5.4 Risk Projection...........ccesccsscssesesssmessssesssssssesssesssssssssaserssecessesseesess1o 5.5 RISK RefiNEMENE carncrnrctsransnane Risk Mitigation, Monitoring and Management The RMMM Plan. (vi)Part II : Software Configuration Management 5.8 Software Configuration Management. insesnesreuees 5-11 5.9 The SCM REpOSitOry ......-erseeeeessieen 5.10 The SCM Process ..ssssssessssesssecsserecersrsssceseessstecssnaes 5.11 Configuration Management for any Suitable Software System ne LS SSY are Chapter - 6 Software Testing (6 - 1) to (6 - 33) se 1 sie 2 6-5 oo 6 6.1 A Strategic Approach to Software Testing «sss 6.2. Verification and Validation 6.3 Organizing for Software Testing....... 6.4 Software Testing Strategy - The Big Picture... 6.5 Criteria for Completion of Testing...........ssses» 6.6 Strategic ISSUCS......2. eres 6.7 Test Strategies for Conventional Software 6.8 Test Strategies for Object-Oriented Software 6.9 Test Strategies for WebApps.... 6.10 Validation Testing. 6.11 Validation-Test Criteria.......... 6.12 Types of Testing... 6.13 White Box Testing........esesnve 6.14 Black Box Testing......-sssseseere 6.15 Comparison between Black Box Testing and White Box Testing. Solved SPPU Question Papers ——~S~SC*S A) tO B=) (vil) -ion and Scheduling “emcee smn } enn 3,1: The Project Planning Process plain ect planning process: / at E ae a an activity in which the project manager makes Ans, : © Project p! reasonable estimates of resources, cost ‘and Schedule. In order to make these estimates, it is necessary t0 prepare a project plan ein and the beginning of the project and as the project proceeds this plan can be updated appropriately. . « Following figure represents project planning process. various task sets that are associated with 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. Step 3: 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 or Use cases the estimates are made. ar Set B-)Software Engineering 3-2 Estimation and Scheduling Step 5: Using the scheduling tools or task networks the schedule for the project is prepared. prevent arcana i |: 3.2: Defining Software Scope and hocking Feasibi ity | | 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. ©. 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. e' 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 ? + Isit within the state of art ? a A Gulde for Engineering Studentsj i i 43 Estimation and Scheg, | tScheatny, ‘Are the defects to be reduced to a level that satisfies the apnea, ° : ™ 2. Finance » Isit financially feasible? a cost of software oon Is the development cost completed at OTBANIZAtion, its client, or market affordable ? «Are the defects to be reduced to a level that satisfies the application 3 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 is understood, and and feasibility have been identified the next task is estimation of the Resources required to accomplish the software development effort. j | 3.3: Resources Management | i Q.4 What is the need for defining a software scope ? What are the categories of software engineering resources 2 5 [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. “I é Sofnvare Engineering ——— Ts OTS component c 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 - A Off-the-shelf components (OTS Components) Existing software acquired from a third party or has been developed internally for a past project.Software Engineeri 338. Estimation and Scheay 2. Full experience components The software to be built for the current project resembles the exist specification, design, code or test data developed for past Projeae Members of the current software team that have had full experience ; int application area represented by these components. 3. Partial experience component Tn 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, Fig 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. : em | 3.4: Software Project Estimation Q.5 What is need of project estimation ? What are the steps while estimation of software? — B@ (SPPU : May-19, Dec.-19, End Sem, Marks 8] * Ans: Need: + The different parameters of a project that need to be estimated include - Droject 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 Students A—OO”-”-—-|—|.—.—t—~—~— Software 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; the development product. This generally ends Step 1 : Estimate the size of but there are other up in either Lines of Code (LOC) or Function Points (FP), possible units of measure. y comparing it with the existing systems of the same The size is estimated b: 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. i ™ | 3,5: Decomposition Techniques | ana se Q.6 What is LOC-based estimation ? Explain with a suitable example. Ge [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. ee A Guide for Engineering Students i iim Eg i ey Se tate, poet aSo Software. Engineering 3-7 Estimation and Scheduling Asimple set of size measure that can be developed is as given below : 9: Size = Kilo Lines of Code (KLOC) o. Effort = Person/month o. Productivity = KLOC/person-month o Quality = Number of faults/KLOC o | Cost = S/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: © 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 2D graphics analysis . 3D graphics analysis Database management . Computer graphics display facility . Peripheral control function . Design analysis models Estimate the project in based on LOC ane Sw oN For estimating the given application we consider each module as separate - tion and corresponding lines of code can be estimated in the following ie as A Guide for Engineering StudentsSoftware Engineering 3-8 Estimation and Scheduling = = 1 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 Soo +4*S + Sires! 16 Expected value = [4700 + (4 * 6000) + 10000] /6 — 6450 « Areview 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. > [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 ? EE [SPPU : Dec.-19, End Sem, Marks 5] A Guide for Engineering Studentsaw: ‘Sofware Engineering Ans, : The function point model is based on functionality of the delivered 3-9 Estimation and Scheduling application. © These are generally independent of the programming language used. » Function points are derived using: co Countable measures of the software requirements domain co 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. Count Weighting factor Count Domain characteristics Simple | Average | Complex Number of user © % 4 6 input ‘Number of user 4 5 7 output ‘A Guide for Engineering Suuden® gilSoftware Engineering 3-10 -10 Estimation and Scheduling Number of user 3 4 6 inquiries | | Number of files | 7 | 15 = | } Number of | 5 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 inQeé. INFO DOMAIN | Opt. most | pessimistic | Esti. Weight FP VALUE likely value | factor ___ ee te NO.OFINPUTS | 95 | 28 32 | m1] 4 ji etl on | 12 | NO.OF OUTPUTS | 44 | 47 20 Vv 5 | 85 NOLOEINQURIES | 7.) , 33 30 23.1 5 | 116 ae NO: OF FILES 5s | 5 7 53 | 10 | 53 Ino. OF ; 2 | 2 3 2 7 445 EXTERNAL INTERFACES 8 ae [COUNT TOTAL 381 * 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) on A Guide for Engineering Students- Software Engineering 3-1 Estimation and Scheduling Sr, No. Factor Value (F)). 1. [Back-up and recovery ? 4 -| 3, |Data communication ? 2 3, _ [Distributed processing ? 0 4, |Performance critical ? 4 ; 5 Existing operational environment 9 3 6 |On-line data entry ? 4 7. |Input transactions over multiple screens ? 5 Information domain values complex ? 5 10 |Intemal processing complex ? 5 fp 11, |Code designed for reuse ? it 12. |Conversion / installation in design? . - 3 13. |Multiple installations ? 5 Sa t«*d 14. | Application designed for change 2 5 2@)782 The estimated number of adjusted FP is derived using the following formula : FP ESTIMATED = (FP COUNT TOTAL + [COMPLEXITY ADJUSTMENT FACTOR] : FP ESTIMATED = COUNT TOTAL * (0.65 + (0.01 *? = &))1 Complexity adjustment factor = (0.65 + (0.01 * 52)] = 1.17 « FP ESTIMATED = (381 * 1.17) = 446 (Function point count adjusted with complexity adjustment factor) |S Sr ES A Guide for Engineering StudentsSoftware Engineering ip ¢ A review of historical data indicates - Estimation and Scheduling 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 and total effort 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. ISP [SPPU : May-19, Dec 22, End Sem, Marks 8] Fanction Point based metrics Ans. : Sr. LOC based metrics No. 1. | Size oriented software metrics is by considering the size of the software that has been produced in lines of code. 2. | ForaLOC based metric the software orgaiization 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. Function oriented metrics use a measure of functionality delivered by the software. 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 project estimation ? How use cases are used in estimation ? USP [SPPU : May-11, Marks 6] A Guide for Engineering Studentsaati Soj Ei ineerit 3-13 Estimation and Schedulin, Ans, ; i imation i Software project estimation 1s 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 on Tequirements, 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 - o 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 Engincering Students3-14 Estimation and. Scheduling Software Engineering _ isti e used to After establishing these characteristics, empirical data can be u: ° en the structured estimate LOC or FP for ¢ac can be used to compute t h use case. Thi he efforts required to hierarchical data develop the system. is useful to compute this estimation - o Following formula = + wh - 1 N «LOC ave [(Sa/SI ) LoC estimates = + (Pa/Ph - 1) * LOC giust where N. =. Actual number of Use-cases / LOC. = Historical average LOC/Use-case for this type avg subsystem = don '1n%' of LOC, LOC, dust Adjustment based 0: fr ae 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 Average pages per use-case for this type of subsystem number of Ph = The above expression is used to develop a rough estimation of the 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 ? E& [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 StudentsBe Software Engineering 3-18 Estimation and Scheduling Work task for communication process : « Various factors that influence the tasks sets are - 1. Size of project 2. Project development staff 3,. Number of user of that project 4. Application longetivity 5. Complexity of application 6. Performance constraints 7. Use of technologies © Task set example : Consider the concept development type of the Project, ‘Various tasks sets in this type of project are - © Defining scope : This task is for defining the scope, goal or objective | of the project. © Planning : It includes the estimate for schedule, cost and people fo, completing the desired concept. co Evaluation of technology risks : It evaluates the risk associated with the technology used in the project. o 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 relatively size set «| tasks and the effort required to accomplish each task is estimated. i © The estimation begins with identification of software functions ental from the project scope. Then a series of software process activities must| be performed for each function. The function and software proces) activities are presented in a tabular form. Then planner estimates isl efforts for each software function. f For example : f In this technique for each of the business function software engineering tasbs) such as analysis, design, coding and testing is carried out. The estimate! —————————— : ‘A Guide for Engineering Studet® lis aSoftware Engineering 3-16 Estimation and Scheduling efforts for cach 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 b business function is estimated in percentage, Da activiry [interface and | control facilities ICA) | 2D graphics | Geometric analysis function | GDGA) | Database | Management (DBM) 5.95 ' | Facility i |(cape) oe A Gulde for Engineering StudemssCC means customer communication CE means customer evaluation The percentage effort is calculated based on the total 48. For instance we get the total for the task Design as 22.25 22.25 * 100 / 48 = 46 % approximately Thus the percentage efforts for all the software engineering tasks are computed. Based on average labor cost of $6000 per month 1. Total estimated project Effort = 48 persons-month 2. Total estimated project cost = (6000 * 48) = $288000 Or et | Empirical Estimation Models Q.12 Explain COCOMO II model. UG} [SPPU : Dec.-11, Marks 8, Dec.-16, End Sem, Marks 5] Ans. : COCOMO II is applied for modern software development practices addressed for the projects in 1990's and 2000’s. The sub-models of COCOMO II model are - 1. Application composition model « For estimating the efforts required for the prototyping projects and the projects in which the existing software components are used application composition model is introduced. ae Gecone ° A Guide for Engineering Stndent aeSoftware Engineering 3-18 Estimation and Scheduling « The estimation in this model is based ‘on the number of application points The application points are similar to the object points. « This estimation is based on the level of difficulty of object points. Boehm has suggested the object point productivity in the following manner. - Jerri Developers experience | Verylow} Low Nominal | High | Very high and capability CASE maturity Verylow} Low | Nominal] High | Very high Productivity | 4 7 13 25 50 (NOP/Month) | « Effort computation in application-composition model can be done as follows - PM = (NAPO*FH#1) 7 PROD where PM means effort required in terms of person-months. NAP means number of application points required. % reuse indicates the amount of reused components in the project. These reusable components can be screens, reports or the modules used in previous projects. PROD is the object point productivity. These values are given in the above table. 2. An early design model * This model is used in the early stage of the project development. That is after gathering the user requirements and before the project development actually starts, this model is used. Hence approximate cost estimation can be made in this model. * The estimation can be made based on the functional points, * In early stage of development different ways of implementing user Tequirements can be estimated, ; be A Guide for Engineering Students aera\ Software Engineering 3-19 Estimation and Scheduti - ing © The effort estimation (in terms of person month) in this model can be made using the following formula : Effort = Ax size xM where Boehm has proposed the value of coefficient A = 2.94, Size should be in terms of Kilo source lines of code i.e. KSLOC. The lines of code can be computed with the help of function point. The value of B is varying ftom 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) r 4. Personnel capability (PERS) 5. Personnel experience (PREX) F 6. Schedule (SCED) 7, Support facilities (FCIL) These characteristics values can be computed on the following scale - P Fl acl very Very low high « Hence the effort estimation can be given as ; B PM = 2.94xsize XM I M= RUSE X PDIF x PERS x PREX x SCED x FCIL f a 3. Areuse model ! This model considers the systems that have significant amount of cok which is reused from the earlier software systems. The estimation made 4 reuse model is nothing but the efforts required to integrated the reustl models into the new systems. AH . . ‘A Guide for Engineering Studet® —Software 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 e 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 - i ESLOC = ASLOC x (1-AT/ 100) x AAM a where i 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 dt!) efforts required to reuse the code. i) 4. Post architecture model * This model is a detailed model used to compute the efforts. The basic formula used in this model is A Gude for Engineering StudentsEffort = « In this model efforts shoul formula A is the amount of help of three components - 1, The estimate about new g-2 Estimation and Schedulin, B Ax Size xM ld be estimated more accurately. In the above code. This code size estimate is made with the lines of code that is added in the program. 2. Equivalent number of Source Lines Of Code (ESLOC) used in Teuse model. 3. Due to changes in requirements the lines of code get modified. Thy estimate of amount of code being modified. The exponent term B has three possible values that are related to the levels of project comp! lexity. The values of B are continuous rathey 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 |Precedentedness Development flexibility ————— Architecture / risk resolution | Amount of risk that is allowed to carry out. Very| Description fo —__—___| This factor is for previous experience of| organisation. Very low means no previous| experience and high means the organisation knows| the application domain. Flexibility in development process. Very low means the typical process is used. Extra high| means client is responsible for defining the process, goals. low means little risk analysis is permitted and| extra high means high risk analysis is made. Team cohesion 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) A Guide for Engineering StudentsSoftware Engineering 3-22 Estimation and Scheduting and team can work in a good spirit. L 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. 1 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 | Votaity of development platform. STOR Computer | Memory constraint ACAP Personnel _ Project analyst’s capability to analyse the Project. roar | Fenomel [Progammercapably PCON Personnel "| Personnel continuity PEXP Personnel Programmer’s experi i j nie Xperience in project domain. LTEX Personnel Experience of languages and tools that are used. A Guide for Engineering SwdentsKey Software Engineerin; Q43 Explain COCOMO model for project estimation with suitable example > [SPPU: May-16, Dec.-17, 18, End Sem, Marks 7, Dec.-22, Marks 9] Ans, : Refer Q.12. | 3.7: Object Point based Estimation | Lowrise saimenenreomessnnessunsnassauenensennet Q14 Discuss with suitable example - Object Point (OP) based estimation. E> [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 determine the count. As the project proceeds, the number of use cases may get changed. 2, Using the requirement model, determine the number of key classes. 3. Categorize the type of interface and develop the multiplier. For example Interface Type i Multiplier No GUI 2.0 Text based interface 2.25 25 | 3.0 po 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. Graphical User Interface el ‘A Guide for Engineering Students eS aSoftware Engineering 3-24 Estimation and Scheduling .8 : Project Scheduling Q.15 What is project scheduling ? What are the basic principles of project scheduling ? B&F [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. 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 on a full-time or part-time basis. 3. 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. _ . 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 th for the S Software Project Qi6 Define task set for the software project. ct. Also enlist the various types of os + © Definition of task set : The task set is a collection of software cst work tasks, milestones, and work products that must be accomplished to complete particular project. Every process model consists of various tasks sets. Using these tasks sets the software team define, develop or ultimately support computer software. + There is no single task that is appropriate for all the projects but for developing large, complex projects the set of tasks are required. 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 unnecessary work can be avoided during software development. The number of tasks sets will vary depending upon the type of the project. Various types of projects are enlisted below - 1, Concept Development project : These are the projects in which new business ideas or the applications based on new technologies are to be developed. 2, New application development project : These projects are developed for satisfying a specific customer need. 3. 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. 5. Reengineering projects : These are the projects in which the legacy ‘ systems are rebuilt partly or completely. —_—_—_—_—_—_—_—————— A Guide for Engineering StudentsSoftware Engineering 3-26 Estimation and Scheduling oe 3.10 : Task Network rk in project scheduling ? Explain with an Q.17 What is a task netwo example. O& [SPPU : May-11, 18, 19, End Sem, Marks 6, Dec.-17, End Sem, Marks 8] it is used in scheduling of software OR What is a task network ? How G& [SPPU : May -11, Dec.-13, Marks 8] project ? ‘Ans. : ¢ The task is a small unit of work. « The task network or an activity network is a graphical representation, with: (1) Nodes corresponding to activities. (2) Tasks or activities are linked if there is a dependency between them. (3) The task network for the product development is as shown in Fig. Q.17.1 Task network » The task network definition helps project manager to understand the project work breakdown structure. The project manager should be aware of interdependencies among various tasks, It should be aware of all those tasks which lie on the critical path. r mene | 3.11: Scheduling with Time Line Chart — Q.18 What is time line chart ? How it is used in scheduling of software project ? OP [SPPU : Dec.-12, Marks 8, Dec.-16, End Sem, Marks 5, May -18, End Sem, Marks 6 : A Guide for Englacering StudentsSoftware Engineerit 3-27 Estimation and Scheduling ‘Ans, 1 © In software project scheduling the timeline chart is created. The purpose of timeline chart is to emphasize the scope of individual task, 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. « 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. ai Sept Oct, Nov. 6 [13 |20|27| 3 |10}47|24]311 Lhe l2i}2e! Dec. Jan, 1825] 1 | 8 [15422 4 | Fig. Q.18.1 Time line chart A Guide for Engineering StudentsSoftware Engineering 3-28 Estimation and Scheduling oe | 3.12: Schedule Tracking 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. ——— | 38 i 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. © The traceability matrix is typically a worksheet that contains the requirements 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 } i : Preparing Requirement Traceability Matrix 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 StudentsPd Software Engineering 3-29 Estimation and Scheduling Example > Requirement Testcase ID Status Description Login the website TC#003 Advantages of requirements traceability matrix 1. Itconfirms 100 % test coverage. . Ithighlights any requirements missing or document inconsistencies, nv 3. It shows the overall defects or execution status with a focus on business requirements. 4, Ivhelps in analysing or estimating the impact on the QA team's work with respect to revisiting or re-working on the test cases. END... & A Guide for Engineering Studen’s aea | Design Engineering Part CEU e ele kd 4, a Introduction to Design Unit IV 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 7 [E> [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. , 3. The design should be comprehensive. That means it should provide complete picture of the software. prerreranee | 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. Tnitially the software is represented at high level of abstraction, but during the subsequent iterations data, functional and behavioural requirements are traced in more detail. a 4-D I a eres4-2 Design Engineerin, Software Engineerit ana iteration leads to design finement - made during each itera! es at much lower level of abstraction. Throughout the representations oftware is assessed by software design process the quality of the s considering certain characteristics of the software design. sass 4.3 : Software Quallty Guidelines and Attributes | i » Sateen : : seamen sonore eee design. attributes, considered in software ™ = = [SPPU: Dec.-12, Marks 8, Dec.-16, End Sem, Marks 5) Ant e The design quality attributes popularly known as FURPS 8. 3 nn : (Functionality, Usability, Reliability, Performance and Supportability) is asetof criteria developed by Hewlett and Packard. « Following table represents meaning of each quality attribute, Quality Meaning | armies | etter | 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 { y ne 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 SdensSoftware Engineering _ 4-3 Design Engin eering Q.5 What are the design quality guidelines? t@P [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 ? E> [SPPU : Dec.-19, End Sem, Marks 7] Ans. : Refer Q.4 and Q. 4 : Design Concepts Q.7 Explain the following design concepts. i) Refinement ii) Modularity iii) Architecture, GH [SPPU May-11, Marks 6, May-13, Marks 8] ea A Guide for Engineering StudentsSoftware Engineering 4-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. « The process of program refinement is analogous to the process of refinement and partitioning that is used during requirements analysis. « 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. Modular understandability : A module can be understood as 4 standalone unit. It will be easier to build and easier to change. 3 we ‘A Guide for Engineering Students —ON Software 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. lil) 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. In architectural design various system models can be used and these are Model . Functioning Structural model —_ | Overall architecture of the system can be Tepresented 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 Tepresented in this model. Functional model, | The functional hierarchy occurring in the system is represented by this model. Q.8 Differentiate between abstraction and refinement. GS} [SPPU : Dec.-12, June 22, Marks 4] 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. Ans, : A Guide for Engineering StudentsSoftware Engineering 4-6 Design Engineering Q.9 List the design concepts. Explain refinement and refactoring. Give the importance of Refactoring in improving the quality of software. UG [SPPU : June-22, Marks 9) Ans. : Design concepts are - i) Abstraction ii) Modularity iii) Architecture iv) Refinement v) Patter 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 ? Give the importance of refactoring in improving quality of software. UG [SPPU : May-15, End Sem, Marks 6, Dec.-18, End Sem, Oct.-19, In Sem, Marks 5] ‘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 internal 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. eel A Guide for Engineering StudentsSoptware 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 ? CGP [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. » Acohesive module performs only “one task” in software procedure with little interaction with other modules. In other words cohesive module performs only one thing. « Different types of cohesion are : J. 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. ee A Gulde for Engineering Students rs5 4-8 Des sign Software Engineerin, Engin eer © The goal is to strive for lowest possible coupling among Mody ley \ jy software design. © The property of good couplin, Prop cts, It should also reduce the cost jn fe ag : hy g is that it should reduce or Void g che k impact and ripple effe changes. testing and maintenance. Various types of coupling are = ; i) Data coupling : The data coupling is possible by parameter Passing data interaction. ii) Control coupling : The modules share related control data in cont | coupling. iii) Common coupling : In common coupling common data or g elobay 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 ang low coupling”. BS [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: BH (SPU : Dec.-18, Oct.-19, In Sem, Marks 5] Ans. : Refer Q.12. Q.14 Differentiate between - tes of software design ? How are these ee coupling i em useful for good design of a system ? 0 [SPPU : June-22, Ma! rks 4) = ring sidenae Software Engineering 4-9 Design Engineering Ans. : Sr. Coupling Cohesion No. j}— | 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 - a om, Logi Data coupling, Control coupling, na cokes a Common coupling and Content cobesioGy tee 7 fl Procedural cohesion and coupling. wees y Communicational cohesion. eb Q.15 Define following design concepts - i) Pattern ii) Information hiding I> [SPPU : Aug.-27, In Sem, Marks 4] ili) Architecture iv) Refinement Ans. : i) Pattern : According to Brad Appleton the design pattern can be s - It is a named nugget (something valuable) of insight which defined a: problem within 2 conveys the essence of proven solution to @ recurring certain context. In other words, design pattern acts as a design solution for 2 particular problem occurring in specific domain. Using design pattern 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 StudentsSt Software Engineering 4-10 Design Engineering 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 g 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 structure used by other module. « The advantage of information hiding is basically in testing ang 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 ES [SPPU : Dec.-18, End Sem, Marks 5] dependence ? Ans. : © The functional independence can be achieved by developing the functional modules with single-minded approach. e 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. sean eenSoftware Engineering 4-H Design Engineering Q.17 Explain about various design concepts considered during design. ‘ GH [SPPU : April-15, In Sem, Marks 6, Aug.-17, In Sem, Marks 3] Ans. : Refer Q.7 and Q.13. Q.18 Why modularity is important in software projects ? Ans. : Modularity is important in software projects because of following reasons ; (1) Modularity reduces complexity and helps in easier implementation. (2) The parallel development of different parts of the system is possible due to modular design. (3) Changes made during testing and maintenance become manageable and they do not affect the other modules. Q.19 Differentiate between : Abstraction and modularization. Ans. : Abstraction is a software design concept which is applied to refine software solution. In the process of abstraction only necessary information is abstracted form requirement analysis to create the software solution in broad terms. While moving through different levels of abstraction the procedural and data abstraction are prepared. During abstraction the Procedural and data objects are prepared. Modularity is a design concept in which requirements are divided into separately named and addresable components called as modules. Modularity in design reduces complexity and helps in easier implementation. | 4.5 : Object-Oriented Design Concept | Q.20 Explain object oriented design. Ans. : Object is an important clement of an Object Oriented Design (OOD). Various objects and their interaction with each other objects is graphically Tepresented in object oriented design. An object is an entity which can be obtained from its belonging class and it posses attributes and operations, The typical presentation of Object. ori lented system is depicted by following Fig. Q.20.1. ope ’ | | |Software Engineerin; 4-12 Design Engineer, | ae eee eevee i val f | i! 46: Design Clases : Q.21 Explain the types of design classes. ES [SPPU : Dec.-13, Marks 6] Ans. : Design classes are defined as the classes that describe some elements | of problem domain, focus on various aspects of problem from user's point of view. The goals of design classes is : 1. To refine the analysis classes by providing the detail design, so that further implementation can be done easily. ; N - To create new set of classes for implementing the infrastructure of the software. There are five different types of design classes. Fig. Q.21.1 Types of design classes A Guide for Engineering Sudentsi ————— sare Engineerin 4-13 Design Engineeri Sof 4, User interface class : The user interface class defines all the abstractions that are necessary for Human Computer Interface(HCl). The user interface classes is basically a visual representation of the HCI. 2, Business domain class : Business domain classes are the refinement of analysis classes. These classes identify the attributes and services that are needed to implement some clements of business domain. 3, Process class ¢ Process class implement lower level business abstractions used by the business domain. 4. Persistent class : These classes represent the data store such as databases which will be retained as it is even after the execution of the software. 5, System class : These classes are responsible for software management and control functions that are used for system operation. Tithe Desk aod | | 4.7: The Design Model Q.22 Describe the design model with a neat diagram and give the traceability of each layer of design model to analysis model. * GP [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. e The abstract dimension represents level of details as each element of analysis model is transformed into design equivalent. In following Fig. Q.22.1 the dashed line shows the boundary between analysis and design model. (See Fig. Q.22.1 on next page.) . ¢ Inboth the analysis and design models the same UML diagrams are used but in analysis 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. a ana anan "4 Gulie for Engineering StudentsSoftware Engineering 4-14 Design Engineering fer peer Baployment evel interface Fig. 0.22.1 Dimension of design model © Along the horizontal axis various elements such as architecture element, interface element, component level elements and deployment level | elements are given. It is not necessary that these elements have to be developed in sequential manner. First of all the preliminary architecture design occurs then interface design and component level design occur in parallel. The deployment level design ends up after the completions of complete design model. Q.23 Explain the elements of design model. 03? [SPPU : May-13, Marks 8] Ans. : Following are the elements of design model - {1) Data design elements The: data design represents the high level of abstraction. This data Tepresented at data design level is refined gradually for implementing the computer based system. The data has great impact on the architecture of (FNP EEN ELI AE: PORE TE PAI BE SIERO SEALE ‘A Guide for Engineering StudentsSoftware Engineering 4-15 Design Engineering 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. Thus data plays an important role in software design. (2) Architectural design elements 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 application domain Architectural patterns and styles. (3) Interface design elements 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 there are three types of interfaces - 5‘ ~_, User interface ; By this interface user interacts with the system. For example - GUI External interface : This is the interface of the ‘system components with the external entities. For example - Networking. Internal interface : This is an interface which represents the inter component communication of the system. For example - Two classes can communicate with each other by operations or by passing messages Fig. 0.23.1 (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 algorithmic details and procedural details are exposed. i= EEE ERTEEEREREEREEPEEE J A Guide for Engineering StudentsS joftware 4-16 Design En, ineerin, «© Fig. Q.23.2 represents that component order makes use of anothe, T Interface Dependency relation Fig. Q.23.2 Components » The order is dependent upon the component form. These two objects can be interfaced with each other. (5) Deployment level design elements The deployment level design elements indicate how software functions and software subsystems are assigned to the physical computing environment of the software product. KE Fig. Q.23.3 Deployment diagram eS AGulde for Engineering StudentsSoftware Engineering 4017 Design Engineering, For example web browsers may work in mobile phoned or they may run on client PC or can execute on server machines. Q.24 What are the elements in data design ? What are the guidelines for the data design ? G@® [SPPU : May-14, Marks 8] Ans. : Elements of data design : 1) Data structure : At the program component level, the data structure is associated with algorithms 2) Databases : At the application level data model 1s converted to databases. 3) Datawarehouse : At the business level, the collection of information stored in various databases is identified and Datawarehouse is formed. Guideline for data design : 1) The systematic analysis principles applied to function and behaviour should also be applied to data. 2) All the data structures and operations to be performed should be identified. 3) A data dictionary should be established and used to define both data and program design. 4) Low level data decisions should be deferred until late in the design. 5) A library of useful data structures and operations must be developed well in advance. (6) A software design and programming language should support the specification and realization of abstract data types. Q.25 What are the deployment level design elements ? GE} [SPPU : Dec.-11, Marks 4] Ans, : Refer Q.23(5), Q.26 Enlist the golden rules of user interface design. GP [SPPU : Dec.-22, Marks 6] Ans, ; Thao Mandel has proposed three golden rules for user interface design - — ‘A Guide for Engineering SudentsSoftware Engineering 4n18 Design Engineerin |, Place the user in control 2, Reduce the user's memory load 3. Make the interface consistent. 1. Place the user in contro! «Following are the design principles that allow user to control the system ; i) Define the interaction modes in such a way that user will be restricted from doing the unnecessary actions. ii) The interaction should be flexible : The user interaction should be flexible. For example in the Microsoft power point slide show the slide transition is possible using mouse clicks as well as using keyboard. Such flexibility allows any user to operate the system as per his comfort. iii) Provide the facility of ‘undo’ or ‘interruption’ in user interaction iv) Allow user to customize the interaction : It is observed that in while handling user interface certain actions need to be done repeatedly. It saves the time if these actions are collected in a Macro. ¥) Hide technical details from the user : This feature is essential for a casual user. User should not be aware of system commands, operating system functions or file management functions. vi) The objects appearing on the screen should be interactive with the user. 2. Reduce the user's memory load ¢ Following are the principles suggested by Mandel to reduce the memory load of the user. 1. Do not force the user to have short term memory : The user interface should be such that the user need not have to remember past actions and results. And this can be achieved by providing proper visual interface. 2. Establish meaningful defaults Meaningful default options should be available to the user. For example in the Microsoft word the user can set the default font size as per his eee A Guide for Engineering Students_— 4-19 separ bnglneering lot only this, there should be some reset option available to the choice. N wiser in order to get back the original values. 3, Use intuitive shortcuts : For quick handling of the system such short : cuts are required in the user interface. For example control+s key 1s for saving the file or control+o is for opening the file. . Make the interface consistent The user interface should be consistent. This consistency can be maintained at three levels such as, The visual information (all screen layouts) should be consistent throughout and it should be as per the design standards. There should be limited set of input holding the non conflicting ° information. The information flow transiting from one task to another should be consistent. 4.8 : Component-Level Design Q.27 Describe notations used for deployment diagram. Describe the importance of deployment diagram. BF [SPPU : Dec.-22, Marks 9] Ans, : Notations : Node :. * A node is a physical element that exists at run time and represents a computational resource. It generally has at least some memory and some processing capability. * Graphically the node is represented as cube. « Example - Fig. Q.27.1 Node ‘A Guide for Engineering StudentsSoftware Engineering = 4-21 Design Engineering « Example - AG Client 1 worhatation ~ Connections Client 2
> Fig. Q.27.3 Connections Importance : Following applications of deployment diagram illustrates its importance, 1) The deployment diagram is used to represent the deployment of software elements to various hardware components. 2) This diagram illustrates the runtime processing of hardware. 3) It is used to model the network and hardware topology of a system. 4) Itis also used to model distributed networks and systems. 5) The deployment diagram is used for aodelling the embedded system. pemmnateirinmanan ; * 7; 4,9: Class Based [Design onl Q.28 Explain class based modeling with suitable example. ES [SPPU : April-16, In Sem, Marks 4, May-16, End Sem, Marks 7] OR Explain object oriented view of component level design with suitable example, B® [SPPU : Dec.-22, Marks 6] Ans. : * Component is Tepresented as a part of architectural model. It collects the information about the system as a part of analysis model. * If object oriented software engineering approach is adopted then the component level design will emphasize on elaboration of analysis classes and refinement of infrastructure classes. ccm A Guide for Engineering SudentsSoftware Engineering 4-20 Design Engineering Components : Components are nothing but the physical packaging of the logical elements such as classes, interfaces and collaborations. employee designation.exe : \\ <
> node <
> 7 Address S, Department Components Fig. Q.27.2 Nodes and components Connections : * The association is the most common relationship used by the nodes among themselves. The association is actually a physical telationship such as Ethernet connection, shared bus or RS -232 cables. « For distant processors the indirect connections such as satellite communication can also be used. SS rs A Guide for Engineering Students _—Software Engineering 4-22 Design Engineering * The detailed description of attributes, operations and interfaces of these infrastructure classes is required during the system building. For example : "Consider an ATM System in which the customer with an ATM card can establish session with the system. First of all he inserts the card into the system and enters the PIN. The console of the system reads the card and authenticates the customer. The system has console containing display and keyboard. The session with the system can be accomplished by the transaction. Using the withdraw! transaction the customer can get the requested amount through cash dispenser. . In above problem statement underlined words denote objects of the system. Hence - 1) ATM system is controller object. 2) Individual components can be © Card reader « Console « Cash dispenser 3) The initiating object is customer. 4) The controlling objects are © Session ¢ Transaction Various objects can then be as shown below. ATM System int id Char — Bankname[20] Re Char — BankAdd[20] HH int State int Switch _ON Di Ilj re Engineerin, 4-23 wi ee Design Engineerin, int Switch_OFF int Customer_State _ A aA@_ run () | Switchon () pC Switchoff () getID () | fp getplace () | Startup_system () Shutdown_system () | Card reader ‘Cash dispenser int money enter_PIN() ‘Check_initial_amt () select choice () dispense_amp ()rea Software Engineering 4-26 Design Engineering Q.29 Explain the guidelines of component level design. - WH [SPPU : Dec.-17, End Sem, Dec.=18, End Sem, Marks 5, June 22, Marks 9, Dec.-22, Marks 6) onents are the part of architectural model. The nts. The Ans. : © Components : Comp: naming conventions should be established for componel component names should be specified from the problem domain. These names should be meaningful. « Interfaces ; Interfaces serve important role in collaboration. The interface should be drawn as circle with a solid line connecting it to another element. This indicates that the element to which it is connected offers the interface. The interface should flow from left tant interfaces must be drawn. ommunication and side of component. Only impor « Dependencies and interfaces : The dependencies must be shown from left to right. The inheritance should be shown from bottom to top ie. from se class. The component interdependencies should be | ; I derived to ba represented via interfaces. nr i \ 4.10 : Conduction Component Level Design Q.30 Enlist the steps that are applied for component level design. Ans. : Following is a set of steps that are applied for component level design - 1. Identify all the design classes from the problem domain. 2. Identify all the design classes from the infrastructure domain. 3. Detail out all the design classes which are not the reusable components. aan RRR TEE a. When components communicate or collaborate then represent their communication using messages. b. Identify interfaces for each component. c. Define the attributes of the classes by specifying the data types and deciding the data structures. d. Specify all the operations by describing the processing flow within each operation. A Guide for Engineering Students4-25 ware Engineering Design Engineering fy the databases and files and identify the Classes that are involved soft! 4, Speci in handling them pescribe the behavioural representation for the class, Design the deployment diagram fro providing additional implementation. Factor the component level design. Panay Find out alternative design solutions as well. jaa : Component Level Design for Web Apps ncentnrnin Q.31 Write short note on - Functional design at the component level, ‘Ans. ¢ Modern web applications provide various useful functionalities such as : i) Processing of contents and navigation in dynamic fashion, ii) Performing computations or data processing operations dynamically. iii) Efficient query processing and access to database. iv) Establishing data interfaces with external corporate systems. « Toachieve these functionalities, it is necessary to design and construct the functional components of web applications. « The Web contents and above mentioned functionalities are combined to create functional architecture. + A functional architecture is a representation of the functional domain of the WebApplications and describes the key functional components in the WebApplications and how these components interact with each other. cla a ee Uenih sca tt e- BP 001 4) i / erent 1 12 is Software Architecture | Q.32 Explain software architecture as a concept of softtare design. B®} [SPPU : May~12, Marks 4] OR What do you mean by software architecture ? Explain with suitable example, §@ [SPPU : April-16, In Sem, Marks 4] mr ae ‘A Guide for Engineering Studen’s
You might also like
SE Decode
PDF
No ratings yet
SE Decode
114 pages
Sample 19571
PDF
No ratings yet
Sample 19571
16 pages
Emerging Trends in Computer Engineering & Information Technology 120421
PDF
No ratings yet
Emerging Trends in Computer Engineering & Information Technology 120421
13 pages
Object Oriented Programming (210243) SE Computer Engineering
PDF
No ratings yet
Object Oriented Programming (210243) SE Computer Engineering
254 pages
Graphical Password Authentication System Using Intuitive Approach
PDF
No ratings yet
Graphical Password Authentication System Using Intuitive Approach
5 pages
ETE Report
PDF
No ratings yet
ETE Report
11 pages
DTE Notes
PDF
No ratings yet
DTE Notes
130 pages
Dse Cap2 Cutoff
PDF
No ratings yet
Dse Cap2 Cutoff
668 pages
SEN - Unit 2
PDF
No ratings yet
SEN - Unit 2
19 pages
Mad 22617 Msbte Diploma
PDF
No ratings yet
Mad 22617 Msbte Diploma
39 pages
SEPM Module 5 - Software Testing & Maintenance
PDF
No ratings yet
SEPM Module 5 - Software Testing & Maintenance
16 pages
Software 4 Model Answer Papers From 2019 To 2022
PDF
No ratings yet
Software 4 Model Answer Papers From 2019 To 2022
27 pages
BDA Unit 2
PDF
No ratings yet
BDA Unit 2
12 pages
PWP Notes (Chapter Wise)
PDF
100% (1)
PWP Notes (Chapter Wise)
123 pages
Mad Ut
PDF
No ratings yet
Mad Ut
5 pages
Insem FDS Solution
PDF
No ratings yet
Insem FDS Solution
11 pages
Unit 2 (ETI) BDA
PDF
No ratings yet
Unit 2 (ETI) BDA
22 pages
Mad Part 1 Notes
PDF
No ratings yet
Mad Part 1 Notes
10 pages
Fds Assignment 3
PDF
No ratings yet
Fds Assignment 3
2 pages
22522-2019-Winter-Model-Answer-Paper (Msbte Study Resources)
PDF
No ratings yet
22522-2019-Winter-Model-Answer-Paper (Msbte Study Resources)
28 pages
Nis 22620 QB 050320
PDF
No ratings yet
Nis 22620 QB 050320
9 pages
Software Testing (STE 22514) UNIT TEST 1 Questions From MSBTE Exams
PDF
0% (1)
Software Testing (STE 22514) UNIT TEST 1 Questions From MSBTE Exams
2 pages
Practical 3: - Generate Business Ideas (Product/service) For Entrepreneurial and Entrepreneurial Opportunities Through Brainstorming
PDF
No ratings yet
Practical 3: - Generate Business Ideas (Product/service) For Entrepreneurial and Entrepreneurial Opportunities Through Brainstorming
5 pages
QB Mad
PDF
No ratings yet
QB Mad
5 pages
PWP 22616 QB Unit Test I
PDF
No ratings yet
PWP 22616 QB Unit Test I
2 pages
ITR Report - Suraj
PDF
No ratings yet
ITR Report - Suraj
17 pages
EVS - Unit 5
PDF
No ratings yet
EVS - Unit 5
12 pages
Software Testing Important Question Bank.
PDF
No ratings yet
Software Testing Important Question Bank.
6 pages
Weekly Diary For Industrial Training Co5i
PDF
No ratings yet
Weekly Diary For Industrial Training Co5i
16 pages
MAD Technical
PDF
No ratings yet
MAD Technical
116 pages
Winter 2023
PDF
No ratings yet
Winter 2023
27 pages
Question Bank (I Scheme)
PDF
100% (1)
Question Bank (I Scheme)
2 pages
Sdtechandeducation - In-Emerging Trends in Computer and Information Technology Practice MCQ Question Amp Answer
PDF
No ratings yet
Sdtechandeducation - In-Emerging Trends in Computer and Information Technology Practice MCQ Question Amp Answer
16 pages
Unit 6 Fds 2023
PDF
No ratings yet
Unit 6 Fds 2023
67 pages
Model Answer Winter 22
PDF
No ratings yet
Model Answer Winter 22
23 pages
Maharashtra Engineering Colleges Direct 2nd Year Cutoff PDF
PDF
No ratings yet
Maharashtra Engineering Colleges Direct 2nd Year Cutoff PDF
820 pages
Software Eng Notes
PDF
No ratings yet
Software Eng Notes
23 pages
Topic 5 CSS
PDF
No ratings yet
Topic 5 CSS
21 pages
NIS Microproject 2 by Campusify
PDF
No ratings yet
NIS Microproject 2 by Campusify
14 pages
PDF
PDF
No ratings yet
PDF
5 pages
The Management Spectrum
PDF
No ratings yet
The Management Spectrum
4 pages
Agile (GtuStudy)
PDF
No ratings yet
Agile (GtuStudy)
332 pages
2017 Summer Model Answer Paper
PDF
No ratings yet
2017 Summer Model Answer Paper
40 pages
Te It - Sem - V - SL - Orientation - 2022 - 23
PDF
No ratings yet
Te It - Sem - V - SL - Orientation - 2022 - 23
13 pages
Data Mining - Discretization
PDF
100% (1)
Data Mining - Discretization
5 pages
Winter - 14 EXAMINATION: Important Instructions To Examiners
PDF
No ratings yet
Winter - 14 EXAMINATION: Important Instructions To Examiners
177 pages
PWP - Chapter 1
PDF
No ratings yet
PWP - Chapter 1
53 pages
Software Testing - Technical Publication
PDF
No ratings yet
Software Testing - Technical Publication
91 pages
ETI Microproject
PDF
No ratings yet
ETI Microproject
11 pages
AJP TEST-I Questions
PDF
No ratings yet
AJP TEST-I Questions
5 pages
5&6 Sem Question Paper
PDF
No ratings yet
5&6 Sem Question Paper
81 pages
CPP (22060) Final Project
PDF
No ratings yet
CPP (22060) Final Project
6 pages
PWP Chapter 4
PDF
No ratings yet
PWP Chapter 4
38 pages
MAD Question paper
PDF
No ratings yet
MAD Question paper
3 pages
2022 Summer Question Paper (Msbte Study Resources)
PDF
No ratings yet
2022 Summer Question Paper (Msbte Study Resources)
3 pages
Python Vol 2 - Technical Publication
PDF
No ratings yet
Python Vol 2 - Technical Publication
81 pages
Multithreading and Exception Handling
PDF
No ratings yet
Multithreading and Exception Handling
40 pages
ETI-Chapter 2
PDF
No ratings yet
ETI-Chapter 2
13 pages
Laplace Transformation of Periodic Functions
PDF
100% (1)
Laplace Transformation of Periodic Functions
15 pages
Photocopy of MAD (59M)
PDF
No ratings yet
Photocopy of MAD (59M)
40 pages
Cyber_Security_unit_6
PDF
No ratings yet
Cyber_Security_unit_6
9 pages
Cyber_Security_unit_5
PDF
No ratings yet
Cyber_Security_unit_5
15 pages
CS_unit_1
PDF
No ratings yet
CS_unit_1
10 pages
IOT Practical Codes-1
PDF
No ratings yet
IOT Practical Codes-1
9 pages