You are on page 1of 15

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 &
• DFDs text, Flow of events, Activity diagram)
• Structured English • Object Model
• Decision Table / Tree • Domain model (Conceptual classes,
• ER Analysis their attributes & associations)

Design • DB design • Design elements


• (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

You might also like