CHAPTER - 1
1.1 INTRODUCTION TO PROJECT
It is well known fact that software companies undertake huge projects, more than at a time. Hence there is a profound need for the organizations to manage all the projects effectively and also ensure that projects cycle goes on smoothly and they are completed on time. During the life time of a project, the organization has to commemorate all the projects. This tool makes it easier for the organization to monitor the projects. It maintains the records and tracks various parameters that influence software project development to take decisions at various stages of the product development. This product will assist the organization in maintaining records of every project it undertakes. All the information relevant to the projects like size, time, effort, departments involved, etc is maintained by this tool. Throughout this project dealt with the three modules-Masters, Transactions, Reports. Masters is a place where we maintain the record of the entire project undertaken, the project employee involved with the project. Transactions is a place where we carry out required operations with respect to parameters like size estimate, effort estimate, reports generated, for the operations we committed, in the reports module. Problem Definition Manual system uses huge amounts papers and stores. Difficulty in tracking and retrieving data from the abundant papers is quite difficult. Time consuming process. Objective 1. Define and highlight importance of software project management. 2. Describe the software project management activities. 3. Gives details of project managers and other individuals involved in software 1
About Software Project Management Tool
project. Planning oversight in the implementation of the software project management process.
• • • •
PURPOSE OF THE PROJECT
Manual work is reduced. Retrieval and access of information is easy. Transactions are processed quickly. Easy tracking and communication of exigencies in monetary transactions
CHAPTER - 2
After analyzing the requirements of the task to be performed, the next step
is to analyze the problem and understand its context. The first activity in the phase is studying the existing system and other is to understand the requirements and domain of the new system. Both the activities are equally important, but the first activity serves as a basis of giving the functional specifications and then successful design of the proposed system. Understanding the properties and requirements of a new system is more difficult and requires creative thinking and understanding of existing running system is also difficult, improper understanding of present system can lead diversion from solution.
The model that is basically being followed is the WATER FALL
MODEL, which states that the phases are organized in a linear order. First of all the feasibility study is done. Once that part is over the requirement analysis and project planning begins. If system exists one modification and addition of new module is needed, analysis of present system can be used as basic model. The design starts after the requirement analysis is complete and the coding begins after the design is complete. Once the programming is completed, the testing is done. In this model the sequence of activities performed in a software development project are: 1 Requirement Analysis 2 Project Planning 3 System design 4 Detail design 5 Coding 3
STUDY OF THE SYSTEM
GUI’S In the flexibility of the users the interface has been developed a graphics 4
.1: Water Fall Model
Changed Requirements Communicated Requirements
Executable Software Modules
Integrated Software Product Integration
Delivered Software Product
Fig 2. WATER FALL MODEL was being chosen because all requirements were known beforehand and the objective of our software development is the computerization/automation of an already existing manual working system’s system. Some of the qualities of spiral model are also incorporated like after the people concerned with the project review completion of each of the phase the work done. The output of each phase is to be consistent with the overall requirement of the system.6 Unit testing 7 System integration & testing Here the linear ordering of these activities is critical at the end of the phase and the output of one phase is the input of other phase.
2. organizations are increasingly managing their activities and processes as projectsin essence. projecting their business –to monitor performance more closely and make better business decision above their overall work portfolio. The primary purpose of any tool is to improve productivity. organizations can respond with greater ability to the demands of fast changing business environment. Administrative user interface 2.
2. Making strategic goals or reality requires technology that is robust enough to support your core business and yet flexible enough to accommodate your existing processes.5
. decrease costs and increase Quality.concept in mind. The operational user interface also helps the ordinary users in managing their own information in a customized manner as per the assisted flexibilities. The operational or generic user interface The administrative user interface concentrates on the consistent information that is practically. reduce cycle’s times. associated through a browses interface. By planning and tracking projects with clarity and precession. Data deletion and Date updating along with the extensive data search capabilities. part of the organizational activities and which needs proper authentication for the data collection. The GUI’S at the top level have been categorized as 1.4
EXISTING SYSTEM AND DISADVANTAGES
In a competitive business climate organizations ability to efficiently align
resources and business activities with strategic objectives can mean the difference between succeeding and just surviving. The Microsoft office Enterprise Project Management (EPM) is one of the existing tools that are helpful for software project management. The interfaces help the administrations with all the transactional states like Data insertion. To achieve strategic alignment. The operational or generic user interface helps the users upon the system in transactions through the existing data and required services.
The entire process is built upon just one or two parameters which do not gives us complete and desired results. So we need a system where we can deliver the correct results that would ultimately lead to a position where the overall cost and time will be consolidated. outputs and major functions of the system are as follows
Inputs: • • • • Sellers can register themselves by providing all their details like address and the site photograph. The existing tools do not consider all the factors that affect a project directly.6
INPUT AND OUTPUT
The main inputs. Hence the organization which implements such a process can produce better results. skills. and technologies to project activities to meet project requirements.For any software project the primary parameters that should be taken into account are time. Buyer can view all details about sites like apartments. Buyers can register themselves by providing all necessary details. Seller can receive their user Id and site Id. buildings etc Outputs:
. tools. and effort. size. Project management is the application of knowledge.
Processor RAM Hard Disk : Pentium III : 256MB : 40GB
.CHAPTER .1 SOFTWARE REQUIREMENTS
Operating System Programming Language Front End Tool Web Applications User Interface Client side Script Back End Tool : Windows : Java : Java Server Pages : Jdbc.3
3. Servlets : HTML : Java script : Oracle 9i
It is a web based user interface for audit workflow at NIC-CSD. the likelihood the system will be useful to the organization. The system is feasible if they are unlimited resources and infinite time. There are aspects in the feasibility study portion of the preliminary investigation: 1 Technical Feasibility 2 Operation Feasibility 3 Economical Feasibility
4. The current system developed is technically feasible. ease of access and data security? Earlier no system existed to cater to the needs of ‘Secure Infrastructure Implementation System’. Thus it provides an easy access to the users.4
Preliminary investigation examine project feasibility. Operational and Economical feasibility for adding new modules and debugging old running system.CHAPTER . The database’s purpose is to 8
The technical issue usually raised during the feasibility stage of the
investigation includes the following: 1 Does the necessary technology exist to do what is suggested? 2 Do the proposed equipments have the technical capacity to hold the data required to use the new system? 3 Will the proposed system provide adequate response to inquiries. The main objective of the feasibility study is to test the Technical. regardless of the number or location of users? 4 Can the system be upgraded if developed? 5 Are there technical guarantees of accuracy.
establish and maintain a workflow among various entities in order to facilitate all concerned users in their various capacities or roles. 4. Java byte code . including: A high level language – the Java language is a high level one that at a glance looks very similar to C and C++ but offers many unique features of its own.1. such as Sun's javac. The work for the project is done with the current equipment and existing software technology.create. Java Virtual Machine (JVM) – a program. The software and hard requirements for the development of this project are not many and are already available in-house at NIC or are available as free as open source. Necessary bandwidth exists for providing a fast feedback to the users irrespective of the number of users using the system.a compiler. Java encompasses several parts.1 About Java: The term Java actual refers to more than just a particular language like Core Pascal. Permission to the users would be granted based on the roles specified. Therefore. transforms the Java language source code to byte code that runs in the JVM. such as Sun's java. reliability and security. that runs on a given platform and takes the byte code programs as input and interprets them just as if it were a physical processor executing machine code. it provides the technical guarantee of accuracy.
all data must be declared an explicit type). Object Oriented o o o o o Object oriented throughout . including main ().1 Features of Java: Platform Independence o The Write-Once-Run-Anywhere ideal has not been achieved (tuning for different platforms usually required).memory management handled by JVM No memory pointers A program runs inside the virtual machines and box. but closer than with other languages.Fig 4.1. Robust o Exception handling built-in. local variables must be initialized. Code is compiled to byte codes that are interpreted by Java virtual machines (JVM). The two steps of compilation and interpretation allow for extensive code checking and improved security.1: Architecture of Java Virtual Machine
4. An extensive class library available in the core language packages.1.no coding outside of class definitions. Several dangerous features of C & C++ eliminated o o o o o o o o No memory pointers No preprocessor Array index limit checking Automatic garbage collection . Array index limit checking Code pathologies reduced by Compiler/Interpreter Combo
Automatic Memory Management Security
. strong type checking (that is. This provides portability to any machine for which a virtual machine has been written.
confines objects to unique namespaces.2 Java server pages: Introduction to JSP: JSP (Java Server Pages) technology provides a simplified. Threading o o o Lightweight processes.SecurityManager" class. o o o New classes can be loaded while a program is running.1. there is no need to recompile code that uses classes in those libraries.lang. Linking is done on the fly. Even if libraries are recompiled.
byte code verifier .
Dynamic Binding The linking of data and methods to where they are located is done at run-time. Can take advantage of multiprocessors where available Great for multimedia displays.1. which uses static binding. This can result in fragile classes for cases where linked code is changed and memory pointers then point to the wrong addresses Good Performance o Interpretation of byte codes slowed performance in early versions. but advanced virtual machines with adaptive and just-in-time compilation and other techniques now typically provide performance up to 50% to 100% the speed of C++ programs.
4. fast way to create 11
. can easily be spun off to perform multiprocessing.determines what resources a class can access such as reading and writing to the local disk.checks classes after loading Class loader . for example. This differs from C++. called threads. Security manager . Prevents loading a hacked "java.
2: Block Diagram for JSP
. Every JSP page will have a corresponding servlet which is generated by ‘JSP Engine’ (which is a part of web container and itself is a servlet) Corresponding servlet for JSP is generated only once when JSP is requested for the first time. JSP is being turned into a Java file. it will be re-compiled again. This compilation only happens once. JSP simply puts Java inside HTML pages. the file doesn't take long to load anymore. JSP technology enables rapid development of web-based applications that are server-independent and platform-independent.
IS VAL ID
Fig 4. Every time you change the JSP file. compiled and loaded.dynamic web content. so after the first load.
Using JDBC allows you to write one application that can send SQL statements to different database systems. and determining configuration information. Using JDBC. Because JDBC applications are written in Java. an application can access a variety of databases and run on any platform with a Java Virtual Machine. The JDBC API makes it possible to do three things: • • Establish a connection with a database or access any tabular data source Send SQL statements 13
.1. such as running queries. which are evaluated at run time for processing the request TAG Script let tags Expression tags Declaration tags Comments
outside of the service() method <%--comment-. ignored by jsp <!-. The JDBC API defines a set of Java interfaces that encapsulate major database functionality. SQL is the standard language for accessing relational databases. processing results.
Table 4. It isn't necessary to write separate applications to access different database systems (Oracle and Sybase.%> A jsp comment. TYPE OF SYNTAX <% code %> <%= and %> <%! Java code %> DESCRIPTION These are inserted into the servlets service () method encloses java expressions.3 Introduction to JDBC: JDBC (Java Database Connectivity) is an API developed by Sun Microsystems that provides a standard way to access data using the Java programming language.1.Comment --> to script let translator A HTML comment.The following are the jsp tags that are used for the implementation of the current project. applications work on any platform.1: The used JSP tags 4. for example).
there are four types of JDBC drivers in use: • • • • Type 1: JDBC-ODBC bridge Type 2: partial Java driver Type 3: pure Java driver for database middleware Type 4: pure Java driver for direct-to-database
In this project we are using Type4 driver which provides best database connectivity for internet based application.
Client Machine Netprotocol/ all-Java driver
Server Machine Data Base Server
Fig 4. and so on). a Web application archive usually contains other files. In addition to Web components. Client-side classes (applets and utility classes). including the following: • • • • Server-side utility classes (database beans and so on). Level 4 drivers are completely implemented in Java to achieve platform independence and eliminate deployment administration issues. Of the these classes conform to the JavaBeans component architecture Static Web content (HTML. The 14
. image.3: Native-protocol/all-Java driver Web Application Archives: Web clients are packaged in web application archives.•
Process the results
Jdbc Drivers: Today. Native-protocol/all-java driver: The native-protocol/all-Java driver (JDBC driver type 4) converts JDBC calls into the vendor-specific database management system (DBMS) protocol so that client applications can communicate directly with the database server. and sound files.
The top-level directory of a WAR is the document root of the application.
xml: The Web application deployment descriptor Tag library descriptor files.2 About Oracle: Oracle is a relational database management system.document root is JSP pages. 4.1 Distinct features of oracle: Oracle is Portable: The Oracle RDBMS is available on wide range of platforms ranging from PCs to super computers and as a multi user loadable module for Novel NetWare. Oracle is one of many database servers based on RDBMS model.2. With oracle cooperative server technology we can realize the benefits of open. which organizes data in the form of tables.1. client-side classes and archives. The document root contains a subdirectory called WEB-INF.war. and static Web resources are stored. utility Classes and JavaBeans components. which contains the following files and directories. Classes: A directory that contains server-side classes: servlets. data integrity and data manipulation. to deliver unmatched performance. on all hardware architecture. 4. Oracle
. Oracle is Compatible: Oracle commands can be used for communicating with IBM DB2 mainframe RDBMS that is different from Oracle that is Oracle compatible with DB2. if you develop application on system you can run the same application on other systems without any modifications. Lib: A directory that contains JAR archives of libraries (tag libraries and any utility libraries called by server-side classes). price performance and scalability. • • • • web. War file is created like this way Jar cvf archiveName.1. Oracle makes efficient use of all systems resources. relational systems for all the applications. which manages a seer of data that attends three specific things-data structures.
Managing data concurrency. Ensuring data integrity and data security. Through normalization a collection of data in a record structure is replaced by successive record structures that are simpler and more predictable and therefore more manageable.RDBMS is a high performance fault tolerant DBMS.
Database Design: Database design is an important phase in designing a system. Performance is achieved by eliminating CPU. Normalization: Normalization is a process of simplifying the relationship between data elements in a record. Data independence. 4.2 Features of oracle: Most popular RDBMS in the market because of its ease of use
• • • • •
Client/server architecture. During this phase care should be taken to avoid redundancy of information storing into a database.
. memory and operating system bottlenecks and by optimizing the Oracle DBMS server code to eliminate all internal bottlenecks. DB procedures.1. I/O. since it leads to wastage of memory space. Parallel processing support for speed up data entry and online transaction processing used for applications.2. functions and packages. Multithreaded Server Architecture: Oracle adaptable multithreaded server architecture delivers scalable high performance for very large number of users on all hardware architecture including symmetric multiprocessors (sumps) and loosely coupled multiprocessors. which is specially designed for online transaction processing and for handling large database applications. For this purpose a normalization technique has been applied here exhaustively to design the databases.
repetition of data in the database. The process is used to handle the problems that can arise due to data redundancy i. A relation is said to be in first normal form if the values in the relation are atomic for every attribute in the relation. maintain data integrity as well as handling problems that can arise due to insertion.e. Update anomaly . a repeating
. Decomposing is the process of splitting relations into multiple relations to eliminate anomalies and maintain anomalies and maintain data integrity.Inability to add data to the database due to absence of other data. group. updating. Third Normal Form 17 By this we mean simply that no attribute value can be a set of values or. the recurrence of a data item or group of data items with in a record is actually another relation. A relation is said to be in second Normal form is it is in first normal form and it should satisfy any one of the following rules. To do this we use normal forms or rules for structuring relation. Insertion anomaly . First Normal Form A repeating group. deletion anomalies. Deletion anomaly .Data inconsistency resulting from data redundancy and partial update Normal Forms: These are the rules for structuring relations that eliminate anomalies. Second Normal Form Second normal form is achieved when a record is in first normal form and each item in the record is fully dependant on the primary key distinguishes the records.Unintended loss of data due to deletion of other data. as it is sometimes expressed.It is a process of converting a relation to a standard form. 1) Primary key is a not a composite primary key 2) No non key attributes are present 3) Every non key attribute is fully functionally dependent on full set of primary key.
the management issues and user requirements have been 18
. Transitive Dependency: If two non key attributes depend on each other as well as on the primary key then they are said to be transitively dependent. The above normalization principles were applied to decompose the data in multiple tables thereby making the data to be maintained in a consistent state. Operational feasibility aspects of the project are to be taken as an important part of the project implementation. Beforehand.2
Proposed projects are beneficial only if they can be turned out into
information system. A relation is said to be in third normal form if their exits no transitive dependencies.Third normal form is achieved when transitive dependencies are removed from a record design. That will meet the organization’s operating requirements. Some of the important issues raised are to test the operational feasibility of a project includes the following: 1 Is there sufficient support for the management from the users? 2 Will the system be used and work properly if it is being developed and implemented? 3 Will there be any resistance from the user that will undermine the possible application benefits? This system is targeted to be in accordance with the above-mentioned issues. view or index(DDL) INSERT-Insert new data into a database table(DML) SELECT-Retrieve data from a database table(DML) UPDATE-Change the values of some data items in the database table (DML)
4. List of SQL statements that can be issued against an Oracle database schema are: • • • • • • • • ALTER-Change an existing table. view or index definition(DDL) COMMIT-Make all recent changes permanent(DML-transitional) CREATE-Create new database objects such as tables or views DELETE-Delete a rows from a database table(DML) DROP-Drop a database object such as tables.
A system can be developed technically and that will be used if installed
must still be a good investment for the organization.taken into consideration.1 Input design: 19
5. So there is no question of resistance from the users that can undermine the possible application benefits.
4. Since the interface for this system is developed using the existing resources and technologies available at NIC. In the economical feasibility. It does not require any addition hardware or software. The system is economically feasible. Financial benefits must equal or exceed the costs. The well-planned design would ensure the optimal utilization of the computer resources and would help in the improvement of performance status. There is nominal expenditure and economical feasibility for certain.1.
5. the development cost in creating the system is evaluated against the ultimate benefit derived from the new systems.
To conclude about the input media consideration has to be given to. which are user communications with the system. To achieve the highest possible level of accuracy. Input media: At this stage choice has to be made about the input media. which are computer department’s communications to the system? Interactive. The main objective during the input design is as given below: To produce a cost-effective method of input. which are inputs entered during a dialogue. Type of input Flexibility of format Speed Accuracy Verification methods Rejection rates Ease of correction 20
. Internal inputs. Inputs can be categorized as follows: External inputs. Input stages: The main input stages can be listed as below: Data recording Data transcription Data conversion Data verification Data control Data transmission Data validation Data correction Input types: It is necessary to determine the various types of inputs. To ensure that the input is acceptable and understood by the user.Input design is a part of overall system design. Operational. which are prime inputs for the system.
the keyboard can be considered to be the most suitable input device. whose destination is within organization and they are the user’s main interface with the computer. Output Definition: The outputs should be defined in terms of the following points: Type of the output Content of the output Format of the output Location of the output Frequency of the output Volume of the output Sequence of the output It is not always desirable to print or display data as it is held on a computer.1.2 Output design: Outputs from computer systems are required primarily to communicate the results of processing to users. it can be said that most of the inputs are of the form of internal and interactive. 4 Interface outputs. 5. Storage and handling requirements Security Easy to use Portability Keeping in view the above description of the input types and input media. which involve the user in communicating directly. whose destination is outside the organization 2 Internal Outputs. They are also used to provide a permanent copy of the results for later consultation. Output Media: 21
. As Input data is to be the directly keyed in by the user. For Example Will decimal points need to be inserted Should leading zeros be suppressed. The various types of outputs in general are: 1 External Outputs. 3 Operational outputs whose use is purely within the computer department. It should be decided as which form of the output is the most suitable.
In the next stage it is to be decided that which medium is the most appropriate for the output. the format for the output is taken from the outputs. Error detection: Even though every effort is make to avoid the occurrence of errors. The standard printer is to be used as output media for hard copies. Keeping in view the above description the project is to have outputs mainly coming under the category of internal outputs.1. the system immediately prompts the user and the user has to again key in the data and the system will accept the data only if the data is correct. 5. 3 The response time required. these types of errors can be discovered by using validations to check the input data. still a small proportion of errors are always likely to occur. which are currently being obtained after manual processing. 5. Keeping in view these outputs. Data validations have been included in the system in almost every area where there is a possibility for the user to commit errors. 4 The location of the users 5 The software and hardware available. The system will not accept invalid data. 2 The need for a hard copy. Validations have been included where 22
. Whenever an invalid data is keyed in. This can be achieved only by means of careful control each time the data is handled.3 Error Avoidance and Detection: At this stage care is to be taken to ensure that input data remains accurate form the stage at which it is recorded up to the stage in which the data is accepted by the system. The main outputs desired according to the requirement specification are: The outputs were needed to be generated as a hot copy and as well as queries to be viewed on the screen.1. The main considerations when deciding about the output media are: 1 The suitability for the device to the particular application.4 Data validation: Procedures are designed to detect errors in data at a lower level of detail.
it is possible to design a system. The requirement specification for any system can be broadly stated as given below: The system should be able to interface with the existing system The system should be accurate The system should be better than the existing system The existing system is completely dependent on the user to perform all the duties. which will fit into required environment. It rests largely in the part of the users of the existing system to give the requirement specifications because they are the people who finally use the system.
. Requirement specification plays an important part in the analysis of a system.
Performance is measured in terms of the output provided by the
application. This is because the requirements have to be known during the initial stages so that the system can be designed according to those requirements.
5. In other words the system has been designed to communicate effectively with the user. It is very difficult to change the system once it has been designed and on the other hand designing a system.3
NUMBER OF MODULES
Administrator process Project manager view Report generation Display Status Initially to sign in the user whether it is administrator or project manager he /she are to use his username and password. is of no use.necessary. Only when the requirement specifications are properly given. which does not cater to the requirements of the user. The system has been designed with popup menus. The system is designed to be a user friendly one.
Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. Design is the first step in the development phase for any engineered product or system. The designer’s goal is to produce a model or representation of an entity that will later be built. Beginning, once system requirement have been 24
specified and analyzed, system design is the first of the three technical activities -design, code and test that is required to build and verify software. The importance can be stated with a single word “Quality”. Design is the place where quality is fostered in software development. Design provides us with representations of software that can assess for quality. Design is the only way that we can accurately translate a customer’s view into a finished software product or system. Software design serves as a foundation for all the software engineering steps that follow. Without a strong design we risk building an unstable system – one that will be difficult to test, one whose quality cannot be assessed until the last stage. During design, progressive refinement of data structure, program structure, and procedural details are developed reviewed and documented. System design can be viewed from either technical or project management perspective. From the technical point of view, design is comprised of four activities – architectural design, data structure design, interface design and procedural design.
SYSTEM WORKFLOW - CONTEXT DIAGRAM
Login Login Change Password Submits Details View Allocated Project
A D M I N I S T R A T O R
Add Manager Allocate Project
Software Project Management Tool
Select Technology And Team Members
P R O J E C T M A N A G E R
View Project Status View All Projects
Assign task to Team Members View Project Status
L o g i n
V i e w T a s k
U p d a t e S t a t u s
L o g O u t
Fig 6.1: System Work Flow – Context Diagram
6.3.1 Use-Case diagrams:
3.2 Class diagram:
<<uses>> <<uses>> <<uses>> <<uses>> View project status <<uses>> Administrator <<uses>> View all projects <<include>> login <<uses>> <<uses>> <<uses>> <<uses>> <<uses>> <<uses>> Assigns task Select technology and team members Changes password Id number View project details <<include>> Adds manager Allocates project <<include>>
<<uses>> Team Member <<uses>>
Views project Status Login Views task
Updates Projects Status
Fig 6.2: Use-Case Diagram 6.
3 Activity diagram: 28
.3.3: Class Diagram
6.Administrator Project Manager + Project Manager Id + New Project +Project Details + Project Id + Team Id
+ Adds new manager () +Adds new project ()
+Views Project () +Build Team
Team Member +Task Id +Project Status
+Views Task () +Update Project Status
Verif y YES
Project Manager Change Password
Project Manager Change Password View Task
Administrator Adds New Manager
Views Project Select Technology and Team Members
Adds New Project
View Project Details Update Project Status
Views Project Status
View Project Status
Fig 6.4: Activity Diagram
E – R DIAGRAMS
5: Administrator E-R Diagram
. The set of primary components that are identified by the ERD are Data object attributes relationships. Relationships various types of indicators. The entity Relationship Diagram (ERD) depicts the relationship between the data objects.
The primary purpose of the ERD is to represent data objects and their
Assigns project Manager Id Manager name Adds project
Views Project Details
Fig 6. which not only specifics the existential entities but also the standard relations through which the system exists and the cardinalities that are necessary for the system state to continue. The ERD is the notation that is used to conduct the date modeling activity the attributes of each data object noted is the ERD can be described resign a data object descriptions. The relation upon the system is structure through a conceptual ER-Diagram.
DATA FLOW DIAGRAMS
1) A Data Flow has only one direction of flow between symbols. It may flow in 31
.Build team Change Password Select technology
View Project Status
Fig 6.6: Project Manager E-R Diagram
Views Task Update Project Status
Fig 6.7: Team Member E-R Diagram
2) Data cannot move directly from an outside source to a data store. Data cannot move directly from a source to sink it must be moved by a process. Source or Sink The origin and/or destination of data. a process must move data. The later is usually indicated however by two separate arrows since these happen at different type. 3) A data flow cannot go directly back to the same process it leads.both directions between a process and a data store to show a read before an update. A data flow has a noun phrase label more than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package. 4) A Data flow to a data store means update (delete or change). Data Store 1) Data cannot move directly from one data store to another data store. must move data from the source and place the data into data store 3) A data store has a noun phrase label. A source and /or sink has a noun phrase land
. which receives. There must be at least one other process that handles the data flow produce some other data flow returns the original data into the beginning process. 2) A join in DFD means that exactly the same data comes from any of two or more different processes data store or sink to a common location. a process. 5) A data Flow from a data store means retrieve or use.
9: Project Manager Data Flow Diagram
Login Details Apartment Add Manager Add New Project
Project Manager Data Base
Project Data Base Project
Fig 6.8: Administrator Data Flow Diagram
Manager Details Views Project Project
Projects Data Base
Task Data Base Adds Team Members Team Data Base
Task Views Task
Buyer Details Apartment Views Apartment Views Building Sitereg Data Base Building
Sitereg Data Base
Fig 6.1: pmanager
Data Type VARCHAR2(10) VARCHAR2(20) VARCHAR2(15)
Column Name PID
Constraint NOT NULL 34
Data Type VARCHAR2(10)
. The below tables are normalized to avoid any anomalies during the course of data entry.
Column Name PMID PMNAME PASSWORD
Constraint NOT NULL Table 6.6
After carefully understanding the requirements of the client the entire data
storage requirements are divided into tables.10: Team Member Data Flow Diagram
5: tt (select group) Column Name RID TID RNAME Data Type VARCHAR2(10) VARCHAR2(10) VARCHAR2(20) Table 6.PNAME PMID PDURATION PCOST DIT STAGE DOC Table 6.2: project
VARCHAR2(25) VARCHAR2(10) NUMBER(3) NUMBER(12) DATE VARCHAR2(15) DATE
Column Name RID RNAME TECHNO REXP STATUS PASSWORD
Constraint NOT NULL
Data Type VARCHAR2(10) VARCHAR2(20) VARCHAR2(10) NUMBER(3) VARCHAR2(15) VARCHAR2(10)
Table 6.6: ttt (update task status) 35 Constraint
.4: Task Column Name TID PNAME TECHNO TSIZE PMID Constraint NOT NULL Data Type VARCHAR2(10) VARCHAR2(20) VARCHAR2(10) NUMBER(3) VARCHAR2(10)
Table 6.3: source Column Name TAID RID PMID DOA DESCRIP PRIORITY EHOC STATUS Constraint Data Type VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) DATE VARCHAR2(400) VARCHAR2(15) NUMBER(3) VARCHAR2(15)
1.1 NUMBER OF MODULES
Administrator process Project manager view Report generation Display Status Initially to sign in the user whether it is administrator or project manager he /she are to use his username and password. 7.1 Module description: 36
time.Administration process: In this process Administrator will add a new project to the existing list of projects . and departments involved. This shows the days left for completion if not completed. User-initiated interfaces: User initiated interfaces fall into tow approximate classes: 1. Project manger can also view the present status of all the projects under him. else gives information in response to the date of checking status. the computer selects the next stage in the interaction. All the information relevant to the projects like size. 2. The administrator can add new manager to the list of managers. Information is displayed and the user response of the computer takes action or displays further information. User initiated interface the user is in charge. Command driven interfaces: In this type of interface the user inputs commands or queries which are interpreted by the computer. etc is maintained by this tool. Computer initiated interfaces In the computer initiated interfaces the computer guides the progress of the user/computer dialogue.
7. Project manager view: In this the project manager can assign a project to a group with some team id where this team of crew will be set only for that project. Display Status: This process is for checking the project status at the time of project construction. effort. This product will assist the organization in maintaining records of every project it undertakes.Here he /she can also open an existing project for viewing the details of projects along with the teams working for that project including its present status. 37
USER INTERFACE DESIGN
It is essential to consult the system users and discuss their needs while
designing the user interface: User interface systems can be broadly classified as: 1. controlling the progress of the user/computer dialogue. In the computer-initiated interface.
Right from the start the system is going to be menu driven. the opening menu displays the available options. 2. procedures and people against unauthorized use or natural Disaster is known as System Security. In this way every option leads the users to data entry form where the user can key in the data. Forms oriented interface: The user calls up an image of the form to his/her screen and fills in the form. The forms oriented interface is chosen because it is the best choice. Computer-initiated interfaces: The following computer – initiated interfaces were used: 1. Questions – answer type dialog system where the computer asks question and takes action based on the basis of the users reply. of alternatives. This application must be able to produce output at different modules for different inputs. Choosing one option gives another popup menu with more options.
8. Error message design: The design of error messages is an important part of the user interface design. data. The menu system for the user is presented with a list of alternatives and the user chooses one. System Security can be divided into four related issues: 1 Security 2 Integrity 3 Privacy 38
.2. software. As user is bound to commit some errors or other while designing a system the system should be designed to be helpful by providing the user with information regarding the error he/she has committed.1 INTRODUCTION
The protection of computer based resources that includes hardware.
unfair or excessive dissemination of information about it. Client side validation saves server time and load to handle invalid data.
8.4 Confidentiality System Security refers to the technical innovations and procedures applied to the hardware and operation systems to protect against deliberate or accidental damage from a defined threat. Data Security is the protection of data from loss. System Integrity refers to the power functioning of hardware and programs. disclosure. Confidentiality is a special status given to sensitive information in a database to minimize the possible invasion of privacy. The system employees two types of checks and controls:
System security refers to various validations on data in form of checks and
Client Side Validation Various client side validations are used to ensure on the client side that only valid data is entered. modification and destruction. It is always important to ensure that only valid data is entered and only valid operations are performed on the system. 2 Forms cannot be submitted without filling up the mandatory data so that manual mistakes of submitting empty fields that are mandatory can be sorted out at the client side to save the server time and load. Some checks imposed are: 1 VBScript in used to ensure those required fields are filled with suitable data only. 3 Tab-indexes are set according to the need and taking into account the ease of 39
. appropriate physical security and safety against external threats such as eavesdropping and wiretapping. Maximum lengths of the fields of the forms are appropriately defined.2
SECURITY IN SOFTWARE
controls to avoid the system from failing. Privacy defines the rights of the user or organizations to determine what information they are willing to share with or accept from others and how the organization can be protected against unwelcome. It is an attribute of information that characterizes its need for protection.
9. Some of the server side checks imposed is: 1 Server side constraint has been imposed to check for the validity of primary key and foreign key. The underlying motivation of program 40
. constraints on several restricted operations are imposed. 4 Using server side validation. Server side checks are necessary to save the system from failing and intimating the user that some invalid operation has been performed or the performed operation is restricted.1 INTRODUCTION
Software testing is a critical element of software quality assurance and represents the ultimate review of specification. Access permissions to various types of users are controlled according to the organizational structure. A primary key value cannot be duplicated. passwords and permissions are controlled o the server side. Username. design and coding. Any attempt to duplicate the primary value results into a message intimating the user about those values through the forms using foreign key can be updated only of the existing foreign key values. Server Side Validation Some checks cannot be applied at client side. In fact. 3 Various Access Control Mechanisms have been built so that one user may not agitate upon another. 2 User is intimating through appropriate messages about the successful operations or exceptions occurring at server side. testing is the one step in the software engineering process that could be viewed as destructive rather than constructive. Testing is the set of activities that can be planned in advance and conducted systematically. A strategy for software testing integrates software test case design methods into a well-planned series of steps that result in the successful construction of software. Only permitted users can log on to the system and can have access according to their category.user while working with the system.
White Box Testing This type of testing ensures that 1 All independent paths have been exercised at least once 2 All logical decisions have been exercised on their true and false sides 3 All loops are executed at their boundaries and within their operational bounds 4 All internal data structures have been exercised to assure their validity. functions. where the focus is on the design and the construction of the software architecture. Moving inward along the spiral. we come to design and finally to coding.
STRATEGIC APPROACH TO SOFTWARE TESTING
The software engineering process can be viewed as a spiral. Initially
system engineering defines the role of software and leads to software requirement analysis where the information domain. constraints and validation criteria for software are established. where the software and other elements are tested as a whole. Finally we arrive at system testing. A strategy for software testing may also be viewed in the context of the spiral.we have 41
. the module. To follow the concept of white box testing we have tested each form . behavior. Unit testing begins at the vertex of the spiral and concentrates on each unit of the software as implemented in source code.testing is to affirm software quality with methods that can economically and effectively apply to both strategic to both large and small-scale systems. To develop computer software we spiral in along streamlines that decrease the level of abstraction on each turn.3
Unit testing focuses verification effort on the smallest unit of software
design. Talking another turn on outward on the spiral we encounter validation testing where requirements established as part of software requirements analysis are validated against the software that has been constructed. Testing progress by moving outward along the spiral to integration testing. 1.
9. performance. The unit testing we have is white box oriented and some modules the steps are conducted in parallel.
Data Flow Testing This type of testing selects the path of the program according to the location of definition and use of variables. 2 All the loops were skipped at least once. N is the number of flow graph nodes. The main steps in deriving test cases were: Use the design of the code and draw correspondent flow graph. 3 For nested loops test the inner most loop first and then work outwards. just above them and just below them. Loop Testing In this type of testing all the loops are tested to all the limits possible. The definition-use chain method was used in this type of testing. P is the number of predicate nodes.created independently to verify that Data flow is correct. 2. 5. All loops are executed on their boundaries. These were particularly useful in nested statements. using formula: V (G) =E-N+2 or V (G) =P+1 or V (G) =Number of Regions Where V (G) is Cyclamate complexity. 4 For concatenated loops the values of dependent loops were set with the help of connected loop. 5 Unstructured loops were resolved into nested loops or concatenated loops and 42
. So that each path that may be generate on particular condition is traced to uncover any possible errors. Determine the Cyclamate complexity of resultant flow graph. 3. Conditional Testing In this part of the testing each of the conditions were tested to both true and false aspects. E is the number of edges. This kind of testing was used only when some local variable were declared. The following exercise was adopted for all loops: 1 All the loops were tested at their limits. 4. All conditions are exercised to check their validity. Determine the basis of set of linearly independent paths. Basic Path Testing Established technique of flow graph with Cyclamate complexity was used to derive test cases for all the functions. And all the resulting paths were tested.
tested as above.
. Each unit has been separately tested by the development team itself and all the input have been validated.
resulting in a higher quality product while also reducing development and support costs. Effective use of a tool is will lead to a more structured approach throughout the development lifecycle.CHAPTER-11
Software project management tool is a fundamental part of the Software Engineering lifecycle process.
Now by making use of software project management tool we are able to deal the projects in small companies and institutions.
. but in future we can adopt this tool for MNC’s with further resources according to future requirements.
• • • • • Java Server Programming By Subramanyam Allamaraju. HTML Complete Reference Software Engineering By Pressman
. ORACLE By Evan Byross HTML Black Book By Steven Holzner.