0% found this document useful (0 votes)
20 views

CA - Unit-7 Software Engineering

This document discusses basic concepts of software engineering including what software engineering is, the needs for software engineering, requirement gathering techniques, what a data dictionary is, UML overview and basic notations for use case diagrams and class diagrams.

Uploaded by

aman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

CA - Unit-7 Software Engineering

This document discusses basic concepts of software engineering including what software engineering is, the needs for software engineering, requirement gathering techniques, what a data dictionary is, UML overview and basic notations for use case diagrams and class diagrams.

Uploaded by

aman
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

Basic Software Engineering

Prof. Vijya Tulsani, Assistant Professor


Parul Institute of Computer Application
CHAPTER - 1
Introduction
What is Software?
• A software is more than a program code.

• A program is an executable code, which serves some computational purpose.

• A software is considered to be collection of programs (executable programming


code), associated libraries & documentations.

• A software which is made for a specific requirement is called software productl.


What is Engineering?
• An engineering is all about developing products or software’s using well
defined scientific principles & methods.

Software Engineering: It is an engineering approach associated with development


of software or product using well defined scientific principles, methods and
procedures.

• The outcome of software engineering is a reliable & efficient software product.


Needs of Software Engineering
• Large Software: It is easier to build a wall than to a house or building, likewise,
as the size of software become large engineering has to step to give it a
scientific process.

• Scalability: If software process are not based on scientific & engineering


concepts, it would be easier to recreate new software than to scale an existing
one.

• Cost: As hardware industry has shown its skills & large manufacturing has lower
down the price of computer & electronic hardware. But cost of software
remains high if proper process is not adapted.
Needs of Software Engineering
• Dynamic Nature: Always growing & adapting nature of software largely
depends upon the environment in which user works. If the nature of software
is always changing, new enhancements need to be done in the existing one.
This is where software engineering plays a good role.

• Quality Management: Better process of software development provides better


& quality software product.
Requirement Gathering
• This step onwards the software development team works to carry on the
project.
• A team holds discussions with various stakeholders from problem domain &
tries to bring out as much information as possible on their requirements.
• The requirements are contemplated and segregated into user requirements,
system requirements and functional requirements.

The requirements are collected using a number of practices as given


1. studying the existing or obsolete system and software
2. conducting interviews of users and developers
3. referring to the database
4. collecting answers from the questionnaires.
Requirement Gathering Techniques

• Background reading
• Interviewing
• Observation
• Document Sampling
• Questionnaires

We will discuss all techniques in next unit.


What is Data Dictionary?

• It is an integral part of a database.

• It holds information about the database and the data that it stores.

• A data dictionary is a “virtual database” containing metadata (data about


data).
What is Meta Data?
Metadata is defined as data providing information about one or more aspects of
the data, such as:

• Time and date of creation

• Authorization of the data

• Attribute size

• Purpose of the data


Data Dictionary provides information about database
• Tables

• Columns

• Constrains

• Relationship to other variables

• Variable Format

• Data Type

• And more
Importance

• Avoid Duplication

• Make maintenance straight forward

• To locate the error in the system


Why Data Dictionary?

Image source : Google


Data Dictionary Format

• There exists no standard format for creating a data dictionary.

• Meta-data differs from table to table.

• The only prerequisite for a data dictionary is that it should be easily searchable.
Example - 1

• Table: Employees

• Holds data about organization’s current and past employees. Each row
represents one person.
Example - 1
Example - 2

• Table: Students

• Holds data about university’s students. Each row represents one person.
Example - 2
UML Overview
• UML is a standard language for specifying, visualizing, constructing and
documenting the artifacts of software systems.

• UML was created by Object Management Group and UML 1.0 specification
draft was proposed to the OMG in January 1997.

• The Unified Modeling Language (UML) is a general-purpose, developmental,


modeling language in the field of software engineering, that is intended to
provide a standard way to visualize the design of a system.
Introduction to UML
• According to the OMG specification, "The Unified Modeling Language (UML) is
a graphical language for:

• visualizing
• specifying
• constructing
• documenting the artifacts of a software
Why UML?
• Use graphical notation: more clearly than natural language (imprecise) and
code (too detailed).

• Help acquire an overall view of a system.

• UML is not dependent on any one language or technology.

• UML moves us from fragmentation to standardization.


Types of UML Diagrams

• Use Case Diagram

• Class Diagram

• Activity Diagram

• Sequence Diagram
Use Case Diagram
• A use case diagram at its simplest is a representation of a user's interaction
with the system that shows the relationship between the user and the different
use cases in which the user is involved.
Notation of Use Case Diagram
• Actor: An Actor is outside or external the system. It can be a:
• Human
• Peripheral device (hardware)
• External system or subsystem
• Time or time-based event

• Represented by stick figure.

Patient
Notation of Use Case Diagram
Use Cases: A use case (Attribute) is a summary of scenarios for a
single task or goal.

• A use case represents a class of functionality provided by


the system as an event flow.
Make
• An actor is who or what initiates the events involved in the Appointment
task of the use case.

• Represented by oval.
Notation of Use Case Diagram
Relationships: Represent communication between actor and use case
• Represented by line or double-headed arrow line
• Also called association relationship

Make
Appointment

Patient
Notation of Use Case Diagram
Boundary: A boundary rectangle is placed around the perimeter of the system to
show how the actors communicate with the system.

Make
Make
Appointment
Appointment

Patient
Example 1: ATM System

Image source : Google


Use Case Relationships
Relationships: There are several Use Case relationships:
Use Case Relationships
Extend Relationships:
• The extended relationship is used to indicate that use case completely consists
of the behavior of another use case at one or specific point.

• It is shown as a dotted line with an arrow point and labeled <<extend>>.


Use Case Relationships
General Relationships:
• Generalization is a relationship between a general use case and a more specific
use case that inherits and extends features to it.
• It is shown as a solid line with a hollow arrow point.
Use Case Relationships
Uses Relationships:
 When a use case uses another process, the relationship can be shown with the
uses relationship.
 This is shown as a solid line with a hollow arrow point and the <<uses>>
keyword.
Use Case Relationships
Include Relationships:
 Include relationships insert additional behavior into a base use case.
 They are shown as a dotted line with an open arrow and the key word
<<include>>
Example 2: Online Airline Reservation

Image source : Google


Class Diagram
• A class is a description of a set of objects that
share the same attributes, operations,
relationships.

• Graphically, a class is rendered as a rectangle,


usually including its name, attributes, and
operations in separate, designated
compartments.
Class Name
• The name of the class is the only required tag
in the graphical representation of a class. It
always appears in the top-most compartment.
Class Attributes
• An attribute is a named property of a class
that describes the object being modeled.

• In the class diagram, attributes appear in the


second compartment just below the name-
compartment.
Class Attributes (Cont’d)
 Attributes are usually listed in the form:
attributeName : Type

 A derived attribute is one that can be


computed from other attributes, but doesn’t
actually exist.
 For example, a Person’s age can be computed
from his birth date. A derived attribute is
designated by a preceding ‘/’ as in:

/ age : Date
Class Attributes (Cont’d)
 Attributes can be:

 + public
 # protected
 - private
 / derived
Class Operations
 Operations describe the class behavior and
appear in the third compartment.
Relationships
 There are three kinds of relationships in UML:

 dependencies

 generalizations

 associations
Dependency Relationship
 A dependency indicates a semantic relationship between two or more
elements.

 The dependency from CourseSchedule to Course exists because Course is


used in both the add and remove operations of CourseSchedule.
Generalization Relationship
 A generalization connects a subclass to
its superclass.

 It denotes an inheritance of attributes


and behavior from the superclass to the
subclass and indicates a specialization in
the subclass of the more general
superclass.
Association Relationship
 If two classes in a model need to communicate with each other, there must
be link between them.

 An association denotes that link.

Student Instructor
Association Relationship (Cont’d)
 We can indicate the multiplicity of an association by adding multiplicity
adornments to the line denoting the association.

 The example indicates that a Student has one or more Instructors:

Student Instructor
1..*
Association Relationship (Cont’d)
 The example indicates that every Instructor has one or more Students:

Student Instructor
1..*
Association Relationship (Cont’d)
 We can also indicate the behavior of an object in an association (i.e., the role
of an object) using rolenames.

teaches learns from


Student Instructor
1..* 1..*
Association Relationship (Cont’d)

Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
Example 1: ATM System

Image source : Google


Activity Diagram
 Activity diagram is basically a flowchart to represent the flow from one
activity to another activity.

 The activity can be described as an operation of the system.


Basic Component of Activity Diagram
 Action: A step in the activity wherein the users or software perform a given
task. Actions are symbolized with round-edged rectangles.
 Decision node: A conditional branch in the flow that is represented by a
diamond. It includes a single input and two or more outputs.
 Control flows: Another name for the connectors that show the flow between
steps in the diagram.
 Start node: Symbolizes the beginning of the activity. The start node is
represented by a black circle.
 End node: Represents the final step in the activity. The end node is
represented by an outlined black circle.
Activity Diagram Symbols
Activity Diagram Symbols
Activity Diagram Symbols
Activity Diagram Symbols
Activity Diagram Symbols
Example 1: Login
Example 2: ATM System
Sequence Diagram
 A sequence diagram simply depicts interaction between objects in a
sequential order.
Symbols & Components of Sequence Diagram
Symbols & Components of Sequence Diagram
Symbols & Components of Sequence Diagram
Symbols & Components of Sequence Diagram
Symbols & Components of Sequence Diagram
Example: ATM System
www.paruluniversity.ac.in

You might also like