Thursday, April 23, 2009

CS-70 Software Engineering

MCA Project  4#


CUSTOMER CARE MANAGEMENT SYSTEM PROJECT IN ASP NET

FRONTEND - C # AND .NET FRAMEWORK 

BACKEND - SQL SERVER 2008

CLICK ON BELOW LINK TO REVIEW AND DOWNLOAD PROJECT

Synopsis- Available- Click on the Project link above to review
Final report- Available - Click on the Project link to reviewCourse Code : CS-70
Course Title : Introduction to Software Engineering
Assignment Number : BCA (5)-70/Assignment/ 2009
Maximum Marks : 25
Last date of Submission : 30th April, 2009/30th October, 2009

There are four questions in this assignment. Answer all the questions. You may use illustrations and diagrams to enhance your explanations.

Q. 1 Define the term “Software Engineering”. (3 marks)

Q. 2 Explain various phases of a Software Development Life Cycle (5 marks)

Q. 3 Perform all the phases of Software Development Life Cycle for the development
of software that can add, subtract, multiply two matrices. (15 marks)

Q. 4 What is meant by a “real time system” ? (2 marks)

Course Code : CS-71
Course Title : Computer Oriented Numerical Techniques
Assignment Number : BCA (5)-70/Assignment/ 2009
Maximum Marks : 25
Last date of Submission : 30th April, 2009/ 30th October, 2009

This assignment is having five questions. Answer all the questions.

Q. 1 If is approximated as 3.14, find the absolute error, relative error and relative percentage error. (5marks)

Q. 2 The functions below have roots in the intervals which are specified on their right sides. Compute the roots of these functions in each of the intervals to an assured three significant figures by use of bisection method:

(i) ex- 3x, on (0,1) and (1,2)
(ii) x2 - - 2 on (1,2)
(iii) lnx+ - 2 on (1,2)
(5 marks)

Q. 3 Find smallest positive root of e-x-cos(x)=0 by fixed point method.
(5marks)

Q. 4 Solve the following systems of simultaneous linear equations using Gauss elimination method and Gauss-Seidel Method

(i) 2x4+3x2+7x3=12
4x1+5x2-12x3= -3
x1- 4x2+5x3=12

(ii) x1+2x2+3x3=8
4x1- 6x2+3x3= -5
2x1+4x2+9x3=19
(5 marks)

Q.5 Find a real root of the equation 4x3 + 3x2 - 4x - 5= 0 using bisection method. Perform three reiterations.
(5marks)

cs-70
Q. 1 Define the term “Software Engineering”.
Ans1:

Software engineering is the application of a systematic, disciplined, quantifiable

approach to the development, operation, and maintenance of software, and the study of

these approaches. That is the application of engineering to software. [1]

The term software engineering first appeared in the 1968 NATO Software Engineering

Conference and was meant to provoke thought regarding the current "software crisis" at

the time.[2] Since then, it has continued as a profession and field of study dedicated to

creating software that is of higher quality, cheaper, maintainable, and quicker to build.

Since the field is still relatively young compared to its sister fields of engineering, there is

still much work and debate around what software engineering actually is, and if it

deserves the title engineering. It h as grown organically out of the limitations of viewing

software as just programming. Software development is a term sometimes preferred by

practitioners in the industry who view software engineering as too heavy-handed and

constrictive to the malleable process of creating software.


Q. 2 Explain various phases of a Software Development Life Cycle (5 marks)

ANS2:


System Development Life Cycle (SDLC) Model


This is also known as Classic Life Cycle Model (or) Linear Sequential Model (or)

Waterfall Me thod. This model has the following activities.

1. System/Information Engineering and Modeling


As software is always of a large system (or business), work begins by establishing the

requirements for all system elements and then allocating some subset of these

requirements to software. This system view is

essential when the software must interface with other elements such as hardware, people

and other resources. System is the basic and very critical requirement for the existence of

software in any entity. So if the system is not in place, the system should be engineered

and put in place. In some cases, to extract the maximum output, the system should be reengineered

and spruced up. Once the ideal system is engineered or tuned, the

development team studies the software requirement for the system.





2. Software Requirement Analysis

This process is also known as feasibility study. In this phase, the development team

visits the customer and studies their system. They investigate the need for possible

software automation in the given system. By th e end of the feasibility study, the team

furnishes a document that holds the different specific

re commendations for the candidate system. It also includes the personnel

assignments, costs, project

schedule, target dates etc.... The requirement gathering process is intensified and

focussed specially on software. To understand the nature of the program(s) to be built, the

system engineer or

"Analyst" must understand the information domain for the software, as well as required

function, behavior, performance and interfacing. The essential purpose of this phase is to

find the need and to define the problem that needs to

be solved .

3. System Analysis and Design

In this phase, the software development process, the software's overall structure and its

nuances are defined. In terms of the client/server technology, the number of tiers needed

for the package architecture, the database design, the data structure design etc... are all

defined in this phase. A software development

model is thus created. Analysis and Design are very crucial in the whole development

cycle. Any glitch in the design phase could be very expensive to solve in the later stage

of the software development. Much care is taken during this phase. Th e logical system of

the product is developed in this phase.

4. Code Generation

The design must be translated into a machine-readable form. The code generation step performs

this task. If the design is performed in a detailed manner, code generation can be accomplished

without much complication. Programming tools like compilers, interpreters, debuggers etc... are

used to generate the code. Different high level programming languages like C, C++, Pascal, Java

are used for coding. With respect to the type of application, the right programming language is chosen.



5. Testing

Once the code is generated, the software program testing begins. Different testing methodologies

are ava ilable to unravel the bugs that were committed during the previous phases. Different

testing tools and methodologies are already available. Some companies build their own testing

tools that are tailor made for their own development operations.

6. Maintenance

The software will definitely undergo change once it is delivered to the customer. There can be

many reasons for this change to occur. Change could happen because of some unexpected input

values into the system. In addition, the changes in the system could directly affect the software

operations. The software should be developed to accommodate changes that could happen during

the post implementation period.

Back to top

B. Prototyping Model

This is a cyclic version of the linear model. In this model, once the requirement analysis is done

and the design for a prototype is made, the development process gets started. Once the prototype

is created, it is given to the customer for evaluation. The customer tests the package and gives

his/her feed back to the developer wh o refines the product according to the customer's exact

expectation . Afte r a finite numb er of iterations, the final softwa re package is given to the

customer. In this methodology, the software is evolved as a result of periodic shuttling of

information between the customer and developer. This is the most

popular development model in the contemporary IT industry. Most of the successful

software products

have been developed using this model - as it is very difficult (even for a wh iz kid!) to

comprehend all the requirements of a customer in one shot. There are many variations of this

model skewed with respect to the project management styles of the companies. New versions of

a software product evolve as a result of prototyping.

Back to top

C. Rapid Application Development (RAD) Model


The RAD modelis a linear sequential software development process that emphasizes an

extremely short development cycle. The RAD model is a "high speed" adaptation of the linear

sequential mo del in which rapid development is achieved by using a component-based

construction approach. Used primarily for information systems applications, the RAD approach

encompasses the following phases:

1. Business modeling


The information flow among business functions is modeled in a way that answers the following

questions:

What information drives the business process?

What information is generated?

Who generates it?

Where does the information go?

Who processes it?

2. Data modeling

The information flow defined as part of the business modeling phase is refined into a set of data

objects that are needed to support the business. The characteristic (called attributes) of each

object is identified and the relationships between these objects are defined.

3. Process modeling

The data objects defined in the data-modeling phase are transformed to achieve the information

flow necessary to implement a business function. Processing the descriptions are created for

adding, modifying, deleting, or retrieving a data object.

4. Application generation


The RAD model assumes the use of the RAD tools like VB, VC++, Delphi etc... rather than

creating software using conventional third generation programming languages. The RAD model

works to reuse existing program components (when possible) or create reusable components

(when necessary). In all cases, automated tools are used to facilitate construction of the

software.

5. Testing and turnover


Since the RAD process emphasizes reuse, many of the program components have already been

tested. This minimizes the testing and development time.

Back to top

D. Component Assembly Model


Object technologies provide the technical framework for a component-based process model

for software engineering. The object oriented paradigm emphasizes the creation of classes

that encapsulate both data and the algorithm that are used to manipulate the data. If

properly designed and implemented, object oriented classes are reusable across different

applicationsand computer based system architectures. Component Assembly Model leads

to software reusability. The integration/assembly of the already e xisting software

components accelerate the development process. Now adays many c omponent libraries are

Conclusion

All these different software development models have their own advantages and

disadvantages. Nevertheless, in the contemporary commercial software development world,

the fusion of all these Methodologies is incorporated. Timing is very crucial in software

development. If a delay happens in the development phase, the market could be taken over

by the competitor. Also if a 'bug' filled product is launched in a short period of time

(quicker than the competitors), it may affect the re putation of the company. So, there

should be a tradeoff between the development time and the quality of the product.

Customers don't expect a bug free product but they expect a user-friendly

product. That results in Customer Ecstasy



Q. 3 Perform all the phases of Software Development Life Cycle for the development
of software that can add, subtract, multiply two matrices.

ANS3:




SDLC Overview


In a rapidly changing world people’ s needs are also changing rapidly. From simple additions

to their car engines to a new technology that should be launched online people will always lack

something. It is for this reason that you will always find experts from different fields working

on new ideas everyday. The software industry is no...

Software Development Plans

The SDLC Model SDLC or Systems Development Life Cycle is an acknowledged software

development model that involves different stages. In the UK this process is known as the

Systems Life Cycle” or the SLC. Whatever the name is it composes different stages that start

with project planning and a feasibility study. Billion dollar companies...

What is Software Development Life Cycle?

What is Software Development Life Cycle In this chapter we’ ll be looking on SDLC as a tool

for

development what are the factors for its proper implementation and special section on

software security from the point of view of SDLC. These topics will guide us in knowing the

important of SDLC in a web developer or programmers life which will...

SDLC Model Basic Stages

SDLC or the Software Development Life Cycle refers to the steps involved in creating a

software from scratch. During earlier days software used to be scarce and its creation was

comparatively easier. Developers could create any programs they want and experience no

competition. In present time every software released to the public can easily....

consultation creation testing documentation and launching. This pattern is seen in most

development software. Since it’ s planned right from the start it should be efficient as planned.

When the plan is properly executed everything will work as...

Rapid Application Development

What is RAD One of the conveniences of developing software is that it is not a physical tool

that can be lost once it gets developed or manufactured. Codes are used to implement the

software and it does not disappear together with the product. We can re-use the code all over

again in another software. We just make a little change in the interface...

Component Assembly Model

Introduction Before the concept of SDLC different software programs were built to cater to

different business and consumer needs. That was decades ago and it’ s safe to say that

millions of programs have been created for different reasons for different needs. Developers

always work on a language to create programs with different needs. Much...

What is the necessity of SDLC?

Software Development Life Cycle SDLC is observed by different website and software

developers all over the world. However there’ s always a question of the need to implement

this type of planning. We all know that SDLC could help us answer specific needs of different

users. That is a given. But could that problem be answered when you are already...

Stages in SDLC

SDLC is all about stages and phases. Software development is not just creating another

program to be used by the general public or a business. The demands for proper software are

on the rise and developers are one of the highest paying professionals today. In the early days

the need for software was only limited to people who wanted to try something...

What is Systems Development Life Cycle

Introduction Developers worldwide will agree that building software takes more than just

writing complex codes and implementing them in an environment. Developers usually start out

their career in programming by developing programs or software according to their own plan

and hope that someone will appreciate it. But once the developer is associated...

Project Planning and Feasibility Study

Building a software takes more than just simple coding job nowadays. There are so many

stages that the developer has to go through just to make sure a software is built according to

the need of the public or to the intended end-users. Software are now more than just simple

encoding and updating of information it is a complex process without which...

System Analysis and Requirements

In the previous chapter we’ ve discussed about project planning and feasibility study. That

stage was important because it tries to establish a problem in our highly technological world.

As our understanding on what we can do in computers evolve and so are the things that we

need to make them work. Research will us an idea about present day requirements...

Systems Design

In previous chapter we discussed system analysis and requirements stage in SDLC where

everything was laid out on papers. SDLC makes sure that there is an actual need for the

software being developed. Developers need to think of this first especially in a business

System Implementation

In the previous articles relating to SDLC Stages we discussed about Project Planning and

Feasibility Study moved on to System Analysis and Requirements which lead to Systems

Design. Systems Design will naturally lead to another stage where it becomes closer to the

actual deployment of the planned software. Since the design is already there developers...

Testing and Integration

Once the software is complete it will go though rigorous testing before its actual integration.

In this article we will take a look at different types of software testing and also different types

of integration. With the diversity of business setting and software development models it also

warrants different types of testing and integration...

Software Acceptance and Installation

In this article we will take a look at step by step process of accepting and installation of

software. While systems design planning and coding are important this phase of SDLC will determine if the program created will actually work and is beneficial for the company or not.

Taking cue from previous article this time the user’ s perspective...



Software Maintenance

Management Maintenance vs. SDLC Maintenance The best way we can define maintenance in

SDLC is to differentiate the developers meaning of maintenance against management’ s idea

of SDLC. In management maintenance will always be a reaction to a problem. The only time

management will become functional is when there is a situation that needs to...

SDLC Methodology Steps

Although SDLC has different forms and models it follows certain steps. These steps could have

the same name in one methodology but they are treated in a different manner or could lead to

something different. We will take a look at some of the common steps that you will find in

most methodologies in SDLC. There are SDLC models that have been created...

SDLC for Web Development

SDLC Introduction SDLC or Software Development Life Cycle deals with online programs or

computer software. Different types of designs were created to cater to the need of individual

programmers with different set of skills demands or business environment. As the name

suggests it is only limited to creating software. However our world is not all...









Q. 4 What is meant by a “real time system” ? (2 marks)




ANS4:


Occurring immediately. The term is used to describe a number of different

computer features. For example, real-time operating systems are systems that respond to

input immediately. They are used for such tasks as navigation, in which the computer

must react to a steady flow of new information without interruption. Most generalpurpose

operating systems are not real-time because they can take a few seconds, or even

minutes, to react.

Real time can also refer to events simulated by a computer at the same speed that they

would occur in real life. In graphics animation, for example, a real-time program would

display objects moving across the screen at the same speed that they would actually

move.

1 comment:

  1. This guide on CS-70 Software Engineering and free IGNOU projects is really informative. For anyone facing car battery issues, check out emergency car jump start services—they’re fast and reliable.

    ReplyDelete