Software Engineering
UNIT – I (Cont…)
OUTLINE
• SpecializedProcessModel
-TheFormalMethodsModel
-Aspect-OrientedSoftwareDevelopment
• TheUnifiedProcess
-PhasesoftheUnifiedProcess
 The formal methods model encompasses a set of
activities that leads to formal mathematical specification of
computer software.
 Formal methods enable you to specify, develop, and
verify a computer-based system by applying a rigorous,
mathematical notation.
 A variation on this approach, called clean room software
engineering, is currently applied by some software
development organizations.
 When formal methods are used during development,
they provide a mechanism for eliminating many of the
problems that are difficult to overcome using other
software engineering paradigms.
 Ambiguity, incompleteness, and inconsistency can be
discovered and corrected more easily—not through the
review, but through the application of mathematical
analysis.
 When formal methods are used during design, they serve
as a basis for program verification and “discover and correct
errors” that might otherwise go undetected.
 The development of formal models is currently quite
time consuming and expensive.
 Because few software developers have the necessary
background to apply formal methods, extensive training is
required.
 It is difficult to use the models as a communication
mechanism for technically unsophisticated customers.
 Localized software characteristics are modeled as
components (e.g., object oriented classes) and then
constructed within the context of a system architecture.
 As modern computer-based systems become more
sophisticated (and complex), certain concerns—customer
required properties or areas of technical interest—span the
entire architecture.
 Some concerns are high-level properties of a system (e.g.,
security, fault tolerance).Other concerns affect functions
(e.g., the application of business rules), while others are
systemic (e.g., task synchronization or memory
management).
 When concerns cut across multiple system functions,
features, and information, they are often referred to as
cross cutting concerns.
 Aspectual requirements define those crosscutting concerns that
have an impact across the software architecture.
 Aspect-oriented software development(AOSD), often referred to as
aspect-oriented programming(AOP),is a relatively new software
engineering paradigm that provides a process and methodological
approach for defining, specifying, designing, and constructing
aspects—“mechanisms beyond subroutines and inheritance for
localizing the expression of a crosscutting concern”.
 Aspect-oriented component engineering(AOCE):AOCE uses a
concept of horizontal slices through vertically-decomposed software
components, called “aspects”.
 Components may provide or require one or more “aspect details”
relating to a particular aspect, such as a viewing mechanism,
extensible affordance and interface kind (user interface aspects);
 event generation,
 transport and receiving (distribution aspects);
 data store/retrieve and indexing (persistency aspects);
 authentication,
 encoding and access rights (security aspects);
 transaction atomicity,
 concurrency control and logging strategy (transaction
aspects); and soon.
 Each aspect detail has a number of properties, relating
to functional and/or non-functional characteristics of
the aspect detail.
 The evolutionary model is appropriate as aspects are
identified and then constructed.
 The parallel nature of concurrent development is
essential because aspects are engineered
independently.
 The unified process related to “use case driven,
architecture-centric, iterative and incremental” software
process.
 The Unified Process is an attempt to draw on the best
features and characteristics of traditional software
process models.
 The Unified Process recognizes the importance of
customer communication and streamlined methods for
describing the customer’s view of a system.
 It emphasizes the important role of software architecture
and “helps the architect focus on the right goals.
 It suggests a process flow that is iterative and
incremental.
 During the early 1990s James Rumbaugh [Rum91], Grady
Booch [Boo94], and Ivar Jacobson [Jac92] began working
on a “unified method”.
 The result was UML—a unified modeling language that
contains a robust notation for the modeling and development
of object-oriented systems.
 By 1997, UML became a de facto industry standard for object-
oriented software development.
 UML is used to represent both requirements and design
models.
 UML provided the necessary technology to support object-
oriented software engineering practice, but it did not provide
the process framework.
 Over the next few years, Jacobson, Rumbaugh, and Booch
developed the Unified Process, a framework for object-
oriented software engineering using UML.
 Today, the Unified Process (UP) and UML are widely used on
object-oriented projects of all kinds.
 The iterative, incremental model proposed by the UP can and
should be adapted to meet specific project needs.
Software Engineering
 The above figure depicts the different phases in Unified
Process.
 The inception phase of the UP encompasses both
customer communication and planning activities.
By collaborating with stakeholders, business
requirements for the software are identified;
a rough architecture for the system is proposed; and
a plan for the iterative, incremental nature of the
ensuing project is developed.
Fundamental business requirements are described.
The architecture will be refined.
Planning identifies resources, assesses major risks,
defines a schedule, and establishes a basis for the
phases.
 The elaboration phase encompasses the communication and
modeling activities of the generic process model.
Elaboration refines and expands the preliminary use cases
that were developed as part of the inception phase and
expands the architectural representation to include five
different views of the software—the use case model, the
requirements model, the design model, the implementation
model, and the deployment model.
In some cases, elaboration creates an “executable
architectural baseline” that represents a “first cut” executable
system.
The architectural baseline demonstrates the viability of the
architecture but does not provide all features and functions
required to use the system.
In addition, the plan is carefully reviewed.
Modifications to the plan are often made at this time.
 The construction phase of the UP is identical to the
construction activity defined for the generic software process.
Using the architectural model as input, the construction phase
develops or acquires the software components that will make
each use case operational for end users.
The elaboration phase reflect the final version of the
software increment.
All necessary and required features and functions for the
software increment are then implemented in source code.
As components are being implemented, unit tests are
designed and executed for each.
In addition, integration activities are conducted.
Use cases are used to derive a suite of acceptance tests that
are executed prior to the initiation of the next UP phase.
 The transition phase of the UP encompasses the latter
stages of the generic construction activity and the first
part of the generic deployment (delivery and feedback)
activity.
 Software is given to end users for beta testing and user
feedback reports both defects and necessary changes.
 In addition, the software team creates the necessary
support information (e.g., user manuals, troubleshooting
guides, installation procedures) that is required for the
release.
 At the conclusion of the transition phase, the software
increment becomes a usable software release.
 The production phase of the UP coincides with the
deployment activity of the generic process.
During this phase, the ongoing use of the software is
monitored, support for the operating environment
(infrastructure) is provided, and defect reports and
requests for changes are submitted and evaluated.
It is likely that at the same time the construction,
transition, and production phases are being conducted.
Work may have already begun on the next software
increment.
This means that the five UP phases do not occur in a
sequence, but rather with staggered concurrency.
 A software engineering workflow is distributed across all
UP phases.
 In the context of UP, a workflow is a task set
 That is, a workflow identifies the tasks required to
accomplish an important software engineering action and
the work products that are produced as a consequence of
successfully completing the tasks.
 It should be noted that not every task identified for a UP
workflow is conducted for every software project.
 The team adapts the process (actions, tasks, subtasks,
and work products) to meet.
Software Engineering

More Related Content

PPTX
Software Engineering
PPTX
Software Engineering
PPTX
Software Engineering
PPTX
Software Engineering
PPTX
Design concepts
PPT
Slides chapter 3
PPT
Ch03 prescriptive process models
PPT
Software Process in Software Engineering SE3
Software Engineering
Software Engineering
Software Engineering
Software Engineering
Design concepts
Slides chapter 3
Ch03 prescriptive process models
Software Process in Software Engineering SE3

What's hot (20)

PPTX
Software Engineering Unit 1
PPT
Pressman ch-3-prescriptive-process-models
PPTX
Software Engineering unit 4
PPTX
Unit iii-Architecture in the lifecycle
PPTX
Software Engineering unit 3
PDF
Software engineering lecture notes
PDF
Quality Attribute: Testability
PDF
Software engineering unit 1
PPT
PPT
Architecture design in software engineering
PPT
962 sech04
PPT
Aspect Oriented Software Development
PPT
Pressman ch-3-prescriptive-process-models
PPT
Chapter 01 software engineering pressman
PPTX
Unit iv -Documenting and Implementation of Software Architecture
DOCX
Software engineering Questions and Answers
PDF
Software engineering note
PPT
Waterfall model
DOCX
process models- software engineering
PPT
Lecture 3 software process model
Software Engineering Unit 1
Pressman ch-3-prescriptive-process-models
Software Engineering unit 4
Unit iii-Architecture in the lifecycle
Software Engineering unit 3
Software engineering lecture notes
Quality Attribute: Testability
Software engineering unit 1
Architecture design in software engineering
962 sech04
Aspect Oriented Software Development
Pressman ch-3-prescriptive-process-models
Chapter 01 software engineering pressman
Unit iv -Documenting and Implementation of Software Architecture
Software engineering Questions and Answers
Software engineering note
Waterfall model
process models- software engineering
Lecture 3 software process model
Ad

Similar to Software Engineering (20)

PPT
Lecture 5 software process model (3)
PDF
Unit-1_Notes(OOAD).pdf
PDF
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
PDF
6 Contracts And Scenarios In The Software Development Process
PDF
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
PPTX
282600430-Specialized-Process-Models.pptx
PPT
Introduction to Software Engineering Principles
PPTX
Elementary Probability theory Chapter 2.pptx
PPTX
Software Engineering -UNIT1 - Part2.pptx
PPTX
View Alignment Techniques
PPTX
Chapter 2.pptx
PPT
Software models
PPTX
Software Engineering - Lecture 02
PDF
Chapter-2 ppt for the MBA 4rh seme6y.pdf
PPT
Difference Unified Processes
PPT
Software development life cycle
PPTX
PPTX
CS8494 SOFTWARE ENGINEERING Unit-1
PPTX
Unit_I.pptx
PDF
Analysis and design web portl amazing north sulawesi using aup methodology
Lecture 5 software process model (3)
Unit-1_Notes(OOAD).pdf
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
6 Contracts And Scenarios In The Software Development Process
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
282600430-Specialized-Process-Models.pptx
Introduction to Software Engineering Principles
Elementary Probability theory Chapter 2.pptx
Software Engineering -UNIT1 - Part2.pptx
View Alignment Techniques
Chapter 2.pptx
Software models
Software Engineering - Lecture 02
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Difference Unified Processes
Software development life cycle
CS8494 SOFTWARE ENGINEERING Unit-1
Unit_I.pptx
Analysis and design web portl amazing north sulawesi using aup methodology
Ad

More from JayaKamal (8)

PPT
Introduction to Machine Learning Concepts
PPTX
Trees, Basic Terminology and Binary Trees
PPT
To learn Basic Excel - Data Entry, Formulas and Functions
PPTX
Introduction Linked Lists - Singly Linked List,
PPT
Introduction - Data Structures and Algorithms.ppt
PPTX
What is an Operating Systems?
PPTX
PPTX
Software Engineering
Introduction to Machine Learning Concepts
Trees, Basic Terminology and Binary Trees
To learn Basic Excel - Data Entry, Formulas and Functions
Introduction Linked Lists - Singly Linked List,
Introduction - Data Structures and Algorithms.ppt
What is an Operating Systems?
Software Engineering

Recently uploaded (20)

PPTX
What’s under the hood: Parsing standardized learning content for AI
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
PDF
English Textual Question & Ans (12th Class).pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
Everyday Spelling and Grammar by Kathi Wyldeck
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
M.Tech in Aerospace Engineering | BIT Mesra
PDF
My India Quiz Book_20210205121199924.pdf
PDF
PowerPoint for Climate Change by T.T.pdf
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PDF
Climate and Adaptation MCQs class 7 from chatgpt
PDF
Environmental Education MCQ BD2EE - Share Source.pdf
PDF
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
PDF
International_Financial_Reporting_Standa.pdf
PPTX
MICROPARA INTRODUCTION XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PPTX
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
PDF
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
PDF
Journal of Dental Science - UDMY (2020).pdf
What’s under the hood: Parsing standardized learning content for AI
FORM 1 BIOLOGY MIND MAPS and their schemes
Race Reva University – Shaping Future Leaders in Artificial Intelligence
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
English Textual Question & Ans (12th Class).pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
Everyday Spelling and Grammar by Kathi Wyldeck
AI-driven educational solutions for real-life interventions in the Philippine...
M.Tech in Aerospace Engineering | BIT Mesra
My India Quiz Book_20210205121199924.pdf
PowerPoint for Climate Change by T.T.pdf
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Climate and Adaptation MCQs class 7 from chatgpt
Environmental Education MCQ BD2EE - Share Source.pdf
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
International_Financial_Reporting_Standa.pdf
MICROPARA INTRODUCTION XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
Journal of Dental Science - UDMY (2020).pdf

Software Engineering

  • 2. UNIT – I (Cont…) OUTLINE • SpecializedProcessModel -TheFormalMethodsModel -Aspect-OrientedSoftwareDevelopment • TheUnifiedProcess -PhasesoftheUnifiedProcess
  • 3.  The formal methods model encompasses a set of activities that leads to formal mathematical specification of computer software.  Formal methods enable you to specify, develop, and verify a computer-based system by applying a rigorous, mathematical notation.  A variation on this approach, called clean room software engineering, is currently applied by some software development organizations.  When formal methods are used during development, they provide a mechanism for eliminating many of the problems that are difficult to overcome using other software engineering paradigms.
  • 4.  Ambiguity, incompleteness, and inconsistency can be discovered and corrected more easily—not through the review, but through the application of mathematical analysis.  When formal methods are used during design, they serve as a basis for program verification and “discover and correct errors” that might otherwise go undetected.  The development of formal models is currently quite time consuming and expensive.  Because few software developers have the necessary background to apply formal methods, extensive training is required.  It is difficult to use the models as a communication mechanism for technically unsophisticated customers.
  • 5.  Localized software characteristics are modeled as components (e.g., object oriented classes) and then constructed within the context of a system architecture.  As modern computer-based systems become more sophisticated (and complex), certain concerns—customer required properties or areas of technical interest—span the entire architecture.  Some concerns are high-level properties of a system (e.g., security, fault tolerance).Other concerns affect functions (e.g., the application of business rules), while others are systemic (e.g., task synchronization or memory management).  When concerns cut across multiple system functions, features, and information, they are often referred to as cross cutting concerns.
  • 6.  Aspectual requirements define those crosscutting concerns that have an impact across the software architecture.  Aspect-oriented software development(AOSD), often referred to as aspect-oriented programming(AOP),is a relatively new software engineering paradigm that provides a process and methodological approach for defining, specifying, designing, and constructing aspects—“mechanisms beyond subroutines and inheritance for localizing the expression of a crosscutting concern”.  Aspect-oriented component engineering(AOCE):AOCE uses a concept of horizontal slices through vertically-decomposed software components, called “aspects”.  Components may provide or require one or more “aspect details” relating to a particular aspect, such as a viewing mechanism, extensible affordance and interface kind (user interface aspects);  event generation,  transport and receiving (distribution aspects);  data store/retrieve and indexing (persistency aspects);  authentication,  encoding and access rights (security aspects);
  • 7.  transaction atomicity,  concurrency control and logging strategy (transaction aspects); and soon.  Each aspect detail has a number of properties, relating to functional and/or non-functional characteristics of the aspect detail.  The evolutionary model is appropriate as aspects are identified and then constructed.  The parallel nature of concurrent development is essential because aspects are engineered independently.
  • 8.  The unified process related to “use case driven, architecture-centric, iterative and incremental” software process.  The Unified Process is an attempt to draw on the best features and characteristics of traditional software process models.  The Unified Process recognizes the importance of customer communication and streamlined methods for describing the customer’s view of a system.  It emphasizes the important role of software architecture and “helps the architect focus on the right goals.  It suggests a process flow that is iterative and incremental.  During the early 1990s James Rumbaugh [Rum91], Grady Booch [Boo94], and Ivar Jacobson [Jac92] began working on a “unified method”.
  • 9.  The result was UML—a unified modeling language that contains a robust notation for the modeling and development of object-oriented systems.  By 1997, UML became a de facto industry standard for object- oriented software development.  UML is used to represent both requirements and design models.  UML provided the necessary technology to support object- oriented software engineering practice, but it did not provide the process framework.  Over the next few years, Jacobson, Rumbaugh, and Booch developed the Unified Process, a framework for object- oriented software engineering using UML.  Today, the Unified Process (UP) and UML are widely used on object-oriented projects of all kinds.  The iterative, incremental model proposed by the UP can and should be adapted to meet specific project needs.
  • 11.  The above figure depicts the different phases in Unified Process.  The inception phase of the UP encompasses both customer communication and planning activities. By collaborating with stakeholders, business requirements for the software are identified; a rough architecture for the system is proposed; and a plan for the iterative, incremental nature of the ensuing project is developed. Fundamental business requirements are described. The architecture will be refined. Planning identifies resources, assesses major risks, defines a schedule, and establishes a basis for the phases.
  • 12.  The elaboration phase encompasses the communication and modeling activities of the generic process model. Elaboration refines and expands the preliminary use cases that were developed as part of the inception phase and expands the architectural representation to include five different views of the software—the use case model, the requirements model, the design model, the implementation model, and the deployment model. In some cases, elaboration creates an “executable architectural baseline” that represents a “first cut” executable system. The architectural baseline demonstrates the viability of the architecture but does not provide all features and functions required to use the system. In addition, the plan is carefully reviewed. Modifications to the plan are often made at this time.
  • 13.  The construction phase of the UP is identical to the construction activity defined for the generic software process. Using the architectural model as input, the construction phase develops or acquires the software components that will make each use case operational for end users. The elaboration phase reflect the final version of the software increment. All necessary and required features and functions for the software increment are then implemented in source code. As components are being implemented, unit tests are designed and executed for each. In addition, integration activities are conducted. Use cases are used to derive a suite of acceptance tests that are executed prior to the initiation of the next UP phase.
  • 14.  The transition phase of the UP encompasses the latter stages of the generic construction activity and the first part of the generic deployment (delivery and feedback) activity.  Software is given to end users for beta testing and user feedback reports both defects and necessary changes.  In addition, the software team creates the necessary support information (e.g., user manuals, troubleshooting guides, installation procedures) that is required for the release.  At the conclusion of the transition phase, the software increment becomes a usable software release.
  • 15.  The production phase of the UP coincides with the deployment activity of the generic process. During this phase, the ongoing use of the software is monitored, support for the operating environment (infrastructure) is provided, and defect reports and requests for changes are submitted and evaluated. It is likely that at the same time the construction, transition, and production phases are being conducted. Work may have already begun on the next software increment. This means that the five UP phases do not occur in a sequence, but rather with staggered concurrency.
  • 16.  A software engineering workflow is distributed across all UP phases.  In the context of UP, a workflow is a task set  That is, a workflow identifies the tasks required to accomplish an important software engineering action and the work products that are produced as a consequence of successfully completing the tasks.  It should be noted that not every task identified for a UP workflow is conducted for every software project.  The team adapts the process (actions, tasks, subtasks, and work products) to meet.