You are on page 1of 6

ASSIGNMENTS

Subject code MI0024 MBA III Semester (3credits) Set 1 Marks 30 SUBJECT NAME- SOFTWARE ENGINEERING Note: Each Question carries 10 marks. 1. What is software? What are the applications of software?
Ans :

Software is a general term for the various kinds of programs used to operate computers and related devices. (The term hardware describes the physical aspects of computers and related devices.) Software can be thought of as the variable part of a computer and hardware the invariable part. Software is often divided into application software (programs that do work users are directly interested in) and system software (which includes operating systems and any program that supports application software). The term middleware is sometimes used to describe programming that mediates between application and system software or between two different kinds of application software (for example, sending a remote work request from an application in a computer that has one kind of operating system to an application in a computer with a different operating system). An additional and difficult-to-classify category of software is the utility, which is a small useful program with limited capability. Some utilities come with operating systems. Like applications, utilities tend to be separately installable and capable of being used independently from the rest of the operating system. Application software is a computer program that functions and is operated by means of a computer, with the purpose of supporting or improving the software user's work. In other words, it is the subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software (infrastructure) or middleware (computer services/ processes integrators), which is involved in integrating a computer's various capabilities, but typically does not directly apply them in the performance of tasks that benefit the user. In this context the term application refers to both the application software and its implementation.

Page 1 of 6

There are many subtypes of application software:

Enterprise software addresses the needs of organization processes and data flow, often in a large distributed environment. (Examples include Financial, Customer Relationship Management, and Supply Chain Management). Note that Departmental Software is a sub-type of Enterprise Software with a focus on smaller organizations or groups within a large organization. (Examples include Travel Expense Management, and IT Helpdesk) Enterprise infrastructure software provides common capabilities needed to support Enterprise Software systems. (Examples include Databases, Email servers, and Network and Security Management) Information worker software addresses the needs of individuals to create and manage information, often for individual projects within a department, in contrast to enterprise management. Examples include time management, resource management, documentation tools, analytical, and collaborative. Word processors, spreadsheets, email and blog clients, personal information system, and individual media editors may aid in multiple information worker tasks. Content access software is software used primarily to access content without editing, but may include software that allows for content editing. Such software addresses the needs of individuals and groups to consume digital entertainment and published digital content. (Examples include Media Players, Web Browsers, Help browsers, and Games) Educational software is related to content access software, but has distinct requirements for delivering evaluations (tests) and tracking progress through material. It is also related to collaboration software in that many Educational Software systems include collaborative capabilities. Simulation software are computer software for simulation of physical or abstract systems for either research, training or entertainment purposes. Media development software addresses the needs of individuals who generate print and electronic media for others to consume, most often in a commercial or educational setting. This includes Graphic Art software, Desktop Publishing software, Multimedia Development software, HTML editors, Digital Animation editors, Digital Audio and Video composition, and many others. Product engineering software is used in developing hardware and software products. This includes computer aided design (CAD), computer aided engineering (CAE), computer language editing and compiling tools, Integrated Development Environments, and Application Programmer Interfaces.

Following are the applications of software :


System Software : It is collection of programs written to serve other programs. e.g Compliers and interpreter. Business Software: Business software refers to applications in the areas of business, mainly useful in decision making and transactions that facilitates business operations or management decision.

Page 2 of 6

Engineering and Scientific Software: Engineering and scientific software have been developed mainly to deal with number crunching algorithms. Personal Software: The personal computer software like the word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, external network and database. Web-based software: The Web pages are a software application page that incorporates executable instructions performing one or more tasks. Artificial intelligence software: It use non-numerical algorithms to solve complex problems. Ex. Pattern recognition, artificial neural networks, and game playing.

2. Explain decomposition techniques. Ans :

One may even use a decomposition technique to estimate the project. A number of empirical estimation models may also be used with a fare degree of accuracy. It is convenient to estimate after decomposing the entire project process into number of smaller process and then estimate. The entire software project problem can also be broken down into number of smaller problems and then each smaller problem could be solved easily. Software project estimation is a form of problem solving. i. Software Sizing : The prediction of accuracy of software project estimate is based on size of the product to be built, ability to translate size into human effort, time and money and the environment that supports the effort of software engineering money and the environment that supports the effort of software engineering. ii. Problem Based Estimation: Line of Code(LOC) and function (FP) are used as estimation variables to size elements of the software. LOC and FP are used in conjunction with estimation variables to develop cost and effort predictors for various projections.
iii.

Software Equation: Based on the productivity data collected for over thousands of contemporary software projects and estimation model may be considered in the form of a software equation as given below: EPM = (L x Sk(1/3) / PP)3 x (1/d4) Where EPM- effort in person months L-number of code line

Page 3 of 6

Sk-factor of special skills PP-parameter of productivity d-duration iv. A decision tree: A decision tree is helpful in analyzing a software problem which has multiple decision stages. each stage is represented by a node (rectangle). The multiple options available at this node are represented as branches of this node in the form of straight lines. Each branch of the tree represents alternatives and it may further lead to some probable events/outcomes. Nodes which represent probable outcomes are known as chance nodes and re represented by circles. A connection of such nodes and branches constitute a decision tree.
P-1 Str-1 1 B A P-2 Str-3 2 Str-4

Str-2

v.

Automated Estimation Tools: Automated estimated tools are useful to estimate cost and effort end to perform what-if analysis for variables in projects such as staffing and delivery rate.

3. a. Write a short note on project scheduling & tracking. Ans:

The process of converting a general or outline plan for a project in to a time based graphic presentation given information on available resources and time constraints. In the process of development and delivery of the software it is found that most of the time the delivery of the finished product is delayed. There are many reasons that
Page 4 of 6

could be attributed to the delayed delivery of the product. Some of the reasons which leads to the delay of the project are given below : Very often the requirements are not clearly stated by the customer and this leads to further changes in the developments. Setting up of deadlines which are unrealistic based agencies outside the software development group. Improper or underestimated amount of the effort and the number of the resources required to do the job. In accurate risks that were not considered during the planning process leading to development of bottlenecks in the project Improper communication systems within and outside the development are of the software. People and Effort- Relationship : It is a well known fact that for small projects less number of people are required and for large projects more people are required. The team working on the project understands the requirements of the projects, analyze the constraints and the conditions under which the product has to be developed. Some time it is not successful. Since more people would either gel well in the system tem or add confusion in the team. Empirical relationships may also be used to estimate the project completion in terms of the code lines to be delivered in the product completion. Defining a Task Set for the Software Project: It is not possible to define a unique set of task which would be appropriate for all types of projects. It depends on the size of the project, complexities involved in the project, constraints of the projects and skill set and capabilities of the team members working in the project. Selecting Software Engineering Tasks: A task has to be properly distributed according to the needs of the project deadlines and set targets. To develop a project schedule, a task set must be distributed on the project time line. Defining a Task Network: Tasks and Subtasks are related to each other in the sequence of project network. Task network is also known as Activity network. It can on the inputs from

Page 5 of 6

be represented graphically. Earned Value Analysis: Earned values analysis is a quantitative technique to assess the progress in the project activities. Earned value analysis is considered very important in assessments of activities in a project.
b. How do you define a task set for the software project? Ans:

Defining a task set for the project is not possible to define a unique set of task which would be appropriate for all types of projects. It is dependent on the size of the project, complexities involved in the project, constraints of the projects and the skill set and capabilities of the team members working on the project. The task set is defined based on the category of the project which is dealt with by the development team. The categories of project work that are normally encountered are : 1. 2. 3. 4. 5. Projects dealing with development of new concepts in business. Projects dealing with development of new applications in business as indicated in the requirements list stated by the customer. Projects dealing with the enhancement of existing facilities in the product. Project dealing with maintenance aspects of the business modules or applications. Project dealing with total new structure or restructuring an old system into a new system or application leading to reengineering.

***************

Page 6 of 6

You might also like