SE Lab Manual 3rd Sem
SE Lab Manual 3rd Sem
S. NO CONTENTS Page
1 Syllabus
4 Lab PEO
5 LAB PLAN
Exercises:
Don’ts
1. No one is allowed to bring storage devices like Pan Drive /Floppy etc. in the lab.
2. Don’t mishandle the system.
3. Don’t leave the system on standing for long
4. Don’t bring any external material in the lab.
5. Don’t make noise in the lab.
6. Don’t bring the mobile in the lab. If extremely necessary then keep ringers off.
7. Don’t enter in the lab without permission of lab In charge.
8. Don’t litter in the lab.
9. Don’t delete or make any modification in system files.
10. Don’t carry any lab equipments outside the lab.
Instructions to the Students
General Instructions
The previous experiment should have been written in the practical file, without which
the students will not be allowed to enter the lab.
The students should have written the experiment in the observation copy that they are
supposed to perform in the lab.
The experiment written in the observation copy should have aim, apparatus required,
circuit diagram/algorithm, blank observation table (if any), formula (if any),
programmed (if any), model graph (if any) and space for result.
When Working in the Lab
Necessary equipments/apparatus should be taken only from the lab assistant by making
an issuing slip, which would contain name of the experiment, names of batch members
and apparatus or components required.
Never switch on the power supply before getting the permission from the faculty.
PEO-1 Computer Science, including theoretical foundations, algorithms and data structures,
and hardware, with an appropriate blend of theory and practice and to specialize in a
variety of areas of Computer Science through a selection of elective courses.
Core Competence:-To provide students with a solid foundation in engineering field
PEO-2 required to solve computing problems using various programming languages and
software’s, and students can solve problems through logical and analytical thinking.
Breathe:-To train students with good engineering breadth so as to comprehend,
PEO-3
analyze, design, and create novel products and solutions for the real life.
Professionalism:-To inculcate in students professional and ethical attitude, effective
PEO-5 of excellence leadership and lifelong learning needed for successful professional
career through independent studies, thesis, internships etc.
Course Outcomes:
Upon successful completion of this Network Programming Lab course Students should be
able to:
BOOKS:-
Text books:-
1 .Software Engineering :- K.K. Aggarwal
Reference Books:-
1. Software Engineering:- Pressman
Practical 1
INTRODUCTION
Practical No:-1
3. What is System?
PRACTICAL 2
Objectives
• Gain understanding of project management.
• Learn how to prepare project plans.
• Learn about project risks.
Project management is the process of planning and controlling the development of a
system within a specified timeframe at a minimum cost with the right functionality.
Risk Management
• Risk management is concerned with identifying risks and drawing up plans to
minimize their effect on a project.
• A risk is a probability that some adverse circumstance will occur.
• Project risks which affect schedule or resources.
• Product risks which affect the quality or performance of the software being
developed.
• Business risks which affect the organization developing the software.
Practical No:-2
Objective:- Study about project planning and management.
1. What is Risk?
PRACTICAL 3
Objectives
• Gain a deeper understanding of the Software Requirement Specification
phase and the Software Requirement Specification (SRS).
• Learn how to write requirements and specifications.
Background
A requirement is a statement of a behavior or attribute that a system must possess for
the system to be acceptable to a stakeholder.
Software Requirement Specification (SRS) is a document that describes the
requirements of a computer system from the user's point of view. An SRS document
specifies:
• The required behavior of a system in terms of: input data, required processing, output
data, operational scenarios and interfaces.
• The attributes of a system including: performance, security, maintainability,
reliability, availability, safety requirements and design constraints.
Requirements management is a systematic approach to eliciting, organizing and
documenting the requirements of a system. It is a process that establishes and maintains
agreement between the customer and the project team on the changing requirements of
a system.
Requirements management is important because, by organizing and tracking the
requirements and managing the requirement changes, you improve the chances of
completing the project on time and under budget. Poor change management is a key
cause of project failure.
Practical No:-3
Objective:- Software Requirement Specification- Describe the individual
Phases/ modules of the project deliverables.
PRACTICAL 4
Software MODELING
Objective
Deeper understanding of Software modeling:
• Data model: entity-relationship diagram (ERD).
• Functional model: data flow diagram (DFD).
Background
Modeling consists of building an abstraction of reality. These abstractions are
simplifications because they ignore irrelevant details and they only represent the
relevant details (what is relevant or irrelevant depends on the purpose of the model).
An ER Diagram
Entity
An entity is an object or concept about which you want to store information.
Weak Entity
A weak entity is an entity that must defined by a foreign key relationship with another
entity as it cannot be uniquely identified by its own attributes alone.
Key attribute
A key attribute is the unique, distinguishing characteristic of the entity. For example, an
employee's social security number might be the employee's key attribute.
Multivalued attribute
A multivalued attribute can have more than one value. For example, an employee entity
can have multiple skill values.
Derived attribute
A derived attribute is based on another attribute. For example, an employee's monthly
salary is based on the employee's annual salary.
Relationships
Relationships illustrate how two entities share information in the database
structure.Learn how to draw relationships:
First, connect the two entities, then drop the relationship notation on the line.
Cardinality
Cardinality specifies how many instances of an entity relate to one instance of another
entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the
occurences of a relationship, ordinality describes the relationship as either mandatory or
optional. In other words, cardinality specifies the maximum number of relationships and
ordinality specifies the absolute minimum number of relationships.
cardinality notations
Recursive relationship
In some cases, entities can be self-linked. For example, employees can supervise other
employees.
A data flow data diagram is one means of representing the functional model of a
software product. DFDs do not represent program logic like flowcharts do.
You can use two different types of notations on your data flow diagrams: Yourdon &
Coad or Gane & Sarson.
Process Notations
Process
A process transforms incoming data flow into outgoing data flow.
Yourdon and Coad Process Notations
Datastore Notations
Datastores are repositories of data in the system. They are sometimes also referred to as
files or databases.
Dataflows are pipelines through which packets of information flow. Label the arrows
with the name of the data that moves through it.
External Entity
External entities are objects outside the system, with which the system communicates.
External entities are sources and destinations of the system's
inputs and outputs.
Practical No:-4
Objective:-
Describe: Relevance of CASE tools, high – end and low – end CASE tools,
automated support for data dictionaries, DFD, ER diagrams.
UML DIAGRAMS
UML stands for Unified Modeling Language. UML is a standard language for writing
software blueprints. It may be used to visualize, specify , construct and document the
artifacts of a software – intensive system.
UML defines a number of diagrams so that we can focus on different aspects of the
system independently.
Class diagrams are the backbone of almost every object-oriented method including
UML. They describe the static structure of a system.
Active Class
Active classes initiate and control the flow of activity, while passive classes store data
and serve other classes. Illustrate active classes with a thicker border.
Visibility
Use visibility markers to signify who can access the information contained within a
class. Private visibility hides information from anything outside the class partition.
Public visibility allows all other classes to view the marked information. Protected
visibility allows child classes to access information they inherited from a parent class.
Associations
Associations represent static relationships between classes. Place association names
above, on, or below the association line. Use a filled arrow to indicate the direction of
the relationship. Place roles near the end of an association. Roles represent the way the
two classes see each other.
Note: It's uncommon to name both the association and the class roles.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. These symbols indicate the
number of instances of one class linked to one instance of the other class. For example,
one company will have one or more employees, but each employee works for one
company only.
Constraint
Place constraints inside curly braces {}.
Simple Constraint
Generalization
Generalization is another name for inheritance or an "is a" relationship. It refers to a
relationship between two classes where one class is a specialized version of another.
For example, Honda is a type of car. So the class Honda would have a generalization
relationship with the class car.
In real life coding examples, the difference between inheritance and aggregation can be
confusing. If you have an aggregation relationship, the aggregate (the whole) can access
only the PUBLIC functions of the part class. On the other hand, inheritance allows the
inheriting class to access both the PUBLIC and PROTECTED functions of the
superclass.
UML Object Diagram
Object diagrams are also closely linked to class diagrams. Just as an object is an
instance of a class, an object diagram could be viewed as an instance of a class diagram.
Object diagrams describe the static structure of a system at a particular time and they
are used to test the accuracy of class diagrams.
Object names
Each object is represented as a rectangle, which contains the name of the object and its
class underlined and separated by a colon.
Object attributes
As with classes, you can list object attributes in a separate compartment. However,
unlike classes, object attributes must have values assigned to them.
Active object
Objects that control action flow are called active objects. Illustrate these objects with a
thicker border.
Multiplicity
You can illustrate multiple objects as one symbol if the attributes of the individual
objects are not important.
Links
Links are instances of associations. You can draw a link using the lines used in class
diagrams.
Self-linked
Objects that fulfill more than one role can be self-linked. For example, if Mark, an
administrative assistant, also fulfilled the role of a marketing assistant, and the two
positions are linked, Mark's instance of the two classes will be self-linked.
Class roles
Class roles describe the way an object will behave in context. Use the UML object
symbol to illustrate class roles, but don't list object attributes.
Activation
Activation boxes represent the time an object needs to complete a task.
Messages
Messages are arrows that represent communication between objects. Use half-arrowed
lines to represent asynchronous messages. Asynchronous messages are sent from an
object that will not wait for a response from the receiver before continuing its tasks.
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time.
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that points to
an X.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place the
condition for exiting the loop at the bottom left corner in square brackets[].
System
Draw your system's boundaries using a rectangle that contains use cases. Place actors
outside the system's boundaries.
Use Case
Draw use cases using ovals. Label with ovals with verbs that represent the system's
functions.
Actors
Actors are the users of a system. When one system is the actor of another system, label
the actor system with the actor stereotype.
Relationships
Illustrate relationships between an actor and a use case with a simple line. For
relationships among use cases, use arrows labeled either "uses" or "extends." A "uses"
relationship indicates that one use case is needed by another in order to perform a task.
An "extends" relationship indicates alternative options under a certain use case.
Class roles
Class roles describe how objects behave. Use the UML object symbol to illustrate class
roles, but don't list object attributes.
Association roles
Association roles describe how an association will behave given a particular situation.
You can draw association roles using simple lines labeled with stereotypes.
Messages
Unlike sequence diagrams, collaboration diagrams do not have an explicit way to
denote time and instead number messages in order of execution. Sequence numbering
can become nested using the Dewey decimal system. For example, nested messages
under the first message are labeled 1.1, 1.2, 1.3, and so on. The a condition for a
message is usually placed in square brackets immediately following the sequence
number. Use a * after the sequence number to indicate a loop.
States
States represent situations during the life of an object. You can easily illustrate a state in
SmartDraw by using a rectangle with rounded corners.
Transition
A solid arrow represents the path between different states of an object. Label the
transition with the event that triggered it and the action that results from it.
Initial State
A filled circle followed by an arrow represents the object's initial state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the object's
final state.
Action states
Action states represent the noninterruptible actions of objects. You can draw an action
state in SmartDraw using a rectangle with rounded corners.
Action Flow
Action flow arrows illustrate the relationships among action states.
Object Flow
Object flow refers to the creation and modification of objects by activities. An object
flow arrow from an action to an object means that the action creates or influences the
object. An object flow arrow from an object to an action indicates that the action state
uses the object.
Initial State
A filled circle followed by an arrow represents the initial action state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the final
action state.
Branching
A diamond represents a decision with alternate paths. The outgoing alternates should be
labeled with a condition or guard expression. You can also label one of the paths "else."
Practical No:-5
Objective:- Data Modeling Use work products – data dictionary, use case
diagrams and activity diagrams, build and test lass diagrams, sequence diagrams
and add interface to class diagrams
PRACTICAL 6
SOFTWARE DESIGN
Objectives
• Deeper understanding of software design and the software design
document (SDD).
Practical No:-6
PRACTICAL 7
SOFTWARE TESTING
Objectives
• Gain a deeper understanding of software testing and the software testing
document.
• Software test specification
Background
Testing is the process of executing a program with the intent of finding errors. A good
test case is one with a high probability of finding an as-yet undiscovered error. A
successful test is one that discovers an as-yet-undiscovered error.
The causes of the software defects are: specification may be wrong; specification may
be a physical impossibility; faulty program design; or the program may be incorrect.
Basic Definitions
• A failure is an unacceptable behavior exhibited by a system.
• A defect is a flaw in any aspect of the system that contributes, or may
potentially contribute, to the occurrence of one or more failures. It might take
several defects to cause a particular failure.
• An error is a slip-up or inappropriate decision by a software developer that
leads to the introduction of a defect.
Good Test Attributes
A good test has a high probability of finding an error, not redundant, and should not
be too simple or too complex.
Unit Testing:
Unit testing is testing each unit separately. In unit testing interfaces tested for proper
information flow and local data are examined to ensure that integrity is maintained.
Boundary conditions and all error handling paths should also be tested.
Integration Testing:
INTEGRATION TESTING is a level of software testing where individual units are combined and
tested as a group. The purpose of this level of testing is to expose faults in the interaction between
integrated units. Test drivers and test stubs are used to assist in Integration Testing.
System Testing:
SYSTEM TESTING is a level of software testing where a complete and integrated software is tested.
The purpose of this test is to evaluate the system's compliance with the specified requirements.
Acceptance Testing:
ACCEPTANCE TESTING is a level of software testing where a system is tested for acceptability.
The purpose of this test is to evaluate the system's compliance with the business requirements and
assess whether it is acceptable for delivery.
3CS4-23 SOFTWARE ENGINEERING SE LAB
Practical No:-7
PRACTICAL 8
1. Project Introduction
2. SWDLC
3. SRS
4. SOFTWARE MODELING: DFD
5. UML in Software Design
(i). Class diagram
(ii) Object diagram
(iii) Sequence diagram
(iv) State chart diagram
(v) Acitivity diagram.
(vi) UseCase diagram
6. Snapshots
7.Future Scope.
8. Conclusion
INTRODUCTION
The “LIBRARY MANAGEMENT SYSTEM” process made computerized to reduce
human errors and to increase the efficiency. The main focus of this project is to lessen
human efforts. The maintenance of the records is made efficient, as all the records are
stored in the ACCESS database, through which data can be retrieved easily.
This project gives us the complete information about the library. We can
enter the record of new books and retrieve the details of books available in the library.
We can issue the books to the students and maintain their records and can also check
how many books are issued and stock available in the library. In this project we can
maintain the late fine of students who returns the issued books after the due date.
VISUAL BASIC
Visual Basic is Graphical Rapid Application Development (RAD) tool that aims
at providing the user with a graphical interface that is intuitive and easy to use. Visual
Basic is a popular programming tool that can be used to write any kind of visual
application ranging from a game to a database management application. Now-a-days
Visual basic is being widely used for developing different types of applications and
performing various types of jobs. With Visual basic, one can automate everyday tasks,
add custom required features and functions to suit ones need, and create applications,
which makes task easier.
A visual Basic programming environment provides all features that are required to
develop a graphical user interface as ready to use components. The Visual Basic
programming environment is also called Point and Click environment. The programmer
does not have to write the code to create and display commonly required user-friendly
features each time around.
When the programmer needs a specific user interface feature such as a button, he
selects the appropriate ready to use component provided by the Visual programming
environment. These components can be moved, resized and renamed as required. So a
Visual programming environment automates the process of creating the user interface
by designing Visual interface using the ready to use components. In addition, it also
provides the means of associating the user written logically defined code with the
components used in a project.
My project on “Library Management” deals with the transaction happenings in Library
in an organization/institute.
This project will be proved easier, as more of the tasks obtained are managed by a
mouse click. The final reports and other facilities and calculations are calculated and
updated automatically
Advantages of Visual Basic
Ready to use components
A Visual Basic programming environment provides all
Features that are required to develop a graphical user
Interface as ready to use components.
The Visual programming environment is also called
Point and Click environment.
The programmer does not have to write the code to create and display
commonly required user-friendly features each time around.
When the programmer needs a specific user interface feature
Such as a button, he selects the appropriate ready to use component
provided by the Visual Programming environment. These components can
be moved, resized and renamed as required. Also there is no restriction on
number of controls placed in the project.
Built in Code
The interface components provided by the Visual programming environment
has some code built into them. For e.g., a button ‘ Knows’ when it has been
clicked upon and then when the event occurs, it executes the appropriate code.
2. Feasibility study:
After making an analysis in the system requirement the next step is to make analysis of
the software requirement. In other words feasibility study is also called as software
requirement analysis. In this phase development team has to make communication with
customers and make analysis of their requirement and analyze the system. By making
analysis this way it would be possible to make a report of identified area of problem. By
making a detailed analysis on this area a detailed document or report is prepared in this
phase which has details like project plan or schedule of the project, the cost estimated
for developing and executing the system, target dates for each phase of delivery of
system developed and so on. This phase is the base of software development process
since further steps taken in software development life cycle would be based on the
analysis made on this phase and so careful analysis has to be made in this phase.
5. Testing:
A software or system which is not tested would be of poor quality. This is because this
is the phase where system developed would be tested and reports are prepared about
bugs or errors in system. To do this testing phase there are different levels and methods
of testing like unit testing, system test and so on. Based on the need the testing methods
are chosen and reports are prepared about bugs. After this process the system again goes
to development phase for correction of errors and again tested. This process continues
until the system is found to be error free. To ease the testing process debuggers or
testing tools are also available.
6. Mainanence:
After the testing phase is completely through and the system is found to be error free it
is delivered to the customer. But no real system would be error free even then. This is
because when the system gets executed in real user system scenarios there would be
possibilities of lot of bugs and errors. This phase is called the maintenance phase and
the errors in this are recorded and changes has to be made in the system accordingly and
again testing phase comes into picture.
7. Implementation:
This is the final stage when the system gets into live. The above software development
process are all vital for a system to get developed with quality and thus to achieve
customer satisfaction which is the main objective of any software development process.
SYSTEM DESIGN
E-R DIAGRAM:
TABLE DESIGN
Account : Table
S.No. Field Name Data Type
1 Accno Number
2 Total_limit Number
3 Books_left Text
4 Status Text
Issue : Table
S.No. Field Name Data Type
1 Bno Number
2 Id Number
3 Issue_date Date/time
4 Due_date Date/time
5 Copies_available Number
User : Table
S.No. Field Name Data Type
1 Id Number
2 Roll_no Number
3 Name Text
4 Branch Text
Book : Table
S.No Field Name Data Type
.
1 B_no Number
2 ISBN Number
3 Subject Text
4 Name Text
5 Author Text
6 Publisher Text
7 Editor Number
8 Copies Number
9 Cost Number
Issue_return : Table
S.No. Field Name Data Type
1 B_no Number
2 Id Number
3 Issue_date Date/Time
4 Due_date Date/Time
5 Return_date Date/time
6 Fine Number
7 Copies_available Number
SNAPSHOTS
HOME FORM:
This is Form designed for selection of the different Menus. Following menu options
have been provided in this Home Form:-
1. Books Entry
2. User Entry
3. Issue of Books
a) Issue of Books
b) Return of the Books
4. Exit
By clicking the Book Entry Menu of the MDI form this form can be displayed for the
entry of new books in the library. Following Text Boxes have been provided for the
entry of the books related information:-
1. Book no.
2. ISBN No.
3. Subject
4. Name of the Book
5. Author
6. Publisher
7. Edition
8. Copies
9. Cost
In addition to above different Update, Delete, Add, Search, Refresh and Exit
command buttons have been provided in the form.
ACCOUNT FORM:
By clicking the second menu “ User Entry “ this form can be obtained for the entry of
the new user coming to the library as user account. The following provisions have been
provided in this form:-
1. Student Id
2. Roll No.
3. Name of the Student
4. Branch
In addition to above different Update, Delete, Add, Search, Refresh and Exit command
buttons have been provided in the form.
ISSUE FORM:
This form can be obtained by clicking the “Issues of Books” under the third menu
“Issues of Books” for issuing a particular book available in the library along with the
issue and due date. The following text boxes have been provided for entry of Issuance
of the Book.
1. Book No.
2. Student ID
3. Current No. of Copies Available
4. Issue Date
5. Due Date
In addition to above different Update, Delete, Add, Search, Refresh and Exit
command buttons have been provided in the form.
RETURN FORM:
This form can be obtained by clicking the “ Books Return ” under the third menu
“Issues of Books” for returning a particular book issued to user from the library along
with the issue , due date and return date with fine if any. The following text boxes have
been provided for entry of return of the Books.
6. Book No.
7. Student ID
8. Current No. of Copies Available
9. Issue Date
10. Due Date
11. Return Date
12. Fine, if any
In addition to above different Update, Delete, Add, Search, Refresh and Exit command
buttons have been provided in the form.
FUTURE SCOPE
SOFTWARE SCOPE:
• Extensibility: This software is extendable in ways that its original developers may not
expect. The following principles enhances extensibility like hide data structure, avoid
traversing multiple links or methods, avoid case statements on object type and
distinguish public and private operations.
• Cost-effectiveness: Its cost is under the budget and make within given time period. It
is desirable to aim for a system with a minimum cost subject to the condition that it
must satisfy the entire requirement. Scope of this document is to put down the
requirements, clearly identifying the information needed by the user, the source of the
information and outputs expected from the system.