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
1.Determining system requirements
2.Structuring system process requirements
3.Modeling logical requirements (logical modeling)
4.Structuring system data requirements
Design Phase
1.Database design (DB normalization)
2.Forms and report design (GUI design)
9
Structured Analysis and Design (SAD)
Analysis Phase
1.Determine system requirements:
• Interviewing: individuals and/or group, brainstorming, prototyping
etc.
2.Structuring 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