This action might not be possible to undo. Are you sure you want to continue?
SPM & QA
SPM & QA
1. Describe the following: IT and Organizational Structures IT and Organizational Structures Traditional organizations are hierarchical, flat or matrix in design . In hierarchical organizations, middle managers tell subordinates what to do and tell superiors the outcomes. IS supports this hierarchy. In flat structured organizations, work is more flexible and employees do whatever is needed. It allows off-loading extra work and supports intra-firm communications. In matrix organizations, work is organized into small work groups and integrated regionally and nationally/globally. It reduces operating complexes and expenses by allowing information to be easily shared among different managerial functions. Hierarchical Organizational Structure It is based on the concepts of division of labor, specialization, and unity of command. Key decisions are made at the top and filter down through the organization. Middle managers do the primary information processing and communication function. It is typically used to store and communicate information along the lines of the hierarchy and to support the info management function of the managers. Flat Organizational Structure Decision-making is centralized. As everyone does whatever needs to be done, they can respond quickly to dynamic, uncertain environments However, this organizational structure often becomes less flexible as the organization grows. Routine work is often off-loaded but, as a hierarchy develops, becomes the „glue‟ tying parts of the organization that would not otherwise communicate.
Page 1 of 16
Defined by their ability to promote creativity and flexibility while maintaining operational process control. electronic workflows. Extensive use of communication technologies and networks also makes it easier to co-ordinate across functional boundaries. with each supervisor directing a different aspect of the employee‟s work. Work is often co-ordinated electronically.MCA 5th Sem Assignments SPM & QA Matrix Organizational Structure This typically assigns workers with two or more supervisors in an effort to make sure that multiple dimensions of the business are integrated. These include electronic linking. Describe the Software cost estimation methods and guidelines Software Cost Estimation Methods A number of methods have been used to estimate software costs Page 2 of 16 . T-Form Organization T-form (“Technology-based”) organizations take the networked structure one step further by combining IT with traditional components to form new types of components. Matrix organizations often fail to enable managers to achieve their business strategies because of the inability to cope with increased information processing demands. production automation. and decentralizing decision-making. while systems enable information to more easily move around the organization. electronic customer/supplier relationships and selfservice Internet portals. 2. which is achieved by substituting hierarchical controls with controls based on IS. Networked Organizational Structure Rigid hierarchies are replaced with formal and informal communication networks that connect all parts of the company.
perhaps with the aid of an expert-consensus mechanism such as the Delphi technique AnalogyEstimation This method involves reasoning by analogy with one or more completed projects to relate their actual costs to an estimate of the cost of a similar new project. Bottom-Up Estimation Each component of the software job is separately estimated. Page 3 of 16 . Expert Judgement This method involves consulting one or more experts. The estimated effort depends on the customer's budget and not on the software functionality Bottom-Up Estimation Each component of the software job is separately estimated.MCA 5th Sem Assignments SPM & QA Algorithimic Models These methods provide one or more algorithms which produce a software cost estimate as a function of a number of variables which relate to some software metric (usually its size) and cost drivers. Top-Down Estimation An overall cost estimate for the project is derived from global properties of the software product. Price to Win The cost estimation developed by this method is equated to the price believed necessary to win the job. and the results aggregated to produce an estimate for the overall job. The total cost is then split up among the various components. Parkinson's Principle A Parkinson principle ('Work expands to fill the available volume") is invoked to equate the cost estimate to the available resources. and the results aggregated to produce an estimate for the overall job.
Examples can be Failure to address priority conflicts. failed system or someexternal events risks. and simple arithmetic formulas rather than guessing. personal memory. standards. Schedule risks mainly affect on project and finally on company economy and maylead to project failure Budget Risk: Wrong budget estimation or Project scope expansion leads to Budget / Cost Risk. It is important to classify risks intoappropriate categories. Anticipate and control user changes. Delay finalizing the initial estimate until the end of a thorough study. Insufficient resources or Noproper subject training etc. Computing management should carefully approve the cost estimate. Describe the following: a. Don't rely on cost estimating software for an accurate estimate. Monitor the progress of the proposed project. Page 4 of 16 . Use the estimate to evaluate project personnel. Evaluate proposed project progress by using independent auditors. Schedule Risk: Project schedule get slip when project tasks and schedule release risks are notaddressed properly.MCA 5th Sem Assignments SPM & QA Cost Estimation Guidelines Assign the initial estimating task to the final developers. 3. Thisrisk may lead to either a delay in the delivery of the project or sometimes even an incomplete closureof the project. intuition. Risks can be classified into following 13 categories: Operational Risk: Risks of loss due to improper process implementation. Risk Categories Risk management is an essential activity of project management. and complex formulas. Rely on documented facts.
These are outside the controlof the program.MCA 5th Sem Assignments SPM & QA Business Risk: Non-availability of contracts or purchase order at the start of the project or delay inreceiving proper inputs from the customer or business analyst may lead to business risks. Quality and Process Risk: This risk occures due toIncorrect application of process tailoring and deviation guidelinesNew employees allocated to the project not trained in the quality processes and procedures adoptedby the organization Resource Risk: This risk depends on factors like Schedule. Programmatic Risks: The external risks beyond the operational limits. constantly changing development or production or testingenvironment can lead to this risk. Impropermanagement of any of these factors leads to resource risk.So. Budget and Facilities. Staff. The Access rights / privileges failure will lead toleakage of confidential data. it is important to do proper planning of infrastructure for the efficient development of a project. These external events can be Running out of fund or Changing customer productstrategy and priority or Government rule changes etc. Technical Environment Risk: These are the risks related to the environment under which both theclient and the customer work. Page 5 of 16 . Information Security Risk: The risks related to the security of information like confidentiality orintegrity of customer’s personal / business data. For example. Infrastructure Risk: Improper planning of infrastructure / resources may lead to risks related toslow network connectivity or complete failure of connectivity at both the client and the customer sites.
MCA 5th Sem Assignments SPM & QA Supplier Risk: This type of risk may occurs when some third party supplier is involved in thedevelopment of the project. Risk components and Drivers Risk components are defined as follows: Performance risk: The degree of uncertainty that the product will meet its requirements andbe fit for its intended use. usability. System Support and deliverability. Page 6 of 16 . b.Familiarity. Technology Risk: It is related to the complete change in technology or introduction of a newtechnology. It addresses the hardware and software tools & supporting equipmentsused in the project. The risk for this category may be due to — Capacity.adapt and enhance. Cost risks: The degree of uncertainty that the project budget will be maintained. Support risks: The degree of uncertainty that the result software will be easy to correct. Schedule risks: The degree of uncertainty that the project schedule will be maintained andthat the product will be delivered on time. Suitability. Reliability. Technical and Architectural Risk: These types of risks generally generally leads to failure of functionality and performance. This risk occurs due to the uncertain or inadequate capability of supplier.
you can compute the risk exposure. Prioritization requires analyzing the possible side effects of the risk event in case it actually occurs. Risk Prioritization The identified risks for a project merely give the possible events that can hinder it from meeting the goal. 4. Describe the following: a. consistency in assigning the probability and impact values is critical. may differ. So before we proceed with management risks. which is then compared against all other risk exposures to determine which risk will be given priority for risk mitigation .Since exposure is a relative measurement based on the numeric value assigned to risk probability and impact. A prioritized risks list that ranks risks by their exposure value determines the order in which risks will be addressed in risk mitigation and contingency planning. project mangers prioritize them so that management energies can be focused on high risks. Project Metrics Software Metric is a measure of some property of a piece of software or its specifications. In risk prioritization. Since quantitative methods have proved so powerful in the other sciences. The consequences of various risks. computer science practitioners and theoreticians have worked hard to bring similar approaches to Page 7 of 16 . Based on the possible consequences and the probability of the risks event occurring.MCA 5th Sem Assignments SPM & QA c. which you can then use for prioritizing risks. however. each identified risk is evaluated and assigned values for The following elements: The impact if the risk cond Multiplying the risk probability by the impact would yield risk exposure.
Tom DeMarco stated. The practical utility of software metrics has thus been limited to narrow domains where the measurement process can be stabilized. Number of classes and interfaces Robert Cecil Martin’s software package metrics Cohesion Coupling Limitations It is very difficult to satisfactorily define or measure "how much" software there is in a program.MCA 5th Sem Assignments SPM & QA software development. Management methodologies such as the Capability Maturity Model or ISO 9000 have therefore focused more on process metrics which assist in monitoring and controlling the processes that produce the software. especially when making such a prediction prior to the detail design. Examples of process metrics affecting software: Number of times the program failed to rebuild overnight Number of defects introduced per developer hour Page 8 of 16 . Common software metrics include: Order of growth (See Analysis of algorithms in terms of Asymptotic analysis and Big O notation) Source lines of code Cyclomatic complexity Function point analysis Bugs per line of code Code coverage Number of lines of customer requirements. “You can’t control what you can't measure.
to determine if the cost. equal to or greater than the original estimate? Will the project likely be completed on time? Page 9 of 16 . It can be as simple as tracking an elemental cost estimate breakdown as a design progresses from concept through to 100% construction documents. and work accomplished are progressing in accordance with the plan. It ensures a clear definition of work prior to beginning that work. It provides an objective measure of accomplishments. is it likely that the cost will be less than. In either case. and an early and accurate picture of the contract status. which can be used as a management tool as an early warning system to detect deficient or endangered progress. forecasting its completion date and final cost. it provides a basis for course correction. It answers two key questions: At the end of the project. Earned Value Analysis (EVA) Earned Value Analysis (EVA) Earned Value Analysis (EVA) is an industry standard method of measuring a project's progress at any given point in time. schedule. and analyzing variances in the schedule and budget as the project proceeds. As work is completed. or it can be calculated and tracked using a seriesof mathematical formulae (see below). It compares the planned amount of work with what has actually been completed. EVA is a snapshot in time. it is considered "earned”.MCA 5th Sem Assignments SPM & QA Number of changes to requirements Hours of programmer time available and spent per week Number of patch releases required after first product ship b.
(formerly known as the budget cost of work performed or BCWP) – the value of the work actually completed. and indirect costs). calculated thus: SPI = EV / PV is often used with the CPI to forecast overall project completion estimates. The Earned Value (EV). A negative Schedule Variance (SV) calculated at a given point in time means the project is Page 10 of 16 .g. all labor. equipment. 2. (formerly known as the budgeted cost of work scheduled or BCWS) – that portion of the approved cost estimate planned to be spent on the given activity during a given period. The Schedule Performance Index (SPI). and is generally used to forecast the cost to complete a project. It involves calculating three key values for each activity in the WBS: (Work Breakdown Structure) 1. The Planned Value (PV).AC and the schedule variance: Schedule Variance (SV) = EV PV These two values can be converted to efficiency indicators to reflect the cost and schedule performance of the project. The most commonly used cost-efficiency indicator is the Cost Performance Index (CPI). The most commonly used measures are the cost variance: Cost Variance (CV) = EV . These three values are combined to determine at that point in time whether or not work is being accomplished as planned.MCA 5th Sem Assignments SPM & QA Calculating Earned Value Earned Value Management measures progress against a baseline. It is calculated as. material. CPI = EV / AC The sum of all individual EV budgets divided by the sum of all individual ACs is known as the cumulative CPI. This Actual Cost must correspond to whatever was budgeted for the Planned Value and the Earned Value (e. The Actual Cost (AC). 3. (formerly known as the actual cost of work performed or ACWP) – the total of the costs incurred in accomplishing work on the activity in a given period.
a more procedural orientation is taken. many levels of Abstraction can be posed. 5. a solution is Stated in broad terms using the language of theproblem environment. Explain the following Software design concepts: Abstraction Refinement Modularity Control Hierarchy Design Concepts A set of fundamental software design concepts has evolved over the past four decades. Wasserman [WAS83] provides a useful definition:The psychological notion of "abstraction" permits one to concentrate on a problem atsome level of generalization without regard to irrelevant low level details. Finally. use of abstraction alsopermits one to work with concepts and terms that are familiar in the problem environmentwithout Page 11 of 16 .MCA 5th Sem Assignments SPM & QA behind schedule. while a negative Cost Variance (CV) means the project is over budget. the solution is stated in a manner thatcan be directly implemented. at the lowest level of abstraction. Each helps the software engineer to answer thefollowing questions. each has stood thetest of time.Problemoriented terminology is coupled with implementation-oriented terminology in an effort tostate a solution. Atlower levels of abstraction. Each provides the software designer with a foundation from which moresophisticated design methods can be applied.What criteria can be used to partition software into individual components?How function or data structure detail is separated from a conceptual representation of thesoftware?What uniform criteria define the technical quality of a software design? Abstraction:When we consider a modular solution to any problem. Although the degree of interest in each concept has varied over the years. At the highest level of abstraction.
Each step in the software process isa refinement in the level of abstraction of the software solution. step away from moving door. It follows that the procedural abstraction open wouldmake use of information contained in the attributes of the data abstraction door. In the context of the procedural abstraction open. turn knob and pull door. A procedural abstraction is a named sequence of instructions that has a specific andlimited function. For example.we can define a data abstraction called door. the data abstraction for door would encompass a set of attributes that describe the door (e.software is allocated as an element of a computer-based system.Open implies a long sequence of procedural steps (e.).g. reach out and graspknob. The original abstract data type is used as a template or generic datastructure from which other data structures can be instantiated. An example of a procedural abstraction would be the word open for a door. Refinement:- Page 12 of 16 .g. etc. A data abstraction is a namedcollection of data that describes a data object. walk to the door. As we move through differentlevels of abstraction. the software solution is stated in terms "that are familiar in the problem environment.. the Ada package is a programming language mechanism that provides support for both data andprocedural abstraction. Finally.. we work to create procedural and data abstractions.MCA 5th Sem Assignments SPM & QA having to transform them to an unfamiliar structure. Many modernprogramming languages provide mechanisms for creating abstract data types. dimensions). During system engineering. During software requirementsanalysis. controlabstraction implies a program control mechanism without specifying internal details. the level of abstraction is reduced. swing direction.opening mechanism. the lowestlevel of abstraction is reached when source code is generated. weight." As we move through the design process. Like procedural and data abstraction. door type. Control abstraction is thethird form of abstraction used in software design. Like any data object.
one or several instructions of the given program are decomposed into moredetailed instructions. Refinement is actually a process of elaboration. so the data may have to be refined. It is important that the programmer be aware of theunderlying criteria (for design decisions) and of the existence of alternative solutions. that is. the statement describes function or informationconceptually but provides no information about the internal workings of the function or theinternal structure of the information. not the approach. Every refinementstep implies some design decisions. Software architecture embodies modularity. Refinement causes the designer to elaborate on the originalstatement. The differences that are in the level of implementation details are considered.and it is natural to refine the program and the data specifications in parallel. Refinement helps the designer toreveal low-level details as design progresses. That is. decomposed. or structured. Abstraction and refinement are complementary concepts. In each step (of therefinement). We begin with a statement of function (or description of information) that is definedat a high level of abstraction. This successive decomposition or refinement of specifications terminateswhen all instructions are expressed in terms of any underlying computer or programminglanguage. Theprocess of program refinement proposed by Wirth is analogous to the process of refinement andpartitioning that is used during requirements analysis. Abstraction enables a designer tospecify procedure and data and yet suppress low-level details. Both concepts aid the designer in creating acomplete design model as the design evolves Modularity:The concept of modularity in computer software has been espoused for almost fivedecades. providing more and more detail as each successive refinement (elaboration) occurs. As tasks are refined.MCA 5th Sem Assignments SPM & QA Stepwise refinement is a top-down design strategy originally proposed by Niklaus Aprogram is developed by successively refining levels of procedural detail. Page 13 of 16 .
Modular decomposability: Page 14 of 16 .. often called modules that are integrated to satisfyproblem requirements.MCA 5th Sem Assignments SPM & QA software is divided into separatelynamed and addressable components. How do we define an appropriate module of a given size? Theanswer lies in the method(s) used to define modules within a system. Meyer [MEY88] definesfive criteria that enable us to evaluate a design method with respect to itsability to define an effective modular system. Another important question ariseswhen modularity is considered.Howmodular should we make software? The answers to these questions require an understandingof other design concepts considered later in this chapter. Monolithic software (i.e. It has been stated that "modularity is the single attribute of softwarethat allows a program to be intellectually manageable" [MYE78]. alarge program composed of a single module) cannot be easily grasped by a reader. .
embedded software) in which relatively minimalspeed and memory overhead introduced by subprograms (i.MCA 5th Sem Assignments SPM & QA If a design method provides a systematic mechanism for decomposing the problem intosub-problems. it will reduce the complexity of the overall problem.g. it is important to notethat a system may be designed modularly. the impact of error-induced side effects will be minimized. the philosophy has been maintained and the program willprovide the benefits of a modular system. Modular continuity :If small changes to the system requirements result in changes to individual modules. Control Hierarchy:Page 15 of 16 ."There are situations (e. thereby achieving an effectivemodular solution Modular composability :If a design method enables existing (reusable) design components to be assembled intoa new system. Modular understandability: If a module can be understood as a standalone unit (without reference to other modules). the impact of changeinduced side effects will be minimized." Although the program source codemay not look modular at first glance..rather than system-wide changes.e. In such situations. Modular protection: If an aberrant condition occurs within a module and its effects are constrained within thatmodule. it will be easier to build and easier to change. real ± time software. software can and should be designed with modularity as an overriding philosophy. subroutines. Finally. even if its implementation must be "monolithic.. procedures) isunacceptable. it will yield a modular solution that does not reinvent the wheel. Code may be developed "in ± line.
A call and return architecture isa classic program structure that decomposes function into a control hierarchy where a ³main´program invokes a number of program components. The most common is the tree like diagram (Figure 5. also called program structure. represents the organization of programcomponents (modules) and implies a hierarchy of control. a modulecontrolled by another is said to be subordinate to the controller. The control relationship among modules is expressed in the following way: Amodule that controls another module is said to be super ordinate to it. Page 16 of 16 . or repetition of operations. no is it necessarily applicable to all architectural styles.MCA 5th Sem Assignments SPM & QA Control hierarchy. and conversely. It does not represent proceduralaspects of software such as sequence of processes. occurrence or order of decisions. Differentnotations are used to represent control hierarchy for those architectural styles that areamenable to this representation. which in turn may invoke still other components.2) thatrepresents hierarchical control for call and return architectures.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.