Vous êtes sur la page 1sur 6

SOFTWARE ENGINEERING TUOTORIAL

Q1. Describe the importance of software Engineering? What should be steps


taken under the process of developing a software system.

ANS:

Software Engineering: It is the process of designing, constructing, and testing


end user applications that will satisfy user needs, through the use of
programming languages. As opposed to basic programming, Software
Engineering is used in order to construct larger, and more
complex software systems.

There are following six phases in every Software development life cycle model:

Requirement gathering and analysis

Design

Implementation or coding

Testing

Deployment

Maintenance

1)Requirement gathering and analysis:

Business requirements are gathered in this phase. This phase is the main focus
of the project managers and stake holders. Meetings with managers, stake
holders and users are held in order to determine the requirements like; Who is
going to use the system? How will they use the system? What data should be
input into the system? What data should be output by the system? These are
general questions that get answered during a requirements gathering phase.
After requirement gathering these requirements are analyzed for their validity
and the possibility of incorporating the requirements in the system to be
development is also studied.

Finally, a Requirement Specification document is created which serves the


purpose of guideline for the next phase of the model. The testing team follows
the Software Testing Life Cycle and starts the Test Planning phase after the
requirements analysis is completed.
2) Design:

In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in
specifying hardware and system requirements and also helps in defining overall
system architecture. The system design specifications serve as input for the next
phase of the model.

In this phase the testers comes up with the Test strategy, where they mention what to test,
how to test.

3) Implementation / Coding:

On receiving system design documents, the work is divided in modules/units and actual
coding is started. Since, in this phase the code is produced so it is the main focus for the
developer. This is the longest phase of the software development life cycle.

4) Testing:

After the code is developed it is tested against the requirements to make sure that the
product is actually solving the needs addressed and gathered during the requirements
phase. During this phase all types of functional testing like unit testing, integration testing,
system testing, acceptance testing are done as well as non-functional testing are also done.

5) Deployment:

After successful testing the product is delivered / deployed to the customer for their use.

As soon as the product is given to the customers they will first do the beta testing. If any
changes are required or if any bugs are caught, then they will report it to the engineering
team. Once those changes are made or the bugs are fixed then the final deployment will
happen.

6) Maintenance:

Once when the customers starts using the developed system then the actual
problems comes up and needs to be solved from time to time. This process
where the care is taken for the developed product is known as maintenance.

2. Provide a number of examples (both positive and negative) that indicate the
impact of software on our society

ANS:
The Impact of Software on People and Society
The time frame in which computers and software have developed has barely
been more than 75 years. Yet their impact on individual humans and on
societies has been as important as the printing press, airplanes, television, and
automobiles.

Beneficial Tools and Applications(POSITIVES)

The following is a summary of tools and applications that have transformed the
way businesses operate; wars are fought; and individuals gather information,
communicate, and use their leisure time. It is surprising that these have all
originated within the past 50 years. Probably half of these tools and applications
are less than 25 years old.

 Business tools

 Actuarial studies
 Advertising via the web
 Agricultural planning
 Analytics
 Bar-code scanners
 Big data

Databases

 Graphics and images


 Music
 Signals and analog
 Text and numeric

Education tools

 Comparative education statistics


 Curriculum planning
 Customized e-learning for each student
 Skills inventory analysis
 Special tools for the handicapped
 Student research via the web
 Virtual classrooms

Embedded devices

 Automotive engines and brakes


 Automotive security systems
 Avionic
 GPS navigation
 Hearing aids
 Manufacturing
 Medical
 Signal processing
 Smart appliances

NEGATIVES OF IMPACT OF SOFTWARE ON OUR SOCIETY

Computers and software have also introduced a number of harmful inventions


that are listed below, some of which did not exist before. Among the harmful
inventions caused by computers and software are identity theft, hacking, and
computer viruses. These are new and alarming criminal activities.

 Browser hijackers
 Computer botnets
 Computer keyboard tracking
 Computer spam
 Computer spyware
 Computer viruses
 Computer worms
 Computerized customer support
 Difficulty in correcting errors in computerized data
 Electronic voting machines without backup
 Hacking tools

These threats are comparatively new and all are increasingly hazardous in the
modern world. Indeed, identify theft has become one of the largest and most
pervasive crimes in human history. It is also an example of a new kind of crime
where the criminal and the victim never see each other and can be separated by
more than 12,000 miles when the crime takes place.

3. Many modern applications change frequently—before they are presented to


the end user and then after the first version has been put into use. Suggest a few
ways to build software to stop deterioration due to change

ANS:

Sugession1:
Make sure that software is designed so that changes in one part of a program do
not create side-effects in another part of the program.

Sugession-2:

Make sure that software is designed so that it does not depend on external
devices or systems that are likely to change with time.

Sugession-4:

Make sure you spend time understanding what the customer wants.

4. Describe a process framework in your own words. When we say


that framework activities are applicable to all projects, does this mean
that the same work tasks are applied for all projects, regardless of size
and complexity? Explain’
ANS:
Software engineering layers

Step1:

Software engineering is layered approach which contains process, methods and


tools.

The method contains a variety of tasts which include requirement phase,analysis


phase,design and modelling phase,testing and support phase.

Software engineering methods depends on certain principles which includes


modelling activities.
The process and methods are provided with automated and semiautomated
support for fourth layer “tools”.

Key tenents for quality measurement program are given below:

 To have perfect vision,misssion and values


 Create orientation program to educate employes about organisational
goals and achievements
 Identifying Critical Success Factor(CSF)
 CSF is useful in identifying the objectives set by the organisation and
how to achieve them. Some of the examples of CSF
 Financial performance
 Customer satisfaction
 Market share
 Employee satistaction
 Product quality
 Metrics to track CSF’s data
 Identifying key customer group
 Custmer feedback
 Develop survey tool
 Quality improvement plan
 Resurvey after certain time period
 Technology

170030254
CH.BHANU REKHA
S-14

Vous aimerez peut-être aussi