SPMP Online Photo Gallery
Short Description
what is online photo gallery? all these questions solved in these document....
Description
Sumit Kumar (1310013)
TABLE OF CONTENTS
1. INTRODUCTION 1.1 Objectives 1.2 Major Function 2. PROJECT ESTIMATE 2.1 Estimation technique used 2.2 Effort, Resource, Cost and Project duration estimate 3. SCHEDULE 3.1 Task Network Representation 3.2 Gantt chat 3.3 PERT chart 4. PROJECT RESOURCE 4.1 People/Staff 4.2 Hardware and Software 4.3 Special resource 5. STAFF ORGANIZING 5.1 Team Structure 5.2 Management reporting 6. RISK MANAGEMENT PLAN 6.1 Risk Analysis 6.2 Risk Identification 6.3 Risk Estimation 7. FLOW CHART 8. DFD’S 8.1 Context level 8.2 Level 1 8.3 Data Dictionary 9. UML DIGRAMS 9.1 Use Case diagram 9.2 Class and Object diagram 9.3 Sequence diagram 9.4 Collaboration diagram 9.5 Activity diagram 9.6 State diagram 9.7 Deployment diagram 9.8 Component diagram
Software Engineering Lab (BTCS-606)
PAGE NO.
2 2 2 4 4 4 5 5 5 6 7 7 7
7 8 8 8 9 9 10 11 12 12 13 14 15 15 16 17 18 19 20 21 22
1
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
1. INTRODUCTION The SPMP (Software Project Management Plan) is created for the e-Hotel Project. The Purpose of this document is to ensure that SWOT analysis have properly been done with respect to the cost and benefit analysis for the Online Photo Gallery project. 1.1 Objectives
Used to store photos for lifetime. Can be shared with public or private. Visitors belonging to access category which has access permission "Write" or “Read” are allowed: to post or download photos.
1.2 Major Functions
User can download or share photos. Guest can view photos which marked as public. User can comment or like any of photos.
Report on Online Photo Gallery: Online Photo Gallery is an online application, which is used to display and Download photos of users. Users can register online for being a member in the photo gallery and each user can upload the photo of their photo under the respective categories. They can host their photo sell for fixed price. Photo lovers have to go to the photo exhibition to collect their favorite photos. But now-a-days they are not getting enough time to get surfing websites for downloading his/her favourite photos. Online Photo Gallery is application software and it is very helpful for the photo lovers and others who want to know the addresses where this kind of photos will we sold. This application helps the end-users to search their photos and they can purchase the selected photos. The end-user can also get the information about the photo exhibition and the respective information about user. Photo Gallery brings you an opportunity to view online categorized photos at our Online Photo Gallery we bring you details of all photos. The Online Photo Gallery is updated daily, so the user can view and buy the latest collection of contemporary photo online from anywhere in the world. You can view and buy the latest photo collection available at the premium section. Proposed system is an Image Gallery. According to designate we can create an account. Our proposed system has the following advantages:
User friendly Interface
Fast access to database 2
Sumit Kumar (1310013)
Less error
Storage Capacity
Software Engineering Lab (BTCS-606)
Some Specifications of project:
User should be able to register and log in. Once user logged in, his Homepage should be seen. On Homepage user should see: o Albums o Specials o Menu o Identification On clicking any of his album user should see album details and images in particular album. On clicking any of the image should be shown with greater resolution and user can download image also. Image and album should have remove option. On clicking it album or image should be removed from database (Only by Admin). Registration: Users can register within a minute and upload their photos. And creates own albums. Login: Users can login after registration or also login via Facebook or Google+ securely with our authorization application. Share: User also shares their photos on Facebook, Twitter, Tumbler and Google+. By clicking on their buttons. Privacy: User can publish their photos Private or Public. Private photos only visible to the uploader and Public visible to all users. Freeware: Users can download or save picture which shared as public. And feel free to comment or rate pictures. Categories: Default pictures categorized in different-different manners such as Games, Nature and Babies etc. Platforms: Website also accessible from smart phones and Tablets with compact features. Premium: Some pictures categorized as specials which guests can’t download they have to register first and then login. Resolutions: Pictures available in different resolutions such as different for HDTv, Desktops and for Smart Phones. User Interface: Online photo gallery website provides users a simplify interface which also provides features such as search. With the help of search user can easily find his favourite photos.
3
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
2. PROJECT ESTIMATE 2.1 Estimation techniques used The COCOMO cost estimation model is used by thousands of software project managers, and is based on a study of hundreds of software projects. Unlike other cost estimation models, COCOMO is an open model, so all of the details are published, including:
The underlying cost estimation equations Every assumption made in the model (e.g. "the project will enjoy good management") Every definition (e.g. the precise definition of the Product Design phase of a project) The costs included in an estimate are explicitly stated (e.g. project managers are included, secretaries aren't)
2.2 Effort, Resource, Cost and Project duration estimate The basic COCOMO equations take the form: Suppose size is 200 KLOC, Organic
2.4(200)
1.05
1.12
Semi-Detached
3.0(200)
Embedded
3.6(200)
1.20
= 626 staff-months = 1,133 staff-months = 2,077 staff-months
Duration = 75% * 12.1 Months=9.1Months Effort Adjustment Factor = EAF = 1.34*1.09 * 1.43 = 2.09 Effort = 2.94 * (2.09) * (8)1.0997 = 60.4 Person-Months Average staffing = (60.4 Person-Months) / (9.1 Months) = 6.7 people
4
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
3. SCHEDULE 3.1 Task network representations A task network, also called an activity network, is a graphic representation of the task flow for a project. It is sometimes used as the mechanism through which task sequence and dependencies are input to an automated project scheduling tool.
Feasibility Study 1.1
H/w and S/w Resources 1.3.1
DFD’s 1.8
Requirement Analysis 1.3
Report created 1.2
Cost Estimated 1.4
Risk Analysis 1.6
Time Duration 1.5
Flowchart 1.7
UML Diagrams 1.9
Finish
3.2 Gantt chat Gantt chart is a special type of bar chart where each bar represents an activity. The bars are drawn along a time line. The length of each bar is proportional to the duration of time planned for the corresponding activity. It is mainly used to allocate resources to activities. The resources allocated to activities include staff, hardware, and software.
Name
February
March
April
Survey Requirements Diagrams Flow charts DFD diagrams UML diagrams
5
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
3.3 PERTT Chart A PERT chart is a graphic representation of a project's schedule, showing the sequence of tasks, which tasks can be performed simultaneously, and the critical path of tasks that must be completed on time in order for the project to meet its completion deadline.
The PERT chart of this application is:
Requirements Analysis 2,5,6
Implementation 5,10,15 Flow chart 4,5,6
Feasibility study 2,4,6
Finish 10,15,20
Information gathered 3,4,5
6
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
4. PROJECT RESOURCE These are those resources which are used to develop this online project. 4.1 People/Staff Project managers cannot, and must not, do everything. They must rely on the project team to complete the project work. They are rely on their resources the major one is Human Resource and some others are machines, printers a room for meetings (to what to do or not), Internet connectivity and servers. 4.2 Hardware and Software Hardware specifications are: One monitor
One keyboard
One mouse
Hard disk 1GB Hard Disk Space
Software specifications are:
O.S. Platform Windows XP /Vista/7/8/8.1 C.MS. Tool Piwigo .Net Framework 3.5 or Later Web Browser like Mozilla Firefox
4.3 Special resource Additional resources: Internet One domain name Hosting from any Internet domain registrar website.
7
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
5. STAFF ORGANIZING The staff hierarchy, in which the departments are revenue consumers, and their managers are responsible for activities that support line functions (such as maintenance, designing). While both hierarchies have their own chains of command, a manager may have direct control over staff employees but a staff manager may have no such power over the line employees. In modern practice, however, the difference in the two hierarchies is not so clear-cut and jobs often have elements of the both types of functions. 5.1 Team Structure Team structure refers to the composition of an individual team or of a multi-team system. Team structure is an integral part of the teamwork process. A properly structured patient team is an enabler for and the result of effective communication, leadership, situation monitoring, and mutual support. A website designer might be working with business managers and network specialists to create a application for presenting internal management information on sales - both as part of the same project.
Project Manager
System Administrator
Technical
Hardware
Interfaces
Software Maintenance
Testing
Enhancements
Conversion
5.2 Management reporting Management reporting is the process of providing agency management with timely, accurate and relevant information that is designed to assist the strategic and operational management of an agency.
8
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
6. RISK MANAGEMENT PLAN A Risk Management Plan is a document that a project manager prepares to foresee risks, estimate impacts, and define responses to issues. It also contains a risk assessment matrix. A risk is "an uncertain event or condition that, if it occurs, has a positive or negative effect on a project's objectives." 6.1 Risk Analysis Risk analysis is a technique used to identify and assess factors that may jeopardize the success of a project or achieving a goal. In the project, there’s a table where you can analyses the risks:
List the potential risks Assign a probability to each risk (1 is low, 5 is high) Assess the severity should the risk occur (1 is low, 5 is high) Give each risk a score (probability times severity)
6.2 Risk Identification In the project plan template, there’s a table where you can analyses the risks:
List the potential risks Assign a probability to each risk (1 is low, 5 is high) Assess the severity should the risk occur (1 is low, 5 is high) Give each risk a score (probability times severity)
6.3 Risk Estimation When estimating a project it is important to understand what stage the project is in as this will determine the level of project estimation accuracy required. For example, if the project is in the initiation stage, the project estimate may have an accuracy of ±50%. Determine the specific effect that each risk may have on your project’s product, schedule, and resource performance. When evaluating these effects, do the following:
Consider the effect of a risk on the total project rather than on just part of it. Taking one week longer than you planned to complete an activity may cause you to miss intermediate milestones (and cause the personnel waiting for the results of that activity to sit idle). Consider the combined effect of related risks. The likelihood that your schedule will slip is greater if three activities on the same critical path have a significant risk of delay rather than just one.
9
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
RISK FACTOR
QUALITATIVE RISK RANKING GUIDELINES LOW
TECHNOLOGY
TIME/SCHEDULE
- Proven state of the art
- Extensive previous facility application
- Little or no previous - Some previous facility or site facility or site application application - Some proof of application testing required
- Unproven/new
- Extensive proof of principle testing required
- Little or no impact - Potential impact from other site programs from other site operations, programs or contractors - Established and - Some new interfaces mature interfaces must be established and and working managed relationships used
- Potential MAJOR impact - Complex/highly from other site operations, engineered or contractors
- No known schedule constraints
- Multiple schedule constraints/compresse d schedule
- Predecessor and successor actions are simple and clearly identified and understood.
LABOR
HIGH
- Conventional/offthe- shelf
- Little or no testing required
INTERFACES
MEDIUM
- Some schedule constraints exist by won't affect completion date
- Multiple and/or complex interfaces required which may include competing objectives
- Assumptions have been validated
- Activities developed only to conceptual level (multiple invalidated assumptions)
-- Low No assumptions to moderatewith regard to performance skill
- Moderate/high skill
- Moderate/high skill
- Resources identified, -committed Readily available and under facility control
- Restricted availability
-Severely restricted availability
- Gradual buildup
- Phased buildup
10
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
7. FLOW CHART: A flowchart is a graphical representation of decisions and their respective results mapped out in individual shapes that were first developed by Herman Goldstine and John von Neumann in the 1940's. Flowcharts provide a step-by-step diagram for mapping out complex situations, such as programming code or troubleshooting problems with a computer. The picture to the right shows an image from Microsoft Visio, a popular program used to design and create flowcharts and diagrams. Flow Chart for Online Photo Gallery:
START
Online Photo Gallery
Categories
Albums
Specials
Menu
Identification
Retrieve Information
End
11
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
8. DFD’s DFD (Data Flow Diagram) A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. DFDs can also be used for the visualization of data processing (structured design). On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process. Level 0 or Context Level A System Context Diagram (SCD) is a diagram that defines the boundary between the system, or part of a system, and its environment, showing the entities that interact with it. This diagram is a high level view of a system. Level 0 for Online Photo Gallery:
Member
Photo Gallery 0
User
Admin
12
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
LEVEL 1 Level 1 DFD’s aim to give an overview of the full system. They look at the system in more detail. Major processes are broken down into sub-processes. Level 1 DFD’s also identifies data stores that are used by the major processes. When constructing a Level 1 DFD, we must start by examining the Context Level DFD. We must break up the single process into its sub-processes. We must then pick out the data stores from the text we are given and include them in our DFD. Level 1 DFD for Online Photo Gallery
Admin
Add Photos 0.1
Create Category 0.2
Change Theme 0.3
Delete Comments 0.4
Remove Users 0.6
Post Comments 0.5
Users
Add Albums 0.7
Like Photos 0.9 Post Comments 0.8
13
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
Data Dictionary A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. Admin Field Name
Data type
Constraint
Description
Admin_id
Number
Primary key
Admin id, Auto generated
Admin_name
Varchar
Not null
Name of Admin
Password
Varchar2
Not null
Login Password for Admin
Contact_no
Number
Not null
Landline or mobile number
Email_id
Varchar2
Not null
Any email id
Field Name
Data type
Constraint
Description
User_id
Number
Primary key
Admin id, Auto generated
User_name
Varchar
Not null
Name of Admin
Password
Varchar2
Not null
Login Password for Admin
Activation_date
Date
Not null
Starting date
Contact_no
Number
Not null
Landline or mobile number
Email_id
Varchar2
Not null
Any email id
User
14
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9 UML DIAGRAMS The Unified Modeling Language (UML) is a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system. 9.1 Use Case diagram A use case is a methodology used in system analysis to identify, clarify, and organize system requirements.. An actor is a role played by a user with respect to the system use. It is possible that the same user may play the role of multiple actors. Each actor can participate in one or more use cases.
Registration
getprofile Guest
View Gallery
Search By Name Admin
Login
Online Photo Gallery Member
15
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.2 Class and Object diagram A class diagram is an illustration of the relationships and source code dependencies among classes in the Unified Modeling Language (UML). In this context, a class defines the methods and variables in an object, which is a specific entity in a program or the unit of code representing that entity. An object diagram in the Unified Modeling Language (UML), is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time.
User + Name
User
Admin + Name
+ E-mail
+ E-mail
+ PhoneNumber
+PhoneNumber +State
+ addpost() + likepost()
+ editpost()
+ commentpost()
+ commentpost() + checkpost() + deletepost() + createcategory()
+ changetheme()
16
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.3 Sequence diagram A Sequence diagram is an interaction diagram that shows how processes operate with one another and what is their order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. The lifeline indicates the existence of the object at any particular point of time. The rectangle drawn on the lifetime is called the activation symbol and indicates that the object is active as long as the rectangle exists.
Admin Browser
Login Login
Login
Dashboard
Online Photo Gallery
View site Add post update
Delete post update Change theme update Create Category update Success
Website Updated
Update apply
17
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.4 Collaboration diagram A Collaboration Diagram is a diagram that shows object interactions organized around the objects and their links to each other. Unlike a Sequence Diagram, a Collaboration Diagram shows the relationships among the objects. Sequence diagrams and collaboration diagrams express similar information, but show it in different ways. It is an interaction diagram that shows, for one system event defined by one Use Case, how a group of objects collaborate with one another. Unlike a Sequence Diagram, a collaboration diagram shows relationships among object roles and it does not express time as a separate dimension. Therefore, the messages in a collaboration diagram are numbered to indicate their sequence.
ViewUsers 4. verifyLogin() 8. showUserList()
3. Login() 6. selectOption()
ViewUsersUI
2. showLogin() 5.showOptions()
Admin
Admin
User
18
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.5 Activity diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes (i.e. workflows). Activity diagrams show the overall flow of control. The below is the Registration activity diagram for Online Photo Gallery website is to provide details about how new user or admin registration to the website.
[Enter Username and Password]
Get Details
[Submit]
Error
Validate Data
no Rejected
yes or
Accepted
19
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.6 State diagram A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction. Many forms of state diagrams exist, which differ slightly and have different semantics.
New photo to be uploaded More new photos
AddDiscussionBoardPhoto
Modified items need uploaded
UpdateListPhotos No new discussion photos. Modified items need uploading
20
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.7 Deployment diagram The deployment diagram specifies a set of constructs that can be used to define the execution architecture of systems that represent the assignment of software artifacts to nodes. Nodes are connected through communication paths to create network systems of arbitrary complexity. Nodes are typically defined in a nested manner, and represent either hardware devices or software execution environments. Artifacts represent concrete elements in the physical world that are the result of a development process.
User
Workstation
Browser
Web Server
Presentation Layer
Database Layer
21
Sumit Kumar (1310013)
Software Engineering Lab (BTCS-606)
9.8 Component diagram The Component Diagram helps to model the physical aspect of an Object-Oriented software system. It illustrates the architectures of the software components and the dependencies between them. Those software components including run-time components, executable components also the source code components.
Web Browser
User
Database Server
MySQL Database
Web Server
Presentation Layer
Database Interface
Log File
22
View more...
Comments