Software Engineering
Software Project Management,
Architecture & Design
Software Project Management
Department of Computer Science and Engineering
Acknowledgement: Dr. Phalachandra HL, Prof. Anand MS, authors of the prescribed textbooks and materials sourced
online.
Comparison
Consider a telephone used in the earlier days and a telecommunication
application such as Skype
What are the characteristics and architectures of these two?
CENTRALIZED ARCHITECTURE PEER – TO – PEER ARCHITECTURE
Central office hardware (PSTN
Peer to peer
switch)
Benefits:
Benefits:
• Scales without changes
• Works through power outage
• Features can be added easily
• Reliability 2
Think about it!
You are a service provider offering mail service
• Customers call in with their problems
• You need to review mail server logs to diagnose their problems
What are the challenges and the solution choices?
3
Quality attribute trade – off
4
Architectural conflicts
Using large-grain components improves performance but reduces maintainability
Introducing redundant data improves availability but makes security / data integrity more
difficult
(Recall normalization and de – normalization in DB)
Localizing safety-related features usually means more communication so degraded
performance
5
Design issues and decisions
Designer makes a design decision to resolve design issues faced
Design decision: Process involves choosing the best option from among the alternatives
6
Generalized model for architecting
Understand Evaluate
Solve it
problem solution
7
Theme of architecture - Decomposition
The first step typically would involve decomposition of the problem to individual Modules (a set of code or data units)
Decomposition based on Approaches for decomposition Configuration
Layering
Decomposition based on Decomposition based on
Distribution of computational Volatility
resources
Decomposition based on Generality
Decomposition based on Exposure
Decomposition based on Functionality
Keep things together (Coupling) that work together (Cohesion)
Look for low coupling and high cohesion
8
Theme of architecture - Decomposition
Other ways of looking at approaches for decomposition include
Divide & Conquer Stepwise Refinement Top Down approach
Bottom Up approach Information Hiding
9
THANK YOU
Software Project Management
Department of Computer Science and Engineering
10