1 University of Heidelberg, Institute of Computer Science .... a phone call on a mobile phone does not pre-empt the execution of an arbitrary function when a .... But, there is no advice on how to derive test cases which .... Department of Computer S
Empirical research methods in software engineering. • Experiments and ... of
approaches as in 1. IEEE Standard Glossary of Software Engineering
Terminology,.
To set out the answers to key questions about software ... To learn to use
advanced tools in software development ... 7th Edition, Addison-Wesley, Inc.,
2004.
M.C.A. DEGREE EXAMINATION, FEBRUARYIMARCH 2013. Third Semester.
DMC 1703 ... List the different types of testing used in software engineering and
write the significance of .... Write short notes on the following. I (i) SQA Group and
its ...
Software Engineering. A Practitioner's Approach. European Adaptation. Fifth
Edition. Roger S. Pressman adapted by. Darrel Ince ...
Jul 29, 2009 - The formal prerequisites for this course are Programming Languages (C/C++, Perl, Java, .Net,...), Data ..
Jul 29, 2009 - Our preference for software would be MySQL/php, but we are very flexible ...... Programming languages (fo
Jul 29, 2009 - Is the level of language that the program offers clearly indicated? 1 .... Give non-functional requiremen
Software engineering is about managing complexity at a ... Software economics
can get complex ... Boehm's cost-optimum schedule time to first shipment.
Jul 29, 2009 - experience with the software development process ..... of university, a local company or other external o
Mar 22, 2015 - Software-Intensive Systems Development Case Study ... The original plan was to build a Web portal for NZ organic farmers to offer their ... You work for the 7th vendor - a systems integration company whose specialty is getting.
BLAST and FASTA are two most eminent tools, both being freely accessible on the ... scientist who does not have Internet access, there is an EMAIL BLAST.
software development models and processes and their component parts, software ... Despite our rapid progress, the software industry is considered by many to ...
portability is that software developers cannot rely on the usability of their software on ..... He has served on the faculty of the Indian Statistical Institute, Calcutta,.
Software Engineering. Lecturer: Raman Ramsin. Lecture 18. Analysis Patterns.
Part 1. Department of Computer Engineering. 1. Sharif University of Technology.
AERSP 440 course, Software Engineering, by Lyle. Long. What is software? #.
Computer programs and associated documentation such .... conduct software
projects, but that we ... Practical application of computer science, management.
Carlos Zapata, Luis Fernando Castro (Ed.) SOFTWARE ... Carlos Mario Zapata y Luis Fernando Castro. -- MedellÃn : ... Julián Gaviria. Primera edición: MedellÃn ...
qualifizierter Fachkräfte für die Entwicklung). • Prüfen der Risiken. • Aufwands-
und Terminschätzung. • Wirtschaftlichkeitsrechnung. [Balzert (2001), S.60] ...
In order to develop the field of search-based software engineering, a
reformulation of classic software ... However, the discipline of software
engineering appears.
apply software engineering technologies that are appropriate for ... Here are some discussion topics and questions from the outline we used for the interviews.
Recommended Textbooks. Software Engineering – A Practitioner's Approach.
Roger S. Pressman. McGraw-Hill, 5th edition, 2001. Software Engineering.
The main goal of this Software Engineering course is: ... 2010 7th edition McGraw
Hill; ISBN 10: ... Roger S Pressman and David Lowe Web Engineering: A.
GUJARAT TECHNOLOGICAL UNIVERSITY. MECHENICAL ENGINEERING.
B. E. SEMESTER: VII. Subject Name: Software Engineering. Subject Code:
171908.
NID in Software Engineering (Draft) i. NATIONAL BOARD FOR TECHNICAL
EDUCATION. NATIONAL INNOVATION DIPLOMA (NID). IN. COMPUTER ...
16 Unit Testing. 4.50%. 17 Function Testing. 4.50%. 18 Integration Testing. 3.84
%. 19 System Testing. 3.38%. 20 Beta Testing. 3.02%. 21 Acceptance Testing.
Software Engineering An Introduction
Fakhar Lodhi
1
Engineering z
The science concerned with putting scientific knowledge to practical use. Webster’s Dictionary
z
2
Physics versus Electrical Engineering
Software Engineering
3
z
The science concerned with putting computer science knowledge to practical use.
z
Computer Science versus Software Engineering
Software Engineering - IEEE 1.
2.
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The study of approaches as in 1.
One of the largest efforts in Software Engineering has been the design of Ada Programming Language! 4
Breakdown of Effort Cost - Software Cost Estimation by Capers Jones
Configuration Mgt. Integration User Documentation Unit Testing Function Testing Integration Testing System Testing Beta Testing Acceptance Testing Independent Testing Quality Assurance Installation and Training Project Management
project planning and management configuration management quality assurance installation and training etc. Requirements Design Coding Testing Maintenance etc.
Basic Activities of Software Engineering
8
•
defining the software development process to be used
•
managing the development project
•
describing the intended software product
•
designing the product
•
implementing the product
•
testing the parts of the product
•
integrating the parts and testing them as a whole
•
maintaining the product
The Four P’s of Software Engineering z z z z
9
Project People Process Product
– the task at hand – by whom it is done – the manner it is done – the artifacts produced
Well-Engineered Software • • • • • •
10
Provides the required functionality Maintainable Reliable Efficient User-friendly Cost-effective
Well-Engineered Software - contd. •
These requirements may be conflicting: • • •
• •
11
Cost vs. Efficiency Cost vs. Reliability Efficiency vs. User-interface
Law of diminishing returns. Challenge is to balance these requirements.
Software Life-Cycle Models z z
The way you organize your activities The steps through which the product progresses – – – – – – –
Build-and-fix model Waterfall model Rapid prototyping model Incremental model Extreme programming Synchronize-and-stabilize model Spiral model Object-oriented life-cycle models Comparison of life-cycle models
Build and Fix Model z
Problems – –
z z
Totally unsatisfactory Need life-cycle model – – –
14
No specifications No design
“Game plan” Phases Milestones
Waterfall Model (contd) z
Characterized by – –
z
Advantages – –
z
Documentation Maintenance easier
Disadvantages –
15
With or without feedback loops Documentation-driven
Client feedback
Rapid Prototyping Model z z z
16
Linear model “Rapid” Horizontal versus vertical prototyping
Three Key Points z z
z
Do not turn into product Rapid prototyping may replace specification phase—never the design phase Comparison: – –
17
Waterfall model—try to get it right first time Rapid prototyping—frequent change, then discard
Waterfall and Rapid Prototyping Models z
Waterfall model – –
z
Rapid prototyping model –
z
Cannot be used for robust applications
Solution – –
18
Many successes Client needs
Rapid prototyping for requirements phase Waterfall for rest of life cycle
Incremental Model z
19
Divide project into builds
Incremental Model (contd) z
Waterfall, rapid prototyping models –
z
Incremental model –
z z z z
20
Operational quality complete product at end Operational quality portion of product within weeks
Less traumatic Smaller capital outlay, rapid return on investment Need open architecture—maintenance implications Variations used in object-oriented life cycle
Incremental Model (contd) z
Problems – –
21
Build-and-fix danger Contradiction in terms
Incremental Model (contd) z
More risky version—pieces may not fit –
22
CABTAB and its dangers
Code a bit, test a bit – CABTAB z
23
Haphazard undisciplined approach
Extreme Programming z z z z z z z z
24
Somewhat controversial new approach Stories (features client wants) Estimate duration and cost of each story Select stories for next build Each build is divided into tasks Test cases for task are drawn up first Pair programming Continuous integration of tasks
Extreme Programming
25
Unusual Features of XP z z z z z z
26
Computers are put in center of large room lined with cubicles Pair programming with shared computers Client representative is always present Cannot work overtime for 2 successive weeks No specialization Refactoring
Evaluating XP z z z
27
XP has had some successes Good when requirements are vague or changing Too soon to evaluate XP
Dilbert on eXtreme Programming
28
Synchronize-and Stabilize Model z z z z z
29
Microsoft’s life-cycle model Requirements analysis—interview potential customers Draw up specifications Divide project into 3 or 4 builds Each build is carried out by small teams working in parallel
Synchronize-and Stabilize Model (contd) z z z
At the end of the day—synchronize (test and debug) At the end of the build—stabilize (freeze build) Components always work together –
30
Get early insights into operation of product
Spiral Model z
Simplified form –
z
Precede each phase by – –
z
Alternatives Risk analysis
Follow each phase by – –
31
Waterfall model plus risk analysis
Evaluation Planning of next phase
Simplified Spiral Model z
32
If risks cannot be resolved, project is immediately terminated
Full Spiral Model z z
33
Radial dimension: cumulative cost to date Angular dimension: progress through the spiral
Full Spiral Model (contd)
34
Analysis of Spiral Model z
Strengths – –
z
Weaknesses – –
35
Easy to judge how much to test No distinction between development, maintenance
For large-scale software only For internal (in-house) software only
Object-Oriented Life-Cycle Models z
Need for iteration within and between phases – – – –
z
All incorporate some form of – – –
z
36
Fountain model Recursive/parallel life cycle Round-trip gestalt Unified software development process Iteration Parallelism Incremental development
Danger –
CABTAB
Conclusions z z z z
Different life-cycle models Each with own strengths Each with own weaknesses Criteria for deciding on a model include – – – –
z
37
The organization Its management Skills of the employees The nature of the product
Best suggestion –
“Mix-and-match” life-cycle model
Quality Assurance? z z z
There is NO QA phase QA is an activity performed throughout software production Verification –
z
Validation –
38
Performed at the end of each phase Performed before delivering the product to the client
Documentation Phase? z z
There is NO documentation phase Every phase must be fully documented before starting the next phase – – – –
39
Postponed documentation may never be completed The responsible individual may leave The product is constantly changing—we need the documentation to do this The design (for example) will be modified during development, but the original designers may not be available to document it
Phase
Documents
Requirement Definition
z
Functional Specification
z
z
z
Design
z z
Coding
z z
QA
Rapid prototype, or Requirements document
z
Specification document (specifications) Software Product Management Plan