SlideShare a Scribd company logo
1 of 33
MODELING AND CONSTRUCTION PRINCIPLES IN
SOFTWARE ENGINEERING
BY,
S.SUBHALAKSHMI,
M.SC(CS)
NADAR SARASWATHI COLLEGE OF ARTS AND SCIENCE.
CONTENT:
MODELING
TYPES OF MODELING
PRINCIPLES OF MODELING
ANALYSIS MODELING PRINCIPLES
DESIGN MODELING PRINCIPLES
CONSTRUCTION PRINCIPLES
TESTING PRINCIPLES
MODELING:
Models are useful for better understanding of actual entity
to be built or design.
Models are represented at different levels of abstraction first
depict software from customer’s view point and later represent
software at more technical level.
TYPES OF MODELING:
There are two classes of models are created:-
1) Analysis model
2) Design model
Analysis Model:
Represent the customer requirement, which includes
algorithmic specifications of program or process. Analysis model
includes three different domains a) Information domain b)
Functional domain c) Behavioral domain
DESIGN MODEL:
Design model provides concentrate specification for the
construction of software. Design model includes
a) Architectural design
b) User interface design
c) component level details.
The principles of modeling :
PRINCIPLES 1.The primary goal of the software team is to built
software, not create models:
Agility means getting software to the customer in the
fastest possible time. Models that make this happen are
worth creating, but models that slow the process down or
provide little new insight should be avoided.
PRINCIPLES 2.Travel light-don’t create more models than you
need:
Every model that is created must be kept up-to-date as
changes occur. Create only those models that make it easier
and faster to construct the software.
PRINCIPLES 3. Strive to produce the simplest model that will
describe the problem or the software:
Don’t over build the software. By keeping models simple,
the resultant software will also be simple. The result is software
that is easier to integrate, easier to integrate, easier to test,
easier to maintain.
PRINCIPLES.4: Build models in away that makes them amenable to
change.
The problem with this attitude is that without a
reasonably complete requirements model, you’ll create
a design that will invariably miss important functions and
features.
PRINCIPLES.5 Be able to state an explicit purpose for each model
that is created:
Every time you create a model, ask yourself why you’re
doing so. If you can’t provide solid justification for the existence of
the model, don’t spend time on it.
PRINCIPLES.6 Adapt the models you develop to the system at
hand:
It may be necessary to adapt model notation or rules to
the application ; for example, a video game application might
require a different modeling technique.
PRINCIPLES.7 Try to build useful models, but forget about building
perfect models:
When building requirements and design models, a software
engineer reaches a point of diminishing returns.
Try to build useful models.
PRINCIPLES.8 Don’t become dogmatic about the syntax of the model.
If it communicates content successfully, representations is
secondary:
Although everyone on a software team should try to use
consistent notation during modeling, the most
important characteristic of the model is to communicate
information.
PRINCIPLES.9 If your instincts tell you a model isn’t right even
though it seems okay on paper, you probably have reason to be
concerned:
If some thing tells you that a design model is doomed to
fail you have reason to spend additional time examining the
model or developing a different one.
PRINCIPLES.10 Get feedback as soon as you can:
Every model should be reviewed by members of the
software team. The intent of these reviews is to provide feedback
that can be used to correct modeling mistakes, change
misinterpretations, and add features or functions that were
inadvertently omitted.
ANALYSIS MODELING PRINCIPLES:-
PRINCIPLES.1 The information domain of problem must be clearly
represented: –
Analysis model uses “data flow diagram “to show
information domain which includes following detail input flow
into system, output flow in system, data collection by data store to
collect data in system.
PRINCIPLES.2 The function of software must be defined clearly:-
Function are process those transform input flow to output
flow so specification must be clearly defined.
PRINCIPLES.3 Behavior of system must be defined clearly:-
Analysis model uses state transition diagram to represent
the behavior of system clearly.
PRINCIPLES.4 The clear hierarchy among information function and
behavior must be shown: –
Information, function and behavior of system must be
represented by using proper hierarchy which leads to easy design.
PRINCIPLES.5 Analysis should be clear enough to convert it into
design model: –
It analysis of requirement is clear and simple then it will
be easy for design.
DESIGN MODELING PRINCIPLES:-
PRINCIPLES.1 Design should be traceable from analysis model:
Using elements if analysis model is constructed.
PRINCIPLES.2 Consider a architecture of system to be built: –
Architectural design shows following Architectural design style
are as follow a) data concentrate Architecture b) data flow
Architecture c) main / subprogram Architecture.
PRINCIPLES.3 Data should be important rather than design of
functions: –
Data design shows relationship between different data
object shown by entity relationship between different data object
shown by entity relationship diagram so data modeling is
important.
PRINCIPLES.4 User interface design must satisfy all needs of user:-
Design must be simple and convenient to end user side.
PRINCIPLES.5 Internal as well as External Interface must be
designed: –
For proper flow of data among system or external
environment to system it is important to have all internal and
external interface proper design is required.
PRINCIPLES.6 Design module should be easy to understand:-
As simple modules are easy to test, debug and modify so
design should be simple.
PRINCIPLES.7 Cohesion measure functionally strength of module so
for proper design all function in single module should be highly
cohesive so that why Component level design should be
functionally independent.
PRINCIPLES.8 Accept that design modeling is iterative: –
Good design should be capable to the absorb all changes.
PRINCIPLES.9 Components required loosely coupled to the external
environment: –
The Component should be loosely coupled to one another
and to external environment in the modeling system.
CONSTRUCTION PRACTICE:
The construction activity encompasses a set of coding and
testing task that lead operational software that is ready for
delivery to the customer or end-user.
In modern software engineering work, coding may be:
1)the direct creation of programming language source code;
2)the automatic generation of source code using an
intermediate design-like representation of the component to be
built;
3)the automatic generation of executable code using a fourth
generation programming language.
CODING PRINCIPLES:
The principles and concepts that guide the coding task are
closely aligned programming style, programming language, and
programming methods.
However, there are a number of fundamental principles
that can be stated:
PREPARATION PRINCIPLES: Before you write one line of code, be
sure you:
1.Understand the problem you’re trying to solve.
2.Understand basic design principles and concepts.
3.Pick a programming language.
4.Select a programming environment that provides tools that
will make your work easier.
5.Create a set of unit tests that will be applied once the
compentent you code is completed.
CODING PRINCIPLES:As you begin writing code, be sure you:
1.Constrain your algorithm by following structured programming
practice.
2.Select data structure that will meet the needs of the design.
3.Understand the software architecture and create interfaces that
are consistent.
4.Keep conditional statement as simple as possible.
5.Create nested loops in a way that makes them easily testable.
6.Select meaningful variable names and follow other local coding
standards.
7.Write code that is self-documenting.
8.Create a visual layout that aids understanding.
VALIDATION PRINCIPLES: After you’ve completed your first coding
pass, be sure you:
1.Conduct a code walkthrough when appropriate.
2.Perform unit tests and correct errors you’re uncovered.
3.Refactor the code.
TESTING PRINCIPLES:
Testing in a process of executing with the intent of finding
an error.
A good case is one that has a high probability of finding as
as-yet undiscovered error.
The Testing principles are:
PRINCIPLES.1 All tests should be traceable to customer
reqiurements:
The objective of software testing is uncovered.
PRINCIPLES.2 Tests should be planned long before testing
begins:
Test planning can began as soon as the analysis model is
complete and the design model has been solidified.
PRINCIPLES.3 The pare to principle applies to software testing:
Stated simply, the pareto principle implies that 80 percent
of all errors uncovered during traceable to 20 percent of all
program components.
PRINCIPLES.4 Testing should begin “in the small” and progress
toward testing “in the large”:
The first tests planned and executed generally focus on
individual components.
PRINCIPLES.5 Exhaustive testing is not possible:
The number of path permutations for even a moderately
sized program is exceptionally large. For this reason, it is
impossible to execute every combination of paths during testing.
Software engineering

More Related Content

What's hot

Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentJignesh Patel
 
Chap2
Chap2Chap2
Chap2Niit
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles poonam bora
 
User Interface Design
User Interface DesignUser Interface Design
User Interface DesignJReifman
 
Software engineering
Software engineeringSoftware engineering
Software engineeringStella526835
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentationNiat Murad
 
Software design principles
Software design principlesSoftware design principles
Software design principlesRitesh Singh
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataSanjoy Kumar Das
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)MuhammadTalha436
 
Iterative Waterfall model
Iterative Waterfall modelIterative Waterfall model
Iterative Waterfall modelAnmol Purohit
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniquesShruti Kunwar
 
What is iterative model
What is iterative modelWhat is iterative model
What is iterative modelShivam Rathi
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelSandesh Jonchhe
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented DesignEdison Lascano
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Developmentmukhtarhudaya
 

What's hot (20)

Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Chap2
Chap2Chap2
Chap2
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles
 
Solid principles
Solid principlesSolid principles
Solid principles
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentation
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOAD
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
V model (software engineering)
V model (software engineering)V model (software engineering)
V model (software engineering)
 
Iterative Waterfall model
Iterative Waterfall modelIterative Waterfall model
Iterative Waterfall model
 
ITFT - Fourth generation techniques
ITFT  -  Fourth generation techniquesITFT  -  Fourth generation techniques
ITFT - Fourth generation techniques
 
What is iterative model
What is iterative modelWhat is iterative model
What is iterative model
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative model
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Development
 

Similar to Software engineering

IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksSenturus
 
Software enginneering
Software enginneeringSoftware enginneering
Software enginneeringchirag patil
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilersijseajournal
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Topic 19. User Requirements.pptx
Topic 19. User Requirements.pptxTopic 19. User Requirements.pptx
Topic 19. User Requirements.pptxssuserec6f52
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)FarjanaAhmed3
 
software process model
software process modelsoftware process model
software process modeljuhi kumari
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software constructionBanduChalise
 

Similar to Software engineering (20)

06 fse design
06 fse design06 fse design
06 fse design
 
Build for the future
Build for the futureBuild for the future
Build for the future
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Software enginneering
Software enginneeringSoftware enginneering
Software enginneering
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Bai giang-se-20jan14
Bai giang-se-20jan14Bai giang-se-20jan14
Bai giang-se-20jan14
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
 
Principles that Guide Practice
Principles that Guide PracticePrinciples that Guide Practice
Principles that Guide Practice
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Topic 19. User Requirements.pptx
Topic 19. User Requirements.pptxTopic 19. User Requirements.pptx
Topic 19. User Requirements.pptx
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Robotics
RoboticsRobotics
Robotics
 
Software design
Software designSoftware design
Software design
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
software process model
software process modelsoftware process model
software process model
 
Presentation on software construction
Presentation on software constructionPresentation on software construction
Presentation on software construction
 

More from Subha Selvam

More from Subha Selvam (14)

Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
Complier Design
Complier DesignComplier Design
Complier Design
 
Web programming
Web programmingWeb programming
Web programming
 
Big data
Big dataBig data
Big data
 
Data mining
Data miningData mining
Data mining
 
Operating system
Operating systemOperating system
Operating system
 
Database management
Database managementDatabase management
Database management
 
Database management
Database managementDatabase management
Database management
 
Computer network
Computer networkComputer network
Computer network
 
Mathematical foundation in cs
Mathematical foundation in csMathematical foundation in cs
Mathematical foundation in cs
 
Java
JavaJava
Java
 
Sc
ScSc
Sc
 
Ds
DsDs
Ds
 

Recently uploaded

BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsaqsarehman5055
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 

Recently uploaded (20)

BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 

Software engineering

  • 1. MODELING AND CONSTRUCTION PRINCIPLES IN SOFTWARE ENGINEERING BY, S.SUBHALAKSHMI, M.SC(CS) NADAR SARASWATHI COLLEGE OF ARTS AND SCIENCE.
  • 2. CONTENT: MODELING TYPES OF MODELING PRINCIPLES OF MODELING ANALYSIS MODELING PRINCIPLES DESIGN MODELING PRINCIPLES CONSTRUCTION PRINCIPLES TESTING PRINCIPLES
  • 3. MODELING: Models are useful for better understanding of actual entity to be built or design. Models are represented at different levels of abstraction first depict software from customer’s view point and later represent software at more technical level.
  • 4. TYPES OF MODELING: There are two classes of models are created:- 1) Analysis model 2) Design model Analysis Model: Represent the customer requirement, which includes algorithmic specifications of program or process. Analysis model includes three different domains a) Information domain b) Functional domain c) Behavioral domain
  • 5.
  • 6. DESIGN MODEL: Design model provides concentrate specification for the construction of software. Design model includes a) Architectural design b) User interface design c) component level details.
  • 7.
  • 8. The principles of modeling : PRINCIPLES 1.The primary goal of the software team is to built software, not create models: Agility means getting software to the customer in the fastest possible time. Models that make this happen are worth creating, but models that slow the process down or provide little new insight should be avoided.
  • 9. PRINCIPLES 2.Travel light-don’t create more models than you need: Every model that is created must be kept up-to-date as changes occur. Create only those models that make it easier and faster to construct the software. PRINCIPLES 3. Strive to produce the simplest model that will describe the problem or the software:
  • 10. Don’t over build the software. By keeping models simple, the resultant software will also be simple. The result is software that is easier to integrate, easier to integrate, easier to test, easier to maintain. PRINCIPLES.4: Build models in away that makes them amenable to change. The problem with this attitude is that without a reasonably complete requirements model, you’ll create
  • 11. a design that will invariably miss important functions and features. PRINCIPLES.5 Be able to state an explicit purpose for each model that is created: Every time you create a model, ask yourself why you’re doing so. If you can’t provide solid justification for the existence of the model, don’t spend time on it.
  • 12. PRINCIPLES.6 Adapt the models you develop to the system at hand: It may be necessary to adapt model notation or rules to the application ; for example, a video game application might require a different modeling technique. PRINCIPLES.7 Try to build useful models, but forget about building perfect models:
  • 13. When building requirements and design models, a software engineer reaches a point of diminishing returns. Try to build useful models. PRINCIPLES.8 Don’t become dogmatic about the syntax of the model. If it communicates content successfully, representations is secondary: Although everyone on a software team should try to use consistent notation during modeling, the most
  • 14. important characteristic of the model is to communicate information. PRINCIPLES.9 If your instincts tell you a model isn’t right even though it seems okay on paper, you probably have reason to be concerned: If some thing tells you that a design model is doomed to fail you have reason to spend additional time examining the model or developing a different one.
  • 15. PRINCIPLES.10 Get feedback as soon as you can: Every model should be reviewed by members of the software team. The intent of these reviews is to provide feedback that can be used to correct modeling mistakes, change misinterpretations, and add features or functions that were inadvertently omitted.
  • 16. ANALYSIS MODELING PRINCIPLES:- PRINCIPLES.1 The information domain of problem must be clearly represented: – Analysis model uses “data flow diagram “to show information domain which includes following detail input flow into system, output flow in system, data collection by data store to collect data in system.
  • 17. PRINCIPLES.2 The function of software must be defined clearly:- Function are process those transform input flow to output flow so specification must be clearly defined. PRINCIPLES.3 Behavior of system must be defined clearly:- Analysis model uses state transition diagram to represent the behavior of system clearly.
  • 18. PRINCIPLES.4 The clear hierarchy among information function and behavior must be shown: – Information, function and behavior of system must be represented by using proper hierarchy which leads to easy design. PRINCIPLES.5 Analysis should be clear enough to convert it into design model: – It analysis of requirement is clear and simple then it will be easy for design.
  • 19. DESIGN MODELING PRINCIPLES:- PRINCIPLES.1 Design should be traceable from analysis model: Using elements if analysis model is constructed. PRINCIPLES.2 Consider a architecture of system to be built: – Architectural design shows following Architectural design style are as follow a) data concentrate Architecture b) data flow Architecture c) main / subprogram Architecture.
  • 20. PRINCIPLES.3 Data should be important rather than design of functions: – Data design shows relationship between different data object shown by entity relationship between different data object shown by entity relationship diagram so data modeling is important. PRINCIPLES.4 User interface design must satisfy all needs of user:- Design must be simple and convenient to end user side.
  • 21. PRINCIPLES.5 Internal as well as External Interface must be designed: – For proper flow of data among system or external environment to system it is important to have all internal and external interface proper design is required. PRINCIPLES.6 Design module should be easy to understand:- As simple modules are easy to test, debug and modify so design should be simple.
  • 22. PRINCIPLES.7 Cohesion measure functionally strength of module so for proper design all function in single module should be highly cohesive so that why Component level design should be functionally independent. PRINCIPLES.8 Accept that design modeling is iterative: – Good design should be capable to the absorb all changes.
  • 23. PRINCIPLES.9 Components required loosely coupled to the external environment: – The Component should be loosely coupled to one another and to external environment in the modeling system. CONSTRUCTION PRACTICE: The construction activity encompasses a set of coding and testing task that lead operational software that is ready for delivery to the customer or end-user.
  • 24. In modern software engineering work, coding may be: 1)the direct creation of programming language source code; 2)the automatic generation of source code using an intermediate design-like representation of the component to be built; 3)the automatic generation of executable code using a fourth generation programming language.
  • 25. CODING PRINCIPLES: The principles and concepts that guide the coding task are closely aligned programming style, programming language, and programming methods. However, there are a number of fundamental principles that can be stated:
  • 26. PREPARATION PRINCIPLES: Before you write one line of code, be sure you: 1.Understand the problem you’re trying to solve. 2.Understand basic design principles and concepts. 3.Pick a programming language. 4.Select a programming environment that provides tools that will make your work easier. 5.Create a set of unit tests that will be applied once the compentent you code is completed.
  • 27. CODING PRINCIPLES:As you begin writing code, be sure you: 1.Constrain your algorithm by following structured programming practice. 2.Select data structure that will meet the needs of the design. 3.Understand the software architecture and create interfaces that are consistent.
  • 28. 4.Keep conditional statement as simple as possible. 5.Create nested loops in a way that makes them easily testable. 6.Select meaningful variable names and follow other local coding standards. 7.Write code that is self-documenting. 8.Create a visual layout that aids understanding.
  • 29. VALIDATION PRINCIPLES: After you’ve completed your first coding pass, be sure you: 1.Conduct a code walkthrough when appropriate. 2.Perform unit tests and correct errors you’re uncovered. 3.Refactor the code. TESTING PRINCIPLES: Testing in a process of executing with the intent of finding an error.
  • 30. A good case is one that has a high probability of finding as as-yet undiscovered error. The Testing principles are: PRINCIPLES.1 All tests should be traceable to customer reqiurements: The objective of software testing is uncovered.
  • 31. PRINCIPLES.2 Tests should be planned long before testing begins: Test planning can began as soon as the analysis model is complete and the design model has been solidified. PRINCIPLES.3 The pare to principle applies to software testing: Stated simply, the pareto principle implies that 80 percent of all errors uncovered during traceable to 20 percent of all program components.
  • 32. PRINCIPLES.4 Testing should begin “in the small” and progress toward testing “in the large”: The first tests planned and executed generally focus on individual components. PRINCIPLES.5 Exhaustive testing is not possible: The number of path permutations for even a moderately sized program is exceptionally large. For this reason, it is impossible to execute every combination of paths during testing.