SEPM Flashcards
Project Planning
It is an organised process to plan tasks to be performed and managed
Helps in better utilisation of resourses and usage of alloted time
Resource Management
Human - project manager, s/w dev
Reusable components - cost and time saving
S/W and H/W tools - LED, S/W programming tools
S/W Project Estimation and factors affecting it
procedure that predicts time and budget req for a project
time
money
resouces
scope and size
risk
Decomposition techniques
Divide and conquer type estimation
Problem Decompositon (partitioning)
Process Decomposition (Model is picked by project manager)
FP based estimation
focuses on domain values than s/w functions
according to functionalities mentioned
FP = UFP x VAF
Unadjusted function point and Value Adjustment Factor
(Study factors)
COCOMO
Constructive Cost Model
relationship between parameters derived through mathematical expression
Organic
Semi Detached
Embedded
adv: quick easy estimate
disadv: hardware constraints not calculated, accuracy limited
Estimation techniques
Empirical (guess estimate) - Expert Judgement, Delphi (team)
Heuristic - mathematical expression presentation
Analytical
Process Based Estimation
Project decomposed into tasks (process)
Estimation calculated according to effort required to accomplish particular task
Use Case Estimation
Use case allow members to see insight of the software scope and requirements.
LOC est = N x LOCavg [(Sa/Sh - 1) + (Pa/Ph - 1) ] x LOC adj
S = scenarios (actual and average)
P = pages (actual and average)
Project Management Principles
Compartmentalization
Interdependency
Time allocation
Defined Milestone
Define outcome
Defined responsibilites
Effort validation
Work Task communication process
The Work Task Communication Process refers to the series of steps involved in communicating tasks, assignments, or projects to team members, stakeholders, or clients.
Task Definition
Task Assignment
Communication process
Task Explaination
Task Clarification
Task Confirmation
Task feedback and monitoring
Task Closure
OOP view of Component Level Design
In object-oriented (OO) design, a component is viewed as a self-contained module that represents a real-world entity or concept
Key Principles
Encapsulation
Abstraction
Modularity
Reusability
Guidelines for component level design
for robust, reusable and maintainable components
- loosely coupled
- strongly cohesive
- abstraction
User Interface Design and golden rules
front end application view
1 user undesirable work (easy entry exit)
2 user decisions undoable (easy redo and undo)
3 advanced interface for adv skill level
4 beginner level limited information
5 onscreen object interaction
6 felxible interaction (multiple platforms)
Layered Architecture
(computer) network process divided into smaller sub tsks
Each Layer different sub divided task (does not affect one another)
Deployment Diagram notations and importance
visual rep of deployment of artifacts on nodes in a system
Nodes - physical H/W or Virtual environment (3D)
Artifact - executable component deployed on Node (rectangles with paper icon)
Communication path - inter-relation b/w Node
Stereotypes - extend semantics of UML
Association - connection b/w Node and Artifact
Package - compilation of related artifacts
Component - modular parts that encapsulate functionalities
Importance : Impact analysis, Troubleshooting and maintenance, Deployment planning, communication and coordination
Data Centered Data Flow
Data Centered - Data store at the centre, central repository, new client components can be added
Data Flow - i/p - o/p through series of computations, pipes and filters
Requirement Model to Design Model
Req Model -
Scenario based (Activity, Use case - text)
Class based (CRC, class )
Behavior based (State, sequence)
Flow Oriented (data flow, control flow)
Design Model -
Data/Class design (class models - design class realisation and requi. data structures req to implement sw)
Architecture Design(relationship b/w major structural elements)
Interface design(sw communicates with systems, implies flow of information)
Component Level(structural elements o procedural description of software components)
S/W Architecture and decision description
importance of architecture design -
Blue Print for Developers
Scalability and performace
Maintainability
Risk Management
Communication
use of archi. decision description -
Consistency
Rational
Stakeholder Alignment
Traceability
Knowledge Sharing
Component Level and Deployment Level
Deploy Levele - creates a model that shows physical archit of the h/w and s/w of the system
Component level -about taking complex s/w systems and making them into small reusable pieces or simple modules
Design Concepts - Refactoring and Refinement
Abstraction, Encapsulation, Modularity, seperation(organization), plymorphism
Refinement - gradually transforming high level design into a more dtailed and concrete implementation
Refactoring - retructuring existing code without changing its external behavior
Types of Software Risk
Schedule
Budget
Quality
Communication
Law
Market
Categories of Risk
Schedule
Budget
Operational
Technical (functionality)
Programming (outside control)
SCM cycle and adv
Software configuration management
Identification and Establishment
Version control
Change control
Configuration audit
Reporting
adv - customer satisfaction, control (change and version), better quality, reduced cost and risk
Risk management cycle
Identification
Assessment
Planning
Monitoring
Graph based function testing
Finite State Machine (states and transitions)
Control Flow Graph (statements and control flow)
Data Flow Graph (variables, dependencies)
State Transition Graph (states, transitions (event 1) )
Alpha and Beta Testing
Alpha - white&black box, security and reliability not checkes, testers who are internal employees, changes made immediately
Beta - black box, users, changes made in future versions
STLC
Requirement analysis
Test planning
Test case development
Test env
Test execution
Test closure
Bottom Up and Top down approach
Bottom up - incremental integration testing, low level module first, inductive reasoning, high success rate
Top down - high level module first (moving down the control flow)
System Testing
eavluates overall functionality and performance
Scalability - non functional, scale up/down of performance att, correct performace after changes
Load - test env, load test scenarios, scenario execution, result analysis, retest
Stress - planning, automation script, script execution, result, tweaking
Stubs and Drivers
Replacement for missing modules
Drivers more complex and used in BU testing
For high level or low level
Verification and Validations
Verification - program correctness, static, quality as, before validaiton, bugs finding, no exec of code
Validation - customer compliance, dynamic, Testing team