Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SOFTWARE CONSTRUCTION
(SE-312)
Spring Semester
R2 Coding standards, best programming Coding standards, best Coding standards, best Coding standards, best
Coding practices are not followed. Student programming practices are programming practices are programming practices are
Standards cannot understand the code not followed rarely followed followed appropriately.
R3 Student failed to demonstrate a clear Student has basic knowledge Student has basic knowledge Student has demonstrated on
Demonstration understanding of the assigned task of understanding but asked of understanding. Answer to accurate understanding of the lab
questions were not the question are basic objective and concepts. All the
answered. questions are answered
completely and correctly
R4 The code is huge and appears to be The code is brute force and The code is fairly efficient The code is extremely efficient
Efficiency patched together. unnecessarily long without sacrificing without sacrificing readability and
readability and understanding.
understanding.
R5 The code is not organized for reusability. Some parts of the code could Most of the code could be The code could be reused as a
Reusability be reused in other programs reused in other programs. whole, or each routine could be
reused.
R6 Most part of the working program is Working program is Working program has some Working program has potential
Originality copied. uninspired and potential for making a for making a creative
straightforward work with creative contribution contribution.
little to no creative potential.
Lab Rubrics (Group 3)
Criteria Unacceptable Substandard Adequate Proficient
(Marks=0) Marks=1 Marks=2 Marks=3
R1 The system failed to produce the right The system execution let to The system was correctly The system was correctly
Completeness accurate result inaccurate or incomplete functional and most of the functional, and all the features
and Accuracy results. It was not correctly features were implemented were implemented
functional or not all the
features were implemented
R2 The student failed to demonstrate a clear The student has basic The student has moderate The student has demonstrated on
Demonstration understanding of the assigned task knowledge of understanding knowledge of understanding. accurate understanding of the lab
but asked questions were not Answer to the question are objective and concepts. All the
answered. basic questions are answered completely
and correctly
R3 Most part of the working program is Working program is Working program has some Working program has potential for
Originality copied. uninspired and potential for making a making a creative contribution.
straightforward work with creative contribution
little to no creative potential.
R4 Shows little commitment to group goals Demonstrates commitment to Demonstrates commitment to Actively helps to identify group
Contribution/ and fails to perform assigned roles group goals, but has group goals and carries out goals and works effectively to
Group difficulty performing assigned roles effectively meet them in all roles assumed
participation assigned roles
R5 Poor presentation; cannot explain topic; Presentation lacks clarity and Presentation acceptable; Well-organized, clear
Presentation scientific terminology lacking or organization; little use of adequate use of scientific presentation; good use of scientific
skills confused; lacks understanding of topic scientific terms and terms; acceptable vocabulary and terminology; good
vocabulary; poor understanding of topic understanding of topic
understanding of topic
SE-312 Software Construction
Course Learning Outcomes (CLOs)
At the end of the course the students will be able to: PLOs BT Level*
1. Explain the principles of Software construction 1 C-2
2. Apply patterns, frameworks and techniques for 2 C-3
software construction
3. Apply principles of bug-free, ready to change and 3 C-3
easy to understand software construction
4. Adapt modern tools for software construction 5 P-3
Max. Instructor
Marks Obtained
Date Experiment Mark Sign
s R1 R2 R3 R4 R5 R6
Grand Total
CONTENTS
Experiment # 1: UML Diagrams...................................................................................................................8
Experiment # 2: Process of Creation of Detailed Design Document..........................................................12
Experiment # 3: Working with Javadoc, Java Applet.................................................................................13
Experiment # 1: UML Diagrams
Objective:
To introduce and practice the concept of different UML Diagrams.
Tool:
MS Visio /Visual Paradigm
Time:
3Hrs
Introduction:
What is Meant by UML?
UML stands for Unified Modeling Language. UML 2.0 helped extend the original UML
specification to cover a wider portion of software development efforts including agile practices.
Improved integration between structural models like class diagrams and behavior models
like activity diagrams.
Added the ability to define a hierarchy and decompose a software system into
components and sub-components.
The original UML specified nine diagrams; UML 2.x brings that number up to 13. The
four new diagrams are called: communication diagram, composite structure diagram,
interaction overview diagram, and timing diagram. It also renamed state chart diagrams to
state machine diagrams, also known as state diagrams.
2. Sequence Diagram:
UML sequence diagrams model the flow of logic within your system in a visual manner,
enabling you both to document and validate your logic, and are commonly used for both analysis
and design purposes.
Sequence diagrams are typically used to model:
Usage scenarios. A usage scenario is a description of a potential way your system is
used. The logic of a usage scenario may be part of a use case, perhaps an alternate
course. It may also be one entire pass through a use case, such as the logic described
by the basic course of action or a portion of the basic course of action, plus one or
more alternate scenarios. The logic of a usage scenario may also be a pass through the
logic contained in several use cases. For example, a student enrolls in the university,
and then immediately enrolls in three seminars.
The logic of methods. Sequence diagrams can be used to explore the logic of a
complex operation, function, or procedure. One way to think of sequence diagrams,
particularly highly detailed diagrams, is as visual object code.
The logic of services. A service is effectively a high-level method, often one that can
be invoked by a wide variety of clients. This includes web-services as well as
business transactions implemented by a variety of technologies.
o Class Diagram
Class diagrams are the main building block of any object-oriented solution. It shows the classes
in a system, attributes, and operations of each class and the relationship between each class.
In most modeling tools, a class has three parts. Name at the top, attributes in the middle
and operations or methods at the bottom. In a large system with many related classes, classes are
grouped together to create class diagrams. Different relationships between classes are shown by
different types of arrows.
o Package Diagram
As the name suggests, a package diagram shows the dependencies between different
packages in a system.
Elements
Package: a general-purpose mechanism for organizing model elements & diagrams into groups.
It provides an encapsulated namespace within which all the names must be unique. It is used to
group semantically related elements. It is a namespace as well as an element that can be
contained in other packages' namespaces.
Class: a representation of an object that reflects its structure and behavior within the system. It is
a template from which running instances are created. Classes usually describe the logical
structure of the system.
Interface: a specification of behavior. An implementation class must be written to support the
behavior of an interface class.
Object: an instance of a class. It is often used in analysis to represent an artifact or other item.
Table: a stereotyped class.
o Deployment Diagram
A deployment diagram shows the hardware of your system and the software in that hardware.
Deployment diagrams are useful when your software solution is deployed across multiple
machines with each having a unique configuration.
Exercise:
Purpose
Use case diagram is used during the analysis phase of a project to identify the
system functionality. It describes the interaction of people or external device with
the system under design. It doesn't show much detail, but only summarizes some of
the relationships between use cases, actors, and systems.
Purpose
Sequence diagrams are used in the analysis and design phases. It's an interaction
diagram that details how operations are carried out. Sequence diagram is often
used to depict the chronologically-structured event flow through a use case. It's
good at presenting the communication relationships between objects; and what
messages trigger those communications.
Purpose
Purpose
Purpose
Purpose
Purpose
Purpose
Purpose
Purpose
Package diagrams are used to organize the elements of a model. They are typically
used to depict the high-level organization of a software project. Package diagram
can show both structure and dependencies between sub-systems or modules. They
can be used to group any construct in the UML such as classes, actors, and use
cases.
Purpose
A UML class diagram is not only used to describe the object and information
structures in an application, but also show the communication with its users. It
provides a wide range of usages; from modeling the static view of an application to
describing responsibilities for a system. Composition is a special type of
aggregation that denotes a strong ownership.
Purpose
In UML models, a composite structure diagram depicts the internal structure of
structured classifiers by using parts, ports, and connectors. A structured classifier
defines the implementation of a classifier and can include a class, a component, or
a deployment node. You can use the composite structure diagram to show the
internal details of a classifier and to describe the objects and roles that work
together to perform the behavior of the containing classifier.
Purpose
During the analysis phase of a project, you might create a class diagram to describe
the structure of a system and then create a set of object diagrams as test cases
to.verify the accuracy and completeness of the class diagram.Object diagrams are
used to render a set of objects and their relationships as an instance.
Q: Explain When to design which particular UML Diagram based upon given scenario?
Web Resources:
https://www.uml-diagrams.org
https://www.lucidchart.com
https://www.smartdraw.com/uml-diagram/
https://www.uml-diagrams.org
https://www.lucidchart.com
https://www.smartdraw.com/uml-diagram/
Experiment # 2: Process of Creation of Detailed Design Document
Objective:
To introduce and practice creation of detailed design document.
Tool:
MS Visio/Visual Paradigm
Time:
3Hrs
EXERCISE:
Q: Consider any Software Detailed Design Document and explain process of creation of detailed
design document with the help of flow chart?
Web Resources:
https://en.wikipedia.org/wiki/Software_design_description
https://www.google.com/search?
q=Detailed+Design+Document&tbm=isch&source=univ&sa=X&ved=2ahUKEwjlrpHeqO7nAhXIKewKHZys
CTcQsAR6BAgJEAE
https://www.projectmanagementdocs.com/template/project-documents/system-design-document/
Objective:
To introduce and practice java doc and java Applets
Tool:
Cmd, JDK, Java Applet Viewer
Time:
3Hrs
General (for all OS)
In DOS command prompt do followings to set the environment for java
JAR Files
Unzip scr.zip which will open up the source code of all packages (which collectively called java API)
rt.jar in ..\jdk1.5.0\jre\lib contains all the class files for respecting source files in scr.zip. Unjar this file
and compare.
Similar:
Differences:
1. The main difference if that in src we have files with .java extension
Whereas in rt we have files with .java extension
2. We have META-INF folder in jre which has a file with .MF extension
SRC RT
Com folder contains sun Com contains oracle and sun
Has .java files Rt has .class files
Has a launcher folder Does not have a launcher folder
Has 12 files in com/sun Has 27 files in com/sun
- Org has jcp an extra folder
Create Documentation
2- Copy jdk folder from C drive and paste it in your current directory
3- Open jdk folder and goto Bin
4- Create a file Hello.java having “Hello world java code “in Bin folder
5- run the following command to create documentation using javadoc utility.
Working dir>javadoc hello.java
Javadoc is a command-line tool for extracting special comments (called doc comments) from java
source files and generating an easy-to-use HTML file tree containing them. Doc comments begin with
/** and immediately precede a class, interface, constructor, method, or field definition are extracted
and processed
HTML File:
Create Your own package
Java Application
Java Applet
Web Resources:
http://www.skylit.com/javamethods/faqs/createjar.html
https://docs.oracle.com/javase/tutorial/deployment/jar/build.html
https://www.thoughtco.com/building-your-first-java-applet-2034332