Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
SOFTWARE ENGINEERING
Unit - 1
EMERGENCE OF SOFTWARE ENGINEERING
Early Computer Programming (1950s):
• Programs were being written in assembly language.
• Programs were limited to about a few hundreds of lines of assembly code.
• Every programmer developed his own style of writing programs:
• according to his intuition (exploratory programming).
High-Level Language Programming (Early 60s)
• High-level languages such as FORTRAN, ALGOL, and COBOL were introduced:
• This reduced software development efforts greatly.
• Software development style was still exploratory.
• Typical program sizes were limited to a few thousands of lines of source code.
Control Flow-Based Design (late 60s)
• Size and complexity of programs increased further:
• Programmers found
• To over come with this problem, experienced programmers advised: ``Pay particular
attention to the design of the program's control structure.'’
• A program's control structure indicates:
• the sequence in which the program's instructions are executed.
• Using flow charting technique:
• A program having a difficult(messy) flow chart representation:
• Many programmers had extensively used assembly languages.
Data-Flow Oriented Design
• The computers became more powerful and faster with the introduction of Very Large
Scale Integrated Circuits (VLSI),
• Therefore, various significant developments like networking and GUIs came into
existence.
• A new technique known as
• data -flow-oriented technique came into existence as the complexity of software
could not be dealt with using control flow based design.
• In data flow oriented design technique, the flow of data through business functions
or processes is represented using Data Flow Diagram (DFD).
Object Oriented Design
• The process of software development has revolutionized by object oriented design
technique.
• It not only includes the best features of structured programming but also some new and
powerful features such as encapsulation, data abstraction, inheritance and
polymorphism.
• These new features have broadly helped in the development of well-designed and high-
quality software.
• Object oriented design technique allow reusability of the code. They led to faster
software development and high quality programs.
• But they are easier to adapt and scale, that is large systems can be created by
assembling reusable subsystems.
EVOLUTIONARY MODEL: successive model
• Combination of iterative and incremental
model.
• Here, we break our into smaller parts.
• Prioritize those parts and deliver to customer
one by one.
RAD MODEL
• Rapid Application Development
• Linear Sequential, Short cycle (60 – 90
days)
• RAD Model makes heavy use of
reusable software components with an
extremely short development cycle.
• ChALLENGES:
• For large projects, sufficient resource are needed for rapid cycle
• Strong commitment from developers and customer
• Presupposes modular solution
• Reusability sometimes implies loss of performance
• Following phases are
• Business Modelling
• Data Modelling
• Process modelling
• Application Modelling
• Testing and turnover
• Business Modelling
• Information flow among business function is defined by answering questions like
• What data drivers the business process
• What data is generated
• Who generates it
• Where does the information go,
• Who process it and so on.
Data Modelling
• Refined into a set of data objects (entities) that are needed to support the business.
• The attributes ( character of each entities) are identified and the relation between the
data object is defined.
Process modelling
• Data modelling phase are transformed to achive the data flow necessary to implement a
business function.
• Processing descriptions are created for adding, modifying, deleting, or retrieving a data
object.
Application Modelling
• automated tools are used to facilities construction of the software,
• Even they use the 4th GL techniques.
Testing and turnover
• Many of the programming components have already been tested since RAD emphasis
reuse.
• This reduces the overall testing time.
• But new part must be tested, and all interfaces must be fully exercised.
SPIRAL MODEL
• Iterative prototyping, with framework
activities
• For example:
• First circuit: Specification
• Second circuit : prototype
• Third circuit : product release
• Include development and maintance
• CHALLENGES:
• Hard to show controllability
• (Size and timing of each circuit)
• Risk assessment is fundamental
• Model fairly new (less experience)

More Related Content

Software engineering.pptx

  • 2. EMERGENCE OF SOFTWARE ENGINEERING Early Computer Programming (1950s): • Programs were being written in assembly language. • Programs were limited to about a few hundreds of lines of assembly code. • Every programmer developed his own style of writing programs: • according to his intuition (exploratory programming).
  • 3. High-Level Language Programming (Early 60s) • High-level languages such as FORTRAN, ALGOL, and COBOL were introduced: • This reduced software development efforts greatly. • Software development style was still exploratory. • Typical program sizes were limited to a few thousands of lines of source code.
  • 4. Control Flow-Based Design (late 60s) • Size and complexity of programs increased further: • Programmers found • To over come with this problem, experienced programmers advised: ``Pay particular attention to the design of the program's control structure.'’ • A program's control structure indicates: • the sequence in which the program's instructions are executed. • Using flow charting technique: • A program having a difficult(messy) flow chart representation: • Many programmers had extensively used assembly languages.
  • 5. Data-Flow Oriented Design • The computers became more powerful and faster with the introduction of Very Large Scale Integrated Circuits (VLSI), • Therefore, various significant developments like networking and GUIs came into existence. • A new technique known as • data -flow-oriented technique came into existence as the complexity of software could not be dealt with using control flow based design. • In data flow oriented design technique, the flow of data through business functions or processes is represented using Data Flow Diagram (DFD).
  • 6. Object Oriented Design • The process of software development has revolutionized by object oriented design technique. • It not only includes the best features of structured programming but also some new and powerful features such as encapsulation, data abstraction, inheritance and polymorphism. • These new features have broadly helped in the development of well-designed and high- quality software. • Object oriented design technique allow reusability of the code. They led to faster software development and high quality programs. • But they are easier to adapt and scale, that is large systems can be created by assembling reusable subsystems.
  • 7. EVOLUTIONARY MODEL: successive model • Combination of iterative and incremental model. • Here, we break our into smaller parts. • Prioritize those parts and deliver to customer one by one.
  • 8. RAD MODEL • Rapid Application Development • Linear Sequential, Short cycle (60 – 90 days) • RAD Model makes heavy use of reusable software components with an extremely short development cycle.
  • 9. • ChALLENGES: • For large projects, sufficient resource are needed for rapid cycle • Strong commitment from developers and customer • Presupposes modular solution • Reusability sometimes implies loss of performance
  • 10. • Following phases are • Business Modelling • Data Modelling • Process modelling • Application Modelling • Testing and turnover
  • 11. • Business Modelling • Information flow among business function is defined by answering questions like • What data drivers the business process • What data is generated • Who generates it • Where does the information go, • Who process it and so on.
  • 12. Data Modelling • Refined into a set of data objects (entities) that are needed to support the business. • The attributes ( character of each entities) are identified and the relation between the data object is defined. Process modelling • Data modelling phase are transformed to achive the data flow necessary to implement a business function. • Processing descriptions are created for adding, modifying, deleting, or retrieving a data object.
  • 13. Application Modelling • automated tools are used to facilities construction of the software, • Even they use the 4th GL techniques. Testing and turnover • Many of the programming components have already been tested since RAD emphasis reuse. • This reduces the overall testing time. • But new part must be tested, and all interfaces must be fully exercised.
  • 14. SPIRAL MODEL • Iterative prototyping, with framework activities • For example: • First circuit: Specification • Second circuit : prototype • Third circuit : product release • Include development and maintance
  • 15. • CHALLENGES: • Hard to show controllability • (Size and timing of each circuit) • Risk assessment is fundamental • Model fairly new (less experience)