Date post: | 20-Jan-2015 |
Category: |
Technology |
Upload: | vikram-dahiya |
View: | 1,126 times |
Download: | 3 times |
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1 1
Design Modeling Design Modeling (Design Engineering)(Design Engineering)
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2
Requirements Analysis v. System Design
Dilemma.
• Requirements analysis should make minimal assumptions about the system design.
• But the requirements definition must be consistent with computing technology and the resources available.
In practice, analysis and design are interwoven. However, do not to allow the analysis tools to prejudge the system design.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
3 3
Analysis Model -> Design Analysis Model -> Design ModelModel
Analysis Model
use-cases - text use-case diagrams activity diagrams swim lane diagrams
data flow diagrams control-flow diagrams processing narratives
f low-oriented elements
behavioralelements
class-basedelements
scenario-basedelements
class diagrams analysis packages CRC models collaboration diagrams
state diagrams sequence diagrams
Data/ Class Design
Architectural Design
Interface Design
Component- Level Design
Design Model
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4
A Note on Design Model
The elements of the design model use many of the same UML and SSAD diagrams that were used in the analysis model.
The difference is that these diagrams are refined and elaborated as part of design; more implementation specific detail is provided
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
5
Design Model Elements
Data / Class Design Architectural Design Interface Design Component Level Design
Design Engineering starts with Data / Class Design – the foundation for all other elements of the design
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
6
Data / Class Design
Transforms analysis-class models into design class realizations and the requisite data structures required to implement the software.
The classes and relationships defined by CRC cards and the detailed data content depicted by class attributes and other notation provide the basis for the data design activity.
Part of class design may occur in conjunction with the design of software architecture.
More detailed class design occurs as each software component is designed.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
7
Architectural Design
Defines the relationship between the major structural elements of the software, the architectural styles and design patterns.
The architectural design representation – the framework of a computer based system – can be derived from the class based elements and the flow-oriented elements.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
8
Interface Design
Describes how the software communicates with systems that interoperate with it, and with humans who use it.
Usage Scenarios and behavioral models provide much of the information required for interface design.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
9
Component Design
The component-level design transforms structural elements of the software architecture into a procedural description of software components.
Information obtained from the class-based models, flow models and behavioral models serve as the basis for component design.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1010
Design and QualityDesign and Quality the design must implement all of the explicit the design must implement all of the explicit
requirements contained in the analysis model, requirements contained in the analysis model, and it must accommodate all of the implicit and it must accommodate all of the implicit requirements desired by the customer.requirements desired by the customer.
the design must be a readable, understandable the design must be a readable, understandable guide for those who generate code and for those guide for those who generate code and for those who test and subsequently support the software.who test and subsequently support the software.
the design should provide a complete picture of the design should provide a complete picture of the software, addressing the data, functional, the software, addressing the data, functional, and behavioral domains from an implementation and behavioral domains from an implementation perspective.perspective.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1111
Quality GuidelinesQuality Guidelines A design should exhibit an architecture that (1) has been A design should exhibit an architecture that (1) has been
created using recognizable architectural styles or created using recognizable architectural styles or patterns, (2) is composed of components that exhibit patterns, (2) is composed of components that exhibit good design characteristics and (3) can be implemented good design characteristics and (3) can be implemented in an evolutionary fashionin an evolutionary fashion For smaller systems, design can sometimes be For smaller systems, design can sometimes be
developed linearly.developed linearly. A design should be modular; that is, the software should A design should be modular; that is, the software should
be logically partitioned into elements or subsystemsbe logically partitioned into elements or subsystems A design should contain distinct representations of data, A design should contain distinct representations of data,
architecture, interfaces, and components.architecture, interfaces, and components.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
12
Quality Guidelines (Contd..)Quality Guidelines (Contd..)
A design should lead to data structures that are appropriate for the A design should lead to data structures that are appropriate for the classes to be implemented and are drawn from recognizable data classes to be implemented and are drawn from recognizable data patterns.patterns.
A design should lead to components that exhibit independent A design should lead to components that exhibit independent functional characteristics.functional characteristics.
A design should lead to interfaces that reduce the complexity of A design should lead to interfaces that reduce the complexity of connections between components and with the external connections between components and with the external environment.environment.
A design should be derived using a repeatable method that is driven A design should be derived using a repeatable method that is driven by information obtained during software requirements analysis.by information obtained during software requirements analysis.
A design should be represented using a notation that effectively A design should be represented using a notation that effectively communicates its meaning.communicates its meaning.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1313
Design Design PrinciplesPrinciples The design process should not suffer from ‘tunnel vision.’ The design process should not suffer from ‘tunnel vision.’
The design should be traceable to the analysis model. The design should be traceable to the analysis model. The design should not reinvent the wheel. The design should not reinvent the wheel. The design should “minimize the intellectual distance” [DAV95] The design should “minimize the intellectual distance” [DAV95]
between the software and the problem as it exists in the real world. between the software and the problem as it exists in the real world. The design should exhibit uniformity and integration. The design should exhibit uniformity and integration. The design should be structured to accommodate change. The design should be structured to accommodate change. The design should be structured to degrade gently, even when The design should be structured to degrade gently, even when
aberrant data, events, or operating conditions are encountered. aberrant data, events, or operating conditions are encountered. Design is not coding, coding is not design. Design is not coding, coding is not design. The design should be assessed for quality as it is being created, The design should be assessed for quality as it is being created,
not after the fact. not after the fact. The design should be reviewed to minimize conceptual (semantic) The design should be reviewed to minimize conceptual (semantic)
errors.errors.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1414
Fundamental Design Fundamental Design ConceptsConcepts
abstraction—data, procedure, controlabstraction—data, procedure, control architecture—the overall structure of the softwarearchitecture—the overall structure of the software patterns—”conveys the essence” of a proven design solutionpatterns—”conveys the essence” of a proven design solution modularity—compartmentalization of data and functionmodularity—compartmentalization of data and function Information hiding—controlled interfacesInformation hiding—controlled interfaces Functional independence—single-minded function and low Functional independence—single-minded function and low
couplingcoupling refinement—elaboration of detail for all abstractionsrefinement—elaboration of detail for all abstractions Refactoring—a reorganization technique that simplifies the Refactoring—a reorganization technique that simplifies the
designdesign
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1515
Data Data AbstractionAbstractiondoordoor
implemented as a data structure
manufacturermanufacturermodel numbermodel numbertypetypeswing directionswing directioninsertsinsertslightslights typetype numbernumberweightweightopening mechanismopening mechanism
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1616
Procedural Procedural AbstractionAbstraction
openopen
implemented with a "knowledge" of the object that is associated with enter
details of enter details of enter algorithmalgorithm
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1717
ArchitectureArchitecture““The overall structure of the software and the The overall structure of the software and the ways in which that structure provides ways in which that structure provides conceptual integrity for a system.” [SHA95a]conceptual integrity for a system.” [SHA95a]
Structural properties. This aspect of the architectural design representation defines the components of a system (e.g., modules, objects, filters) and the manner in which those components are packaged and interact with one another. For example, objects are packaged to encapsulate both data and the processing that manipulates the data and interact via the invocation of methods Extra-functional properties. The architectural design description should address how the design architecture achieves requirements for performance, capacity, reliability, security, adaptability, and other system characteristics.Families of related systems. The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems. In essence, the design should have the ability to reuse
architectural building blocks.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
18
Representation of Architecture(al Design)Structural Models- organized collection of
program componentsFramework Models – identify repeatable
architectural design frameworks that are found in similar types of applications
Dynamic Models – indicates behavioral aspects of program architecture
Process Models – focuses on the design of the business or technical process
Functional Models – represents the functional hierarchy of the system.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
1919
Modular Modular DesignDesigneasier to build, easier to change, easier to fix ...
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2020
Modularity & Cost : Trade-Modularity & Cost : Trade-offsoffsWhat is the "right" number of modules What is the "right" number of modules
for a specific software design?for a specific software design?
optimal numberoptimal number of modulesof modules
cost ofcost of softwaresoftware
number of modulesnumber of modules
modulemoduleintegrationintegration
costcost
module development cost module development cost
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2121
Sizing Modules: Two Sizing Modules: Two ViewsViews
MODULE
What's inside??
How big is it??
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2222
Information HidingInformation Hiding
modulemodulecontrolledcontrolledinterfaceinterface
"secret""secret"
• • algorithmalgorithm
• • data structuredata structure
• • details of external interfacedetails of external interface
• • resource allocation policyresource allocation policy
clientsclients
a specific design decisiona specific design decision
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2323
Why Information Why Information Hiding?Hiding?
reduces the likelihood of “side effects”reduces the likelihood of “side effects” limits the global impact of local design decisionslimits the global impact of local design decisions emphasizes communication through controlled emphasizes communication through controlled
interfacesinterfaces discourages the use of global datadiscourages the use of global data leads to encapsulation—an attribute of high leads to encapsulation—an attribute of high
quality designquality design results in higher quality softwareresults in higher quality software
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2424
Functional Functional IndependenceIndependence
Strive for low coupling
COHESION - the degree to which a module performs one and only one function. COUPLING - the degree to which a module is "connected" to other modules in the system.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2525
Stepwise Stepwise RefinementRefinementopen
walk to door;reach for knob;
open door;
walk through;close door.
repeat until door opensturn knob clockwise;if knob doesn't turn, then take key out; find correct key; insert in lock;endifpull/push doormove out of way;end repeat
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2626
RefactoringRefactoring Fowler [FOW99] defines refactoring in the
following manner: "Refactoring is the process of changing a software
system in such a way that it does not alter the external behavior of the code [design] yet improves its internal structure.”
When software is refactored, the existing design is examined for redundancy unused design elements inefficient or unnecessary algorithms poorly constructed or inappropriate data structures or any other design failure that can be corrected to yield
a better design.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
27
Object-oriented development Object-oriented analysis, design and programming
are related but distinct. OOA is concerned with developing an object model
of the application domain. OOD is concerned with developing an object-
oriented system model to implement requirements. OOP is concerned with realising an OOD using an
OO programming language such as Java or C++.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
28
Characteristics of OOD Objects are abstractions of real-world or system
entities and manage themselves. Objects are independent and encapsulate state and
representation information. System functionality is expressed in terms of object
services. Shared data areas are eliminated. Objects
communicate by message passing. Objects may be distributed and may execute
sequentially or in parallel.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
2929
OO Design Concepts Design classes
Entity classes Boundary classes Controller classes
Inheritance—all responsibilities of a superclass is immediately inherited by all subclasses
Messages—stimulate some behavior to occur in the receiving object
Polymorphism—a characteristic that greatly reduces the effort required to extend the design
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
3030
Design Classes Analysis classes are refined during design to become entity
classes Boundary classes are developed during design to create the
interface (e.g., interactive screen or printed reports) that the user sees and interacts with as the software is used. Boundary classes are designed with the responsibility of
managing the way entity objects are represented to users. Controller classes are designed to manage
the creation or update of entity objects; the instantiation of boundary objects as they obtain information
from entity objects; complex communication between sets of objects; validation of data communicated between objects or between
the user and the application.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
3131
Inheritance Design options:
The class can be designed and built from scratch. That is, inheritance is not used.
The class hierarchy can be searched to determine if a class higher in the hierarchy (a superclass)contains most of the required attributes and operations. The new class inherits from the superclass and additions may then be added, as required.
The class hierarchy can be restructured so that the required attributes and operations can be inherited by the new class.
Characteristics of an existing class can be overridden and different versions of attributes or operations are implemented for the new class.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
32
Generalisation and inheritance Objects are members of classes that define
attribute types and operations. Classes may be arranged in a class hierarchy
where one class (a super-class) is a generalisation of one or more other classes (sub-classes).
A sub-class inherits the attributes and operations from its super class and may add new methods or attributes of its own.
Generalisation in the UML is implemented as inheritance in OO programming languages.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
33
A generalisation hierarchyEmployee
Programmer
projectprogLanguages
Manager
ProjectManager
budgetsControlled
dateAppointed
projects
Dept.Manager
StrategicManager
dept responsibilities
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
34
Advantages of inheritance It is an abstraction mechanism which may be
used to classify entities. It is a reuse mechanism at both the design
and the programming level. The inheritance graph is a source of
organisational knowledge about domains and systems.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
35
Problems with inheritance Object classes are not self-contained. they
cannot be understood without reference to their super-classes.
Designers have a tendency to reuse the inheritance graph created during analysis. Can lead to significant inefficiency.
The inheritance graphs of analysis, design and implementation have different functions and should be separately maintained.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
36
UML associations
Objects and object classes participate in relationships with other objects and object classes.
In the UML, a generalised relationship is indicated by an association.
Associations may be annotated with information that describes the association.
Associations are general but may indicate that an attribute of an object is an associated object or that a method relies on an associated object.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
37
An association model
Employee Department
Manager
is-member-of
is-managed-by
manages
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
3838
Messages
:SenderObject
:ReceiverObject
message (<parameters>)
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
3939
Polymorphism
case of graphtype:case of graphtype:
if graphtype = linegraph then DrawLineGraph (data);if graphtype = linegraph then DrawLineGraph (data);
if graphtype = piechart then DrawPieChart (data);if graphtype = piechart then DrawPieChart (data);
if graphtype = histogram then DrawHisto (data);if graphtype = histogram then DrawHisto (data);
if graphtype = kiviat then DrawKiviat (data);if graphtype = kiviat then DrawKiviat (data);
end case;end case;
All of the graphs become subclasses of a general class All of the graphs become subclasses of a general class called graph. Using a concept called overloading [TAY90], called graph. Using a concept called overloading [TAY90], each subclass defines an operation called each subclass defines an operation called drawdraw. An object . An object can send a can send a drawdraw message to any one of the objects message to any one of the objects instantiated from any one of the subclasses. The object instantiated from any one of the subclasses. The object receiving the message will invoke its own receiving the message will invoke its own drawdraw operation operation to create the appropriate graph. to create the appropriate graph.
graphtype drawgraphtype draw
ConventionalConventional approach …approach …
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4040
SSAD and OOAD based Software Design (Design Model)
process dimension
architecture elements
interface elements
component-level elements
deployment-level elements
low
high
class diagrams analysis packages CRC models collaboration diagrams
use-cases - text use-case diagrams activity diagrams swim lane diagrams collaboration diagrams data flow diagrams
control-flow diagrams processing narratives
data flow diagrams control-flow diagrams processing narratives
state diagrams sequence diagrams
state diagrams sequence diagrams
design class realizations subsystems collaboration diagrams
design class realizations subsystems collaboration diagrams
refinements to:
deployment diagrams
class diagrams analysis packages CRC models collaboration diagrams
component diagrams design classes activity diagrams sequence diagrams
refinements to:
component diagrams design classes activity diagrams sequence diagrams
design class realizations subsystems collaboration diagrams
component diagrams design classes activity diagrams sequence diagrams
analysis model
design model
Requirements: constraints interoperability targets and configuration
technical interface design Navigation design GUI design
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
41
A Note on Design Model
The elements of the design model use many of the same UML and SSAD diagrams that were used in the analysis model.
The difference is that these diagrams are refined and elaborated as part of design; more implementation specific detail is provided
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4242
Design Model Elements Data Design Elements
Data model --> data structures Data model --> database architecture
Architectural Design Elements (In detail later on) Application domain Analysis classes, their relationships, collaborations and behaviors
are transformed into design realizations Patterns and “styles”
Interface elements the user interface (UI) external interfaces to other systems, devices, networks or other
producers or consumers of information internal interfaces between various design components.
Component Level Design Elements Deployment Level Design Elements
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4343
Interface Design Elements
ControlPanel
LCDdisplay LEDindicators keyPadCharacteristics speaker wirelessInterface
readKeyStroke() decodeKey() displayStatus() lightLEDs() sendControlMsg()
Figure 9.6 UML interface representation for ControlPanel
KeyPad
readKeystroke() decodeKey()
<<interface>>
WirelessPDA
KeyPad
MobilePhone
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4444
Component Level Design Elements
SensorManagementSensor
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
45
Component Diagram
HelloWorld.class
hello.java
hello.hml
hello.jpg
executable component
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4646
Deployment Level Design Elements
Figure 9.8 UML deployment diagram for SafeHome
Personal computer
Security
homeManagement
Surveillance
communication
Control Panel CPI server
Security homeownerAccess
externalAccess
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4747
Pattern based Software Design
The best designers in any field have an uncanny ability to see patterns that characterize a problem and corresponding patterns that can be combined to create a solution
A description of a design pattern may also consider a set of design forces. Design forces describe non-functional requirements (e.g., ease of
maintainability, portability) associated the software for which the pattern is to be applied.
The pattern characteristics (classes, responsibilities, and collaborations) indicate the attributes of the design that may be adjusted to enable the pattern to accommodate a variety of problems.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
48
Common Design Patterns used in Industry Façade Pattern Singleton Pattern Factory Pattern Etc
Will explore in depth in Design Patterns
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
4949
Framework based Software Design(reusable mini-architecture)
A framework is not an architectural pattern, but rather an implementation-specific skeleton with a collection of “plug points” (also called hooks and slots) that enable it to be adapted to a specific problem domain.
Gamma et al note that: Design patterns are more abstract than frameworks. Design patterns are smaller architectural elements
than frameworks Design patterns are less specialized than frameworks
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
50
Common Frameworks used in Industry Java EE Framework – distributed
applications using JSP / Servlets / O-R database / EJBs / JDBC etc.
Struts Framework – Web applications using JSP and servlets only
Spring Framework – Distributed applications using JSP / Servlets / O-O database / AOP / JDBC etc
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
51
Coding the design specifications(TSAD - Identifying Design Architecture
1 - tier (MS Access / Oracle / MS SQL Server)
Do you remember your HND Group Project) 2 – tier OR Client-Server (Frontend – Backend)
Tool combinations Available:
Client / GUI Server / Database Visual Basic MS SQL Server / MS Access
Visual Basic / Developer 2K Oracle
Power Builder
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
52
Coding the design specifications(OOAD - Identifying Design Architecture)
1 – tier 2 – tier OR Client-Server (Frontend – Backend) 3 – tier N – tier
2 kinds of platforms are available for the N- tier design architectures:
J2EE (Sun Microsystems).NET (Microsoft)
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
53
Tool combinations Available
(Browser) (Web Server) (WAS) (Backend) Client Business Layer Middle Layer Server / DatabaseSwing in Java Oracle / PostgreSQL / MySQLVB Script ASP MS SQL Server / MS AccessHTML Servlets Oracle / PostgreSQL / MySQLJSP JSP / Servlets Oracle / PostgreSQL / MySQLStruts Framework Oracle / PostgreSQL / MySQLJSP JSP / Servlets EJB Oracle / PostgreSQL / MySQL Spring Framework POJOs Oracle / PostgreSQL / MySQL Spring Framework POJOs Hibernate + Oracle / MySQL
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
54
Note
Browser: Internet Explorer / Netscape
Web Server: Tomcat / Apache Server
Web Application Server: JBoss / IIS / Weblogic /
GlassFish / IBM WebSphere
IDEs : JDeveloper / Developer 9i
Operating Systems : Windows / Unix flavours
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
55
What is Systems Design
Database Design Designing Forms and Reports Designing Interfaces and Dialogues
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
56
Database Design
Transform ER Diagram to relations / tables Normalization Revise your ER Diagram Revised set of relations / tables (from
revised ERD) Physically creating tables and fields
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
57
Database Tools Available
Oracle
Microsoft Access
SQL Server
DB2
MySQL
PostgreSQL
HSQLDB
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
58
Designing Forms and Reports User Interface Design
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
59
Designing Interfaces and Dialogues
Interface Design Environment
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
60
Project Dictionary
A catalog of requirements and specifications for a new information system.
Helps the systems analyst keep track of the enormous volume of details that is part of every system.
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
61
Tools Available
CASE Tools like:
Oracle Designer
Rational Rose
Together
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
62
SKILLS THAT OVERLAP SYSTEMS ANALYSIS AND DESIGN Project planning
Fact – Finding Techniques
Communication Skills
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
63
Text Book(s)
T1: R.S. Pressman, “Software Engineering: A Practitioner's Approach”, 6th Edition, McGraw
Hill, 2006
T2: Sommerville, “ Introduction to Software Engineering”, 8th Edition, Addison-Wesley, 2007
04/10/23 Dr. Deepak Dahiya, Associate Professor, Dept. of CSE & IT, JUIT Waknaghat
64
Reference Book(s)
R1: Booch, Jacobson, Rambaugh, “ UML User’s Guide”, 2nd Edn., Addison Wesley, 2005
R2: Craig Larmann, “Applying UML and Patterns”, Addison Wesley, 2004
R3: Barclay and Savage, ‘’ OOD with UML and Java’’, Elsevier, 2004
R4: Shoval, ‘’ FOOAD Integrated Methodology’’, IDEA Publishing, 2007
R5: Len Bass, “Software Architecture in Practice”, 2nd Edn., Addison Wesley, 2003
R6: Eric Gamma, “Design Patterns: Elements of Reusable OO Software”, 1994
R7: Software Engineering / Enterprise Systems Development related Journals by ACM / IEEE