DISE - Introduction to Software Engineering
-
Upload
rasan-samarasinghe -
Category
Software
-
view
48 -
download
5
Transcript of DISE - Introduction to Software Engineering
Diploma in Software Engineering
Module I: Introduction to Software Engineering
Rasan SamarasingheESOFT Computer Studies (pvt) Ltd.No 68/1, Main Street, Pallegama, Embilipitiya.
Contents
1. What is software?2. Software classification3. Generic Software vs Custom Software4. Attributes of Software5. What is Software Engineering?6. Software Engineering Process Model7. Waterfall Model8. Waterfall Model Stages9. Extended Waterfall Model10. Prototype Model11. Throw away prototype model12. Evolutionary prototype model13. Rapid application development model (RAD)14. Stages in the RAD
What is software?
A software is a collection of instructions that enables a user to interact with the computer or have the computer perform special task for them.
Software classification
• System Software– Directly controlling the hardware resources and
supports the operation of application software.
• Application Software– Serves the user requirements in a particular
application domain.
Software classification
• Generic Software (off the shelf)– Available on open market to any customer who is
able to buy it.
• Custom Software (bespoke)– Developed specially for a customer requirement.
Generic Software vs Custom Software
Less expensiveMore reliableImmediate installationMore user friendlyUser requirements are not completely satisfiedCannot accommodate future changes
More expensiveLess reliableDelay due to high development timeLess user friendlyCompletely satisfiedCan easily accommodate future changes
Generic Software Custom Software
Attributes of Software
• Maintainability• Dependability• Efficiency• Usability• Security• Reliability• Robustness• Customizability• Scalability• Accessibility• Extensibility
What is Software Engineering?
Software engineering is concerned with application of theories, methods and tools to develop and maintain software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them.
Software Engineering Process ModelA software process model is a set of predicted procedures or set of stages to be use to develop a fully tested software system timely.
Software Process Model
• Waterfall model• Prototyping model• Rapid application development model• Spiral model• V-model• Join application development model• Incremental development model
Software Process Models
Waterfall Model
Waterfall Model
• A linear sequential development model.• Because of the cascade form one stage to
another it is known as waterfall model.• Divided project activities into isolated stages and
each stage should complete before next started.• Concurrent activities are not possible.• Need to wait until end of the life cycle to see the
outcome.• Suitable for develop systems which has stable
requirements.
Waterfall Model Stages
Stage 1: Requirement Definition
• The system services, constraints and goals are established by consulting with the system users.
• They are define in a manner which is understandable by both users and the development staff.
Waterfall Model Stages
Stage 2: System and Software designing
• Partitions the requirements either hardware or software.
• Involves representing the software system functions in a form the may be transformed into executable programs.
• Identifying and describing fundamental software system abstraction and there relationships.
Waterfall Model Stages
Stage 3: Implementation and unit testing
• Implementation consists of converting the physical designing into set of actual programs and a set of database tables.
• The software is realized as a set of programs or program units.
• Unit testing involves verifying that each unit meets it’s requirements.
Waterfall Model Stages
Stage 4: integration and system testing
• Individual program units are integrated and tested as a complete system.
• Ensure the software requirements have been met.
• After testing the software system is delivered to the customer.
Waterfall Model Stages
Stage 5: Operation and maintenance
• The system installed and put into practical use.• Involved correcting errors which were not
discovered in earlier stages.• Improving implementation as new
requirements are discovered.• Normally this is the longest life cycle phase.
Extended Waterfall Model
• Due to the above discussed disadvantages, the waterfall model was modified with the concept of backtracking.
• As a result, the Extended Waterfall Model introduced.
Extended Waterfall Model
Prototype Model
Prototype is a working model of the actual System
There are two types of prototype model.
1. Throw away prototype model2. Evolutionary prototype model
Throw away prototype model
Throw away prototype model
• Prototype is used to gather requirements and there after it will be thrown away.
• Further designing, construction and implementation will be done using the normal life cycle stages.
• Requirements gathering can be exactly done by using the prototype.
• Even to develop prototype consumes lot of time and effort , therefore once a prototype is thrown away it’s a waste of time and money.
Evolutionary prototype model
System Complete
System Architecture
Identify Prototype Quick Design
Construct And Use The
System
Revise Prototype
Deliver System
Yes
No
Evolutionary prototype model
• Prototype is used to gather requirements and it will become the final system.
• Both the prototyping process as well as the development process will be combine together.
• Prototype will not be thrown away and it is not wasting effort and cost like throw away prototype.
Rapid Application Development (RAD)
Rapid application development model (RAD)• This is a software process model which uses to
develop applications rather quickly.• The entire system is broken down into several
manageable stages and each stage analyzed, designed, developed, tested and implemented simultaneously
Rapid Application Development (RAD)
Stages in the RAD
1. Business modeling• The information flow among business functions
is modeled.• Find answers for the following questions:
What information drives the business process?What information is generated?Who generate it?Where does information go?Who process it?
Stages in the RAD
2. Data modeling• The information flows are refined into set of
data objects.• The attributes of each objects and
relationships between these objects defined.
Stages in the RAD
3. Process modeling• The data objects are transformed to achieve
the information flow necessary to implement the business function.
• Processes are created for adding, modifying, deleting and retrieving data objects.
Stages in the RAD
4. Application generation• Using fourth generation techniques rather
than using conventional third generation programming languages.
• In possible cases automated tools/reusable components are use to facilitate construction of the software. (Ex: DB query tools, reports, graphics manipulation, interface designs)
Stages in the RAD
5. Testing and turnover• Since the RAD process use many reusable
components that have been tested, it reduces the overall testing time.
• How ever the new components should be tested.
The End
http://twitter.com/rasansmn