Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Software Engineering ppt
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Software Engineering

[attachment=25100]

Software Engineering is the science and art of
building significant software systems that are:
1) on time
2) on budget
3) with acceptable performance
4) with correct operation.


The economies of all developed nations are dependent on software.
More and more systems are software controlled.
Software engineering is concerned with theories, methods and tools for professional software development.
Software engineering expenditure represents a significant fraction of the GNP of developed countries.


Software Costs


Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost.
Software costs more to maintain than it does to develop.
Software engineering is concerned with cost-effective software development.


Software Products

Generic products:

Stand-alone systems which are produced by a development organization and sold on the open market to any customer.
Customized products:
Systems which are commissioned by a specific customer and developed specially by some contractor.


Importance of Product Characteristics



The relative importance of these characteristics depends on the product and the environment in which it is to be used.
In some cases, some attributes may dominate
In safety-critical real-time systems, key attributes may be dependability and efficiency.
Costs tend to rise exponentially if very high levels of any one attribute are required.


Engineering Process Model

Specification: Set out the requirements and constraints on the system.
Design: Produce a model of the system.
Manufacture: Build the system.
Test: Check the system meets the required specifications.
Install: Deliver the system to the customer and ensure it is operational.
Maintain: Repair faults in the system as they are discovered.





Software Engineering


[attachment=27460]

Questions to ponder?


Why cannot Bangladeshi software companies grow at satisfactory rate?
What are software production cost components?
Where are wastages?
Can you see resource wastage in software production?
Do wastages cost money?
Are excessive wastages causes of slow growth of software companies in BD?
How to make wastages visible?
How to reduce wastages?


Why does software quality matter


How do following issues affect software delivery capability?
Rework
Reuse
Change management complexity
Maintainability
Communication and coordination
Testability


What is Quality?

IEEE Standard Glossary of Software Engineering Terminology defines quality as:
The degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or satisfactions.
It means:
Functional and performance requirements
Time and cost requirement
Predictability of time and cost parameters
Professionalism in dealing with customers
Formats and structure of all produced documents…


Example of quality sufferings?


Incomplete or erroneous specifications.
Misinterpretation of customer requirements.
Deviation from specifications.
Violation of programming standards.
Inconsistent component interfaces.
Error in design logic.
Algorithms are weak.
Incomplete or inaccurate documentation.
Error in programming language translation.
Etc.


Basic Principle:


Pareto principle: 80/20 rule
The 80/20 rule states that roughly 80% of the problems are caused by 20% of program modules.
Such rule gives reason to focus attention where developmental concerns and risks are of the highest priority..
The question of where to place the major thrust of the SQA effort can be answered by experience and by Pareto analysis.




Software Engineering

[attachment=29302]


Introduction to software Engineering


Software is defined as
Instructions
- Programs that when executed provide desired function
2. Data structures
-Enable the programs to adequately
manipulate information
3. Documents
-Describe the operation and use of the programs.


Characteristics of software
Software is developed or engineered, it is not manufactured in the classical sense.
Software does not wear out. However it deteriorates due to change.
Software is custom built rather than assembling existing components.
-Although the industry is moving towards component based construction, most software continues to be custom built


LEGACY SOFTWARE

Legacy software are older programs that are developed decades ago.
The quality of legacy software is poor because it has inextensible design,convoluted code,poor and nonexistent documentation,test cases and results that are not achieved.


SOFTWARE MYTHS


Widely held but false view
Propagate misinformation and confusion
Three types of myth
- Management myth
- Customer myth
- Practitioner’s myth


Personal and Team Software Process

Team software process
Goal of TSP
Build self-directed teams
Motivate the teams
Acceptance of CMM level 5 behavior as normal to accelerate software process improvement
Provide improvement guidance to high maturity organization