BC0054-Fall Drive Assignments 2012

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

BCA Revamped PROGRAMME Vth SEMESTER

ASSIGNMENTS-01
Name Register no. Learning centre Learning centre code Course / Program Semester Subject code Subject Title Date of submission Marks awarded : : : : : : : : : :

Average marks of both assignments

Signature of centre coordinator

Signature of Evaluator

Directorate of Distance Education Sikkim Manipal University II Floor, Syndicate House, Manipal-576 104

1. Explain the difference between light-weighted matrix organization and heavy-weighted matrix organization. Answer
A light-weighted matrix organization remains functional and the level of specialization is comparable to that found in the functional mode. What is different is the addition of a product manager who coordinates the product creation activities through liaison representatives from each function. Their main tasks are: to collect information, to solve conflicts and to facilitate achievement of overall project objectives. Their status and influence are less as compared to functional managers, because they have no direct access to workinglevel people. A heavy-weighted matrix organization exists of a matrix with dominant project structure and underlying the functional departments. The product manager has a broader responsibility. Manufacturing, marketing and concept development are included. The status and influence of the product manager, who is usually a senior, is the same or higher as compared to the functional manager. Compared to functional managers, they have no direct access to working-level people.

2. What is project management? Explain various activities involved in project management. Answer
Project Management is the application of knowledge, skills, tools and techniques to project activities to meet the project requirements Project Management is composed of several different types of activities such as:

Planning the work or objectives: A manager must decide what objectives are to be achieved, what resources are required to achieve the objectives, how and when the resources are to be acquired and how the objectives are achieved. Assessing and controlling risk (or Risk Management): Risk is associated with several issues. It can be technical risk, methodology risk and financial risk etc. Manager need to plan from the starting of the project, to handle unexpected or sudden occurrence of risks. Estimating resources: Resource estimation is another crucial task to the project manager. A resource can be software, hardware, human personnel, capital etc. Resource estimation involves the planning of required resources for the given tasks in the given period of time. Optimum utilization of these resources is the ultimate goal of manager. Allocation of resources and assigning tasks: This involves identification of task and allocation of required resources to fulfil the given task. For example, identification of skilled personal to solve the given task. Organizing the work: Organizing involves clear lines of authority and responsibility for groups of activities that achieve the goals of the enterprise. Acquiring human resources (staffing): Staffing deals with hiring personnel, which involves recruiting, compensating, developing and promoting employees. Directing activities: Directing involves leading subordinates. The goal of directing is to guide the subordinates and to understand and identify the organizational structure and goals of the enterprise. Controlling project execution: Controlling consists of measuring and correcting activities to ensure the goals are achieved. Controlling requires the measurement against plans and taking corrective action when development occurs. Tracking and reporting progress: After assigning the tasks to the team members, it is essential to track and monitor the work progress. The work progress is documented at regular intervals. Forecasting future trends in the project: The project must be designed to facilitate extensibility of new features in the forth coming days. This is very crucial task of

manager or designer. Designers have to keep this point in mind, while designing architecture for the system. Quality Management: Satisfying the customer requirements is called quality. Quality reflects in many ways. It can be through functionality, performance and external factors like portability etc. So the project manager needs to implement different quality management techniques from the analysis phase itself. Issues solving: An issue can be a conflict among the team members, sudden increase in the attrition rate of employees, sudden drop in rupee value etc. Based on the issues, proper corrective action need to be taken to ensure the smooth working of the system. Defect prevention: A defect is a flaw in the system. It is more serious than an error. A defect occurs because of improper design, poor quality etc. A thorough testing is needed before and after implementation of the product, to avoid the defects. Project Closure meet: Project closure describes the overall project details. The details can be conveyed through closure reports. Ex. Performance reports, testing reports and project completion reports.

3. Explain in detail about software project development stages. Answer


The project development process will have the same major stages: Initiation, Planning and design, project implementation and closing/maintenance. Initiation The initiation stage determines the nature and scope of the development. If this stage is not performed well, it is unlikely that the project will be successful in meeting the businesss needs. The key project controls needed here is an understanding of the business environment and making sure that all necessary controls are incorporated into the project. Any deficiencies should be reported and a recommendation should be made to fix them. The initiation stage should include a cohesive plan that encompasses the following areas: Study analyzing the business needs in measurable goals. Review of the current operations. Conceptual design of the operation of the final product. Equipment requirement. Financial analysis of the costs and benefits including the budget. Select stake holders, including users, and support personnel for the project. Project charter including costs, tasks, deliverables, and schedule. This phase can also be called initiation phase, where in people has to identify the following, Information to be processed. Functions required. Performance required. System behaviour should be determined No of interfaces required should be estimated. This may be difficult to do. But tentatively allowed. Sometimes project can be dropped during at this phase. Planning and Design After the initiation stage, the system is designed. Occasionally, a small prototype of the final product is built and tested. Testing is generally performed by a combination of testers and end users, and can occur after the prototype is built or concurrently. Controls should be in place that ensures that the final product will meet the specifications of the project charter. The results of the design stage should include a product design that satisfies the project sponsor, end user, and business requirements. Functions as it was intended. Can be produced within quality standards. Can be produced within time and budget constraints. During this phase the following issues are addressed, How design should be converted into code? Testing strategy should be planned

Strategy for module integration. Architectural issues are evaluated Interfaces are characterized. Etc

Project Implementation Against the project plan and project organization structure defined in the previous stage, the project activities are executed, tracked and measured. The project implementation stage not only includes the completion of planned activities, but also the evaluation of the success and contribution of this effort and the continual review and reflection of project status and outstanding issues against the original project business case. The implementation is basically concerned with the development of code and deploying the code. There should be synchronization between the code and design. Tools are available to synchronize both code and design. (Ex: UML Visual Paradigm, Rational Rose etc).Once implementation is over, proper testing is required. Testing can be unit testing, performance testing, load testing, integration testing and system testing. Closing and Maintenance One of the key success criteria for continuous process improvement involves defining a formal process for ending a project. This includes evaluating the successful aspects of the project as well as identifying opportunities for improvement, identification of project "best practices" that can be leveraged in future projects, and evaluating the performance of project team members. Closing includes the formal acceptance of the project and the ending thereof. Administrative activities include the archiving of the files and documenting lessons learned. Maintenance is an ongoing process, and it includes: Continuing support of end users Correction of errors Upgradation of software and hardware etc. Documentation preparation (user manuals).

4. Explain different project planning methods.


Answer
The purpose of planning a project is to identify the sequence of activities as per their complexities and dependencies. At the later stage, these plans help us to find any deviations from the actual plan, so that the corrective action may be taken. The sooner the deviations from the plan are detected, the more it is possible to cope up with them. There are several methods available for planning. The popular ones are: 1) PERT Chart 2) Gantt Chart PERT Chart: PERT (Program Evaluation and Review Technique) is basically a method to analyze the tasks involved in completing a given project, especially the time needed to complete each task, and identifying the minimum time needed to complete the total project. A PERT chart is represented with boxes and arrows. Each box represents an activity (ex. Design is an activity, Testing is an activity). The arrows are used to show the dependency of activities on one another. The activity at the head of the arrow cannot start until the activity at the tail of the arrow is finished. For developing his PERT chart, one must first list all the activities required for the completion of the project and estimate how long each will take, and then one must determine the dependencies of activities on one another. Salient Features of PERT Chart: 1. It forces and helps the manager to plan. 2. It shows the interrelationship among the tasks in the project. 3. It exposes the critical path (refer Unit 5) and allows us the opportunity to consider the alternative approaches to cope with a potential problem. 4. It allows scheduling and simulation of alternative schedules. Gantt chart: Gantt chart is project planning technique used for several purposes, including scheduling, Budgeting, Resource planning. It was initially developed by Henry L Gantt. A Gantt chart represents the following: Graphical representation of a schedule Clear and easy communication Resource allocation Tracking of the schedule

5. What is cost estimation? Explain different cost Estimation methods. Answer


A cost estimate is the approximation of the cost of a program, project, or operation. The cost estimate is the product of the cost estimating process. The cost estimate has a single total value and may have identifiable component values. A number of methods have been used to estimate software costs. Algorithmic 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. Expert Judgement This method involves consulting one or more experts, perhaps with the aid of an expertconsensus mechanism such as the Delphi technique Analogy Estimation 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. Top-Down Estimation An overall cost estimate for the project is derived from global properties of the software product. The total cost is then split up among the various components. Bottom-Up Estimation Each component of the software job is separately estimated, and the results aggregated to produce an estimate for the overall job. Parkinson's Principle A Parkinson principle ('Work expands to fill the available volume") is invoked to equate the cost estimate to the available resources. Price to Win The cost estimation developed by this method is equated to the price believed necessary to win the job. 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, and the results aggregated to produce an estimate for the overall job

6. What is budgeting? Write any three budgeting techniques. Answer


Budgeting in a business sense is the planned allocation of available funds to each department within a company. Budgeting allows executives to control overspending in less productive areas and put more company assets into areas which generate significant income or good public relations. Budgeting is usually handled during meetings with accountants, financial experts and representatives from each department affected by the budgeting. Software budgeting is also the same. Three budgeting techniques: Capital budgeting (or investment appraisal) is the planning process used to determine a firm's long term investments such as new machinery, replacement machinery, new plants, new products, and research and development projects. Net present value (NPV) is a standard method for the financial appraisal of long-term projects. Used for capital budgeting, and widely throughout economics, it measures the excess or shortfall of cash flows, in present value (PV) terms, once financing charges are met. By definition, NPV = Present value of net cash flows. Formula: Each cash inflow/outflow is discounted back to its PV. Then they are summed. Therefore Where

t the time of the cash flow n the total time of the project r the discount rate Ct the net cash flow (the amount of cash) at time t. C0 the capital outlay at the beginning of the investment time ( t = 0 )

1. Explain the software configuration management process in detail. Answer


The output of the software process is information that may be divided into three broad categories: 1. computer programs (both source level and executable forms); 2. documents that describe the computer programs (targeted at both technical practitioners and users), and 3. data(contained within the program or external to it). The items that comprise all information produced as part of the software process are collectively called a software configuration. As the software process progresses, the number of software configuration items (SCIs) grows rapidly. A System Specification spawns a Software Project Plan and the software Requirements Specification (as well as hardware related documents). These in turn spawn other documents to create a hierarchy of information. Change may occur at any time, for any reason. In (the First Law of System Engineering [BER80] states: "No matter where you are in system life cycle, the system will change, and the desire to change it will pen throughout the life cycle." There are four fundamental sources of change. o o New business or market conditions dictate changes in product requirements or business rules. New customer needs demand modification of data produced by informal systems, o Functionality delivered by products. o Reorganization or business growth/downsizing causes changes in project priorities o Changes in software engineering team structure. o Budgetary or scheduling constraints cause a redefinition of the system or product. Software configuration management is a set of activities that have been developed to manage change throughout the life cycle of computer software. SCM can be viewed as a software quality assurance activity that is applied throughout the software process. In the sections that follow, we examine major SCM tasks and important concepts that help us to manage change.

2. What is software risk? Explain various factors for risks.


Answer Risk is the possibility of loss. It is a function of both the probability of an adverse event occurring and its impact; the impact manifests itself in a combination of financial loss, time delay, and loss of performance. A risk is the precursor to a problem; the probability that, at any given point in the software life cycle, the predicted goals cannot be achieved within available resources. Risk can not be eliminated from a software project, but it can be managed. Risk management is critical to the success of any software effort and is a strategic aspect of all software projects. Software risks can be caused by defects inherent in the software, such as errors, ambiguities, oversights, wrong assumptions, misinterpretation of requirements or specifications, malfunctioning of third-party tools, inadequate verification and validation, and incorrect or unexpected usage. Different types of software faults can cause reliability problems, as discussed in the following sections. Software Design Faults 1) Architecture deficiencies 2) Exception handling issues 3) Traceability issues of specifications or requirements 4) Misinterpretation of specifications or requirements 5) Use of third-party tools without adequately testing them 6) Wrong assumptions regarding the end users or the target platform 7) Inadequate verification and validation of designs 8) Inadequate field size, such as the Y2K issue 9) Environmental changes, such as euro conversion

Coding or Construction Faults 1) Oversight 2) Missed steps 3) Errors of omission and commission 4) Inefficient code

5) Ambiguous code 6) Improper interpretation of comparisons due to wrong algorithms for data comparisons 7) Numeric precision issues

Data Failures 1) Master data errors 2) Ambiguous master data 3) Data precision problems 4) Data corruption 5) Data integrity and consistency problems.

3. What is risk prioritization? Explain risk prioritization techniques. Answer


The identified risks for a project merely give the possible events that can hinder it from meeting the goal. The consequences of various risks, however, may differ. So before we proceed with management risks, project mangers prioritize them so that management energies can be focused on high risks. Prioritizatation requires analyzing the possible side effects of the risk event in case it actually occurs. Based on the possible consequences and the probability of the risks event occurring, you can compute the risk exposure, which you can then use for prioritizing risks. The objective of Risk Prioritization is to prioritize the identified risks for mitigation. Both qualitative and quantitative methods can be used to categorize the risks as to their relative severity and potential impact on the project. To effectively compare identified risks, and to provide a proactive perspective, the risk prioritization method should consider the following factors: 1. the probability of the risk occurring, 2. the consequence of the risk, and 3. the cost and resources required to mitigate the risk. The Risk Factor Product prioritization methodology consists of identifying project risks, assessing the probability of each risk's occurrence and the consequence of each risk's occurrence, and prioritization of the identified risks by calculating the Risk Factor (RF) Product for each risk, and mitigation of the highest risks to resolution.

4. What are issues involved in software quality assurance?


Answer QUALITY ASSURANCE PROBLEMS 1) Inadequate software verification 2) Inadequate software validation 3) Not using specialist software testers 4) Not verifying the test results 5) Not measuring the quality of the software product 6) Not having a QA department It is true that QA activities cannot build quality into a product directly, but they certainly provide an environment that is conducive to producing high-quality software that is free of defects. The QA activities that are critical, in addition to verification and validation, are software process definition and improvement, software quality measurement, analysis and improvement, and definition of standards and guidelines for software engineering activities and their regular improvement. Many organizations look at the QA department as a cost centre and do not provide the funding, resources, and tools necessary for it to function effectively. A part from this, senior management also does not allocate adequate time for QA activities. It is the norm for senior management to side with the development team in any conflict between the QA department and the development department.

5. What is SQA plan? Briefly explain it. Answer


The software quality assurance plan is one of the most important plans that should be prepared before embarking on a software development project. It is the projects charter for achieving quality in the project deliverables. The following details are recorded in the software quality assurance plan: 1. Standardsinclude coding guidelines, design guidelines, testing guidelines, etc. selected for use in the project. These standards ensure a minimum level of quality in software development as well as uniformity of output from the project resources. 2. Quality control activitiesproposed activities for the project include code walkthrough, requirements and design review, and tests (unit testing, integration testing, functional testing, negative testing, end-to-end testing, system testing, acceptance testing, etc.). Quality control activities ensure the necessary conformance to quality requirements in the project, especially to the three dimensions of quality specifications (requirements), software design, and construction. 3. Software metricsMetrics collected for the project define the de-sired level of quality for the artefacts developed for the project. 4. Procedures and events that trigger causal analysisInclude failures, defects, and successes. 5. AuditsTo analyze the exceptions in the project so that necessary corrective and preventive actions are taken to ensure the exceptions do not recur in the project. 6. Institute of Electrical and Electronics Engineers Standard 730Gives details on how to prepare a quality assurance plan, including a suggested template.

6. What is version control? Explain how it helps to reduce too many changes. Answer
Version Control combines procedures and tools to manage different versions of c figuration objects that are created during the software process. Clam [CL describes version controlin the context of SCM: Configuration management allows a user to specify alternative configurations of the software system through the selection of appropriate versions. This is supported by associating attributes with each software version, and then allowing a configuration to be specified [and constructed by describing the set of desired attributes. These "attributes" mentioned can be as simple as a specific version number the attached to each object or as complex as a string of Boolean variables (switches) indicate specific types of functional changes that have been applied to the system. One representation of the different versions of a system is the evolution graph. Each node on the graph is an aggregate object, that is, a complete version of the software. Each version of the software may be composed of different variants. To construct the appropriate variant of a given version of a program, each entity can be as-signed an "attribute-tuple" a list of features that will define whether the entity should be used when a particular variant of a software version is to be constructed. One or more attributes is assigned for each variant. For example, a color attribute could be used to define which entity should be included when color displays are to be supported. Another way to conceptualize the relationship between entities, variants and versions (revisions) is to represent 'them as an object pool [REI89]. The relationship between configuration objects and entities, variants and versions can be represented in a threedimensional space. An entity is composed of a collection of objects at the same revision level. A variant is a different collection of objects at the same revision level and therefore coexists in parallel with other variants. A new version is defined when major changes are made to one or more objects. A number of different automated approaches to version control have been proposed over the past decade. The primary difference in approaches is the sophistication of the attributes that are used to construct specific versions and variants of a system and the mechanics of the process for construction.

You might also like