Illustrate general good design principles in software engineering such as low coupling, high cohesion, modularity, abstraction, separation of interface and implementation. With examples.
Illustrate general good design principles in software engineering such as low coupling, high cohesion, modularity, abstraction, separation of interface and implementation. With examples.
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Software design is a process through which requirements are translated into a ― blueprint for constructing the software.
Initially, the blueprint shows how the software will look and what kind of data or components will be required to in making it.
The software is divided into separately named components, often called ‘MODULES’, that are used to detect problems at ease.
This follows the "DIVIDE AND CONQUER" conclusion. It's easier to solve a complex problem when you break it into manageable pieces.
In the GTU degree engineering, Software engineering is such a subject which is used to explore thinking over designing reliable softwares. In this presentation , Design concepts and principles are mentioned and explained in simplified manner.
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
Design activity & its objectives – Function Oriented and Object Oriented Design- Modularization techniques - module structure and its representation, interface and information hiding, categories, specific techniques to accommodate change, stepwise refinement, top-down and bottom-up design - Handling anomalies.
Presentation covers all aspects about Software Designing that are followed by Software Engineering Industries. Readers can do detailed study about the Software Design Concepts like (Abstraction, Architecture, Patterns, Modularity, Information Hiding, Refinement, Functional Dependence, Cohesion, Coupling & Refactoring) plus Design Process.
Later then Design Principles are there to understand with Architectural Design, Architectural Styles, Data Centered Architecture, Data Flow Architecture, Call & Return Architecture, Object Oriented Architecture, Layered Architecture with other architectures are named at end of it.
Later then, Component Level Design is discussed. Then after UI Design & Rules of it, UI Design Models, Web Application Design, WebApp Interface Design are discussed at the end.
Comment back if you have any query about it.
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Software design is a process through which requirements are translated into a ― blueprint for constructing the software.
Initially, the blueprint shows how the software will look and what kind of data or components will be required to in making it.
The software is divided into separately named components, often called ‘MODULES’, that are used to detect problems at ease.
This follows the "DIVIDE AND CONQUER" conclusion. It's easier to solve a complex problem when you break it into manageable pieces.
In the GTU degree engineering, Software engineering is such a subject which is used to explore thinking over designing reliable softwares. In this presentation , Design concepts and principles are mentioned and explained in simplified manner.
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
Design activity & its objectives – Function Oriented and Object Oriented Design- Modularization techniques - module structure and its representation, interface and information hiding, categories, specific techniques to accommodate change, stepwise refinement, top-down and bottom-up design - Handling anomalies.
Presentation covers all aspects about Software Designing that are followed by Software Engineering Industries. Readers can do detailed study about the Software Design Concepts like (Abstraction, Architecture, Patterns, Modularity, Information Hiding, Refinement, Functional Dependence, Cohesion, Coupling & Refactoring) plus Design Process.
Later then Design Principles are there to understand with Architectural Design, Architectural Styles, Data Centered Architecture, Data Flow Architecture, Call & Return Architecture, Object Oriented Architecture, Layered Architecture with other architectures are named at end of it.
Later then, Component Level Design is discussed. Then after UI Design & Rules of it, UI Design Models, Web Application Design, WebApp Interface Design are discussed at the end.
Comment back if you have any query about it.
Using Doors® And Taug2® To Support A Simplifiedcbb010
In order to become a market leader, it is imperative that all stakeholders (customers, financial sponsors, developers and testers) be aware of the customer’s needs as captured in the requirements of the products and/or services that are to be produced. This is especially so within both large and small globally distributed companies since the product development organizations often are separated by geography, time and communications. An efficient way to eliminate these potential issues is to develop a common and intuitive requirements management process, which can be deployed across the product development lifecycle. The object of developing a Common Simplified Requirements Management Process is to improve customer satisfaction, eliminate escaping defects and reduce the cost of the development lifecycle. This paper describes the problems of using localised procedures and how these problems can be eliminated by implementing a common requirements management process that is intuitive, scalable and deployed across the System Development Lifecycle. This process has been supported by the industry leading DOORS tool and more recently by the TauG2 tool. An auxiliary benefit of deploying this process is that the process was developed in compliance with standardized methods of documenting and tracing requirements as expected by TL9000 and CMM/CMMI. The net benefits of this simplified requirements process include: increased customer satisfaction due to systems being developed in accordance with the customer’s needs as captured in the requirements, compliance with industry acknowledged process standards and improved cost of quality by eliminating duplication of process maintenance since a common process has been deployed across the development organization.
Watch DoDAF expert, Steven H. Dam, Ph.D, ESEP give a detailed overview of the DoD Architecture Framework. Then a live demonstration of Innoslate, a systems engineering tool, to perform DoDAF tasks.
"Overview of DoDAF with Innoslate" answers the questions:
- Why is DoDAF Important to DoD?
- How Can We Do Good Systems Engineering and Meet DoDAF Requirements?
-How Can MBSE Tools Specifically Support DoDAF?
Your webinar host, Dr. Steve Dam provides you with an in-depth overview of the DoDAF 2.0 using the systems engineering software, Innoslate. Dr. Dam, the President and Founder of SPEC Innovations, participated in the development of DoDAF. He recently published "DoDAF 2.02 A Guide to Applying System Engineering to Develop Integrated, Executable Architectures." The presenter will provides a live tool demonstration of Innoslate with a questions and answer session to follow.
Need for System Analysis
Stages in System Analysis
Structured SAD and tools :
DFD
Context Diagram
Decision Table
Structured Diagram.
System Development Models:
Water Flow
Prototype
Spiral
RAD
Roles and responsibilities of
System Analyst,
Database Administrator
Database Designer
you can be friend with me on orkut
"mangalforyou@gmail.com" : i belive in sharing the knowledge so please send project reports ,seminar and ppt. to me .
Similar to Pressman ch-11-component-level-design (20)
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
2. Definitions - Synonyms
A Level Specifications
Customer’s Requirement Specification
A Spec
Engineering Specifications
B Level Specifications
Developer’s Requirement Specification
B Spec
Software Requirements Specification (SRS)
C Level Specifications
“As Built” Product Specification
C Spec
Software Design Document (SDD)
3. Software Architecture
Architectural Model = Top level structure + organizing
principles
Top level structure: partitioning system into high level
components (usually resulting in modules)
Organizing principles: a few concepts and design
decisions which set the course of implementation
The model includes an operational description of
each component and the system as a whole
Critical Issues
Architectural Model Purpose:
Help focus on dominant design mechanisms
Channel design activities toward implementation
4. Software Architecture
Architectural Model bridges between
requirements and implementation
An initial architectural model is:
Created
for the contract’s proposal
Elaborated in requirements analysis
Completed during preliminary design
All requirements analyses should result in
an architectural model
All designs should begin with a top down
phase, guided by the architectural model
5. Software Architecture
Life Cycle
- Developed during requirements
analysis
- Guides top level design and evolves
with design
- Should be fairly static during
implementation and testing
6. Software Components
Software Components: Parts of the
physical structure of a software
system
Programs
are components of a
software system
Modules are components of a
program
Lower level modules, classes and
functions are components of a module
7. Software Components
The representation of a software
component consists of:
Logical
Model: summary description of its
operation
Behaviors: specific operations that a
component performs. Behaviors are
characterized by:
• Pre and Post conditions
• Invariants
State:
values of internal data
Logical Models and Behaviors defined in BSpec
State and Control defined in C-Spec
8. Decomposition
All but the smallest and simplest software
systems need to be decomposed into
partitions
Partitioning is based on one or more
criteria:
Logical
– identify important objects and the
processing for each
Data Driven – decompose processing to
minimize data coupling. Promotes
robustness under change
Requirements Design – Decompose along
A-Spec boundaries. Makes qualification
easier and boosts customer confidence
9. Decomposition
Partitioning is based on one or more
criteria:
Usability
– Configure processing for simple,
model driven user interfaces
Reuse – Partition into components so that
boundaries match existing software to be
reused
Device Independence – Isolate all platform
processing
Performance – Minimize data transport,
contention for resources, operator
intervention and balance workload in
distributed systems
10. Breaking Down
Software Requirements Analysis and
preliminary design are processes of
decomposition in the application domain
Requirements
decomposed into processes
and data flows
Process – logical model of some activity
necessary to satisfy part of requirements
Data flows – represent information
necessary to sustain activities allocated to
the process
11. Breaking Down
Each process is allocated part of
application’s requirements model
May
derive additional requirements to
complete or disambiguate processing model
Design Structure
Developed
by associating major processes
with modules
Public interface of major modules represent
associated process and data flow
Each stage of decomposition needs to
allocate requirements to its component
parts to prove correctness of the design
12. Building Up
Detailed design and testing
Process
domain
of recomposition in the solution
A logical module becomes a physical
module when its implementation is filled in
using functions and private data
Each function and class is tested for
conformance to its process model
Modules are populated in order of their
dependencies
This process continues until all system
requirements are met
13. Breaking Down, Building Up
A-Specification
logical behavioral model of
software system
Architectural Concept
organizing principles
high level structure
design issues
decomposition
in application domain
B-Specification
C-Specification
Re composition
in solution domain
logical models of
major processing
components
with data flows
logical process models
--> logical modules
--> functions, classes
--> physical modules
Integration & Test
physical modules
--> physical programs
--> physical system
Qualification Test
logical behavioral model of
software system
14. Requirements Specifications
Specification Purpose:
Describe
the contractual obligations of the
developer to the customer
Describe the allowable context –
programming language, platform, testing
scope, required reviews, schedule
Specification Goals:
Completeness
- must describe all processing
Unambiguous – must clearly state each
requirement
Brief – no redundancy or extraneous
descriptors (no adjectives, no adverbs)
15. Requirements Specifications
Specification Topics:
Requirements
should describe the
functioning and performance of a software
component but should not describe design
For example:
• Good: The swarm computing module shall accept
commands from peers. The commands that it
shall accept are create variable, set value of
variable and add two variables.
• Bad: The swarm computing module shall have a
blocking queue for each peer and then merge the
communication from the blocking queue of each
peer into another blocking queue.
Information
flow is shown in data flow
diagrams but not specified because the flow
may change
16. A-Level Requirements
Specification
Written by the customer often with
significant help from developers
Describes requirements from customer’s
point of view
Defines what software must do to satisfy
developer’s obligations to the customer
Usually
accompanied with the required
schedule, reviews and process requirements
Each “shall” in the A-Spec represents a
contractually binding requirement which is
demonstrated during Qualification Testing
17. A-Level Requirements
Specification
A-Level Specification Contains
Logical
description of software’s operation
A context diagram which shows developed
software as one process with external inputs
and outputs shown as rectangles
A function and performance requirements
section
Data dictionary which summarizes all
information flow into and out of the
developed software, only if it is quite
complex
19. B-Level Requirements
Specification
Written by the developers, approved by the
customer
Describes the software requirements from
developer’s point of view
Describes contractual requirements on
software functionality and performance in
terms of architectural components
The logical structure and behavior of each
component is specified along with the
interfaces between each
20. B-Level Requirements
Specification
A B-Level Specification consists of:
Architecture
Description – logical descriptions for
each software component’s operation
Top Level Modules
Dataflow diagrams – show the information
transferred between components
PSpecs – describe the inputs, processing and
outputs for each process (e.g. public interface)
• Processing descriptions contain the requirements
• The basis of qualification testing
Data
dictionary (next slide)
Requirements Traceability Matrix (next slide)
21. B-Level Requirements
Specification
Data dictionary – lists each data flow
between components and to/from the
environment
Requirement Traceability Matrix –
shows the allocation and derivation
relationships between A and B spec
requirements
22. B-Level Requirements
Specification
DFDs are constructed in a hierarchical
manner
PSpec
matches a DFD process
PSpec contains a HIPO (hierarchical
input, processing, output) section
which becomes the prologue for the
corresponding module which
implements it
23. Data Flow Diagram Example
Pspec 2
derived requirement:
shall find names of files in
default directory that match a
given filename pattern
getUniqueFileName
2
file
na
me
l
er
ad
he
s,
rn
tte
pa s
e nd
m a
na mm
file co
file
pat
ter
n
displayHeader
3
e
in
me
na
file
Pspec 1
shall accept a sequence
of filename patterns and
commands
TOP Executive
1
commands
filename,
parameters
file handle,
f
nu ile h
mb an
er dle
,
of
lin
es
file
processCL
5
Pspec 4
shall display first
few lines of file text
er
ro
r
xt
te
m
es
sa
ge
file
ha
nd
le
xt
te
displayFile
4
me
na
file
Pspec 5
shall recognize -n
command, set number of
lines to n, otherwise set
number of lines to 5
file
Pspec 3
shall display name of
each file processed
24. B-Specification Structure
1.
Architecture:
uses, tasks, views,
objects, events, interactions
2.
Referenced Documents
3.
Requirements:
Data Flow Diagrams
Process Specifications
4.
Data Dictionary:
Data Flow Names, Descriptions
5.
Requirements Tracability Matrix:
B-req, A-req or derived, description
6.
Notes
26. B-Specification Hints
Specify what the software shall do, not how
Make testable requirements.
Be complete and unambiguous with shalls
Explicitly use the word “shall” for something
that must be done
Effective use of Context and DFD
Diagrams:
Balance
– the outputs of the context diagram
are matched to the inputs of the top level
DFD. the inputs to a top level process match
up to a diagram of a lower level process
Leveling – creating a hierarchy of data flow
diagrams
Numbers on DFD Processes must match
PSpecs
DD and RTM must be complete