CA - Unit-7 Software Engineering
CA - Unit-7 Software Engineering
• 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.
• Background reading
• Interviewing
• Observation
• Document Sampling
• Questionnaires
• It holds information about the database and the data that it stores.
• Attribute size
• Columns
• Constrains
• Variable Format
• Data Type
• And more
Importance
• Avoid Duplication
• 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.
• visualizing
• specifying
• constructing
• documenting the artifacts of a software
Why UML?
• Use graphical notation: more clearly than natural language (imprecise) and
code (too detailed).
• 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
Patient
Notation of Use Case Diagram
Use Cases: A use case (Attribute) is a summary of scenarios for a
single task or goal.
• 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
/ 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.
Student Instructor
Association Relationship (Cont’d)
We can indicate the multiplicity of an association by adding multiplicity
adornments to the line denoting the association.
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.
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