Software Construction
Lecture 01
Riphah International University
Maryam mir
1
What is Software Construction?
• "The general name for detailed design, coding,
unit testing, and related activities - the collection
of activities focused on creating source code.“
IEEE Std 610.12-1990
2
System Development Lifecycle
• Different phases of system development life cycle
• Feasibility study
• System analysis
• System design
• Coding
• Testing
• Implementation/Deployment
• Maintenance
3
What is Analysis & Design?
• Analysis — An investigation of the problem and requirements,
rather than a solution
• Focus on the business problems, i.e., WHAT the system must do in
terms of Data, Processes, and Interfaces
• Example: if a new online trading system is desired, how will it be used?
What are its functions?
• Design — A conceptual solution that fulfills the requirements
rather than its implementation. Focus on How it will be done
• Example: a description of a database schema, software objects,
methods of objects, relationship between the objects
4
Systems Analysis and Design
• Two common approaches
• Structured Analysis & Design (SAD)
• Object Oriented Analysis & Design (OOAD)
5
Differences Between Structured and Object-
Oriented Analysis and Design
Structured Object-Oriented
Methodolo SDLC Iterative/Incremental
gy
Focus Processes Objects
Reuse Low High
Suitable for Well-defined projects Risky large projects
with stable user with changing user
requirements requirements
6
Differences Between SAD and OOAD
Phase Structured Object-Oriented
Analysis Structuring
Requirements
Requirement Engineering
•Use Case Model (Uses Cases diagrams & text,
•DFDs Flow of events, Activity diagram)
•Structured English •Object Model
•Decision Table / Tree • Domain model (Conceptual classes,
•ER Analysis their attributes & associations)
• DB design • Design elements
Design
• (DB • Design classes: methods, collaboration
normalization) b/w classes
• GUI design • System Architecture
• (forms & • GUI design
reports)
7
Introduction to
Structured Analysis &
Design
8
Structured Analysis and Design (SAD)
Analysis Phase
[Link] system requirements
[Link] system process requirements
[Link] logical requirements (logical modeling)
[Link] system data requirements
Design Phase
[Link] design (DB normalization)
[Link] and report design (GUI design)
9
Structured Analysis and Design (SAD)
Analysis Phase
[Link] system requirements:
• Interviewing: individuals and/or group, brainstorming, prototyping
etc.
[Link] system process requirements
• Data Flow Diagram (DFD) – logical process modeling
• Context diagram
• DFD levels (process decomposition)
10
DFD Symbols
Comparison of DeMarco
& Yourdon and
11
Gane & Sarson DFD
symbol sets
Example - Laptop Ordering System
• A student orders (purchase request) a Laptop to an ordering
system.
• The ordering system validates the order and checks the
inventory status.
• After validating the order, the order is finalized.
• The final order is then forwarded to the vendor company and a
receipt is issued to the student.
• Finally inventory file is updated.
12
Context Diagram
Order
Information
Laptop
0 Information
Order Vendor
Student
Management Company
Receipt System
13
Level-1 Diagram
Order Laptop
Information Receipt Information Vendor
Student
Company
Valid Order Inventory 3
1 Information 2 Data Update
Validate Finalize
Inventor
Order Order
y File
Inventory Inventory
Status Data
Inventory File
14
Questions???
15