Formal Specification
Formal software specifications are mathematical entities and may be analyzed using mathematical methods. Specification consistency and completeness can be proved mathematically.
Formal specifications may be automatically processed. Software tools can be used to build programs...
Friday, March 21, 2014
undefined
undefined
Extreme Programming (XP) is the most widely used Agile Process model. XP uses an object oriented approach as its development paradigm. XP encompasses a set of rules and practices that occur within the context of four framework activities : planning, design , coding and testing.
Planning
Begins...
undefined
undefined
Agile software engineering combines a philosophy and a set of development guidelines. The philosophy encourages the customer satisfaction and early incremental delivery of software; small and highly motivated software teams, informal methods, minimal software engineering work products, and overall development simplicity. The development guidelines stress delivery and active and...
undefined
undefined
This model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. Using the spiral model software is developed in a series of incremental releases. During early iterations, the incremental...
undefined
undefined
The Unified Process or Rational Unified Process (RUP) is a framework for object oriented software engineering using UML. This is a use-case driven, architecture centric, iterative and incremental software development model.
Inception Phase
The Inception Phase of UP includes both customer communication...
undefined
undefined
Emphasizes the design and construction of computer based systems using software “components”.
The process relies on reusable software components.
Similar to the characteristics of the spiral model.
Requirement specification and validation steps are similar to the other processes.
Component Analysis
During...
undefined
undefined
Advantages
Effort of prototype is not wasted.
Faster than the Waterfall model.
High level of user involvement from the start.
Technical or other problems discovered early – risk reduced.
A working system is available early in the process.
Misunderstandings between software users and developers...
undefined
undefined
The objective is to understand the system requirements clearly.Starts with poorly understood requirements. Once the requirements are cleared, the system will be developed from the beginning.This model is suitable if the requirements are vague but stable.
Important features may have been left out...
undefined
undefined
Real projects rarely follow the sequential flow that the model proposes. Although the Waterfall model can accommodate iteration, it does so indirectly.
It is often very difficult for the customer to state all requirements explicitly. The Waterfall model has the difficulty of accommodating the natural uncertainty that exists at the beginning of many projects.
The customers must have patience. A working...
undefined
undefined
Software Requirement Analysis and Specification
The system’s services, constraints and goals are established with the consultation with the users. This would include the understanding of the information domain for the software, functionality, behaviour, performance, interface, security and exceptional...
undefined
undefined
The Incremental development model involves developing the system in an incremental fashion. The most important part of the system is fist delivered and the other parts of the system are then delivered according to their importance.Incremental development avoids the problems of constant change which...
undefined
undefined
Distribution of costs across the different activities in the software process depends on the process used and the type of software that is being developed.Software Engineering Costs Eg: Real-time software usually requires more extensive validation and testing than web-based systems.In the...
undefined
undefined
The economies of ALL developed nations are dependent on software.
More and more systems are software controlled.
Expenditure on software represents a significant fraction of GNP in all developed countries.
Software engineering is concerned with theories, methods and tools for professional software development.
Software is found in products and situations where very high reliability is expected.
E.g....
undefined
undefined
Intangibility - Cannot touch software.
Increase use will not introduce any defects.
Software is configurable-able to build software by combining a basic set of software components in different ways.
One can change the product easily by re-implementing it without changing the design.
Custom built-...
undefined
undefined
We can categorized software to several types.
System Software
System software is a collection of programs is written to service the other programs.
Eg: Operating system component, drivers, telecommunication process.
Business software
System have evolved into management information system software that access one or more large database containing business information.
Embedded software
Embedded...
undefined
undefined
Instructions given to a computer (computer programs).Software is a general term for the various kinds of programs used to operate computers and related devices.Software is the set of instructions that makes the computer work.
Example - When you type in words via the keyboard, the software is responsible for displaying the correct letters,...
Subscribe to:
Posts (Atom)