software development planning and essentials

16
Rajesh 2017-27-01 Project Planning: Hostel management System

Upload: rajesh-p

Post on 07-Feb-2017

58 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Software development planning and essentials

Rajesh2017-27-01

Project Planning: Hostel management System

Page 2: Software development planning and essentials

•Project, a program, and a portfolio•Project Life Cycle•Software Development Life Cycle•Requirement\Design\Development\Testing\Implementation•HMS:Functional Details•HMS:Hostel allotment UML Design•HMS:Architecture•Database Tricks and Ticks•Code tricks and Tips

Index

Page 3: Software development planning and essentials

• Project has a temporal element defining a start and an end, making it temporary rather than ongoing.

• Second, it delivers something unique and never done before. Finally, it involves delivery of a product, service, or result.

• In a program of projects the projects share an interdependency.

• Portfolio of projects the projects are only united by the fact that they are all being completed by the same organization.

What is a project/program/portfolio?

Page 4: Software development planning and essentials

• The Project Life Cycle refers to a series of activities which are necessary to fulfill project goals or objectives.

• You initiate a project by defining its purpose and scope, the justification for initiating it and the solution to be implemented.

• You will also need to recruit a suitably skilled project team, set up a Project Office and perform an end of Phase Review.

• Know the project boundaries and constraints• Identify high level risks• Understand the required project organization• Estimate budget and resource requirements• Formally authorize to start a new project or phase

Project Life Cycle

Page 5: Software development planning and essentials

• To build good-quality software you need to fully understand the essentials of software development life cycle (SDLC).

• customer’s requirements to the delivered product as well as customer’s budgets.

• There’s a number of life-cycle model types (waterfall model, spiral model, rapid prototyping, agile).

Software Development Life Cycle

Page 6: Software development planning and essentials

• At this phase it is important to document all requirements to the desired software. • You should dedicate sufficient time to this phase, conducting extensive interviews with stakeholders. • It is better to structure all incoming data, analyze them, consider all technical limitations that may arise on the client’s side,

and come out with a ready-to-follow specification to meet the client’s needs. • Another thing to consider is any constraints that may hinder the development process, such as client’s time and budget

constraints.• Note: The more detailed information about the bespoke project you get, the less time you will spend on fixes, redesigns,

budget reviews, discussions and other issues.

▫ problem vision document▫ Requirements Gathering▫ Software requirement▫ Hardware requirement

• Many projects are sidetracked because of additional requirements that arise on the development phase. That’s why it is highly important that you understand the initial business goals and the primary idea of the future application.

Requirement analysis

Page 7: Software development planning and essentials

• In the design phase, the requirements will be broken down further to be able to forecast the project’s timeline and estimate the level of effort and amount of resources needed.

• During this phase, you’ll also want to identify any specific designs and workflows for the application.

• You may want to design specific pages and provide more details of what will be created.

• If the application will be data driven, you will want to discuss what database(s) will be used and create a data model.

• You also want to identify what tools and software will be used to create the application.

• For instance, you can create a web application using ColdFusion and a SQL Server database. Once most of the design is identified, the development phase can begin.

Design

Page 8: Software development planning and essentials

HMS:Functional Details

Page 9: Software development planning and essentials

HMS:Hostel allotment UML Design

Page 10: Software development planning and essentials

HMS:Architecture

Page 11: Software development planning and essentials

• SQL Server Database Engine are two major components: the storage engine and the query processor, also called the relational engine.

• The storage engine is responsible for reading data between the disk and memory in a manner that optimizes concurrency while maintaining data integrity.

• The query processor, as the name suggests,• accepts all queries submitted to SQL Server,

devises a plan for their optimal execution, and then executes the plan and delivers the required results.

Database Tricks and Ticks

Page 12: Software development planning and essentials

•Primary Key•Foreign key• Indexing•Query optimizer•Stored procedure•Avoid inline query

Database Tricks and Ticks

Page 13: Software development planning and essentials

• Using the wrong data types Due to wrong data type, trying to convert values that increase extra processing time for each rows.• Using Functions in Comparisons within the ON or WHERE Clause• Employing Multi-Statement User Defined Functions (UDFs)• The “Run Faster” Switch: Allowing “Dirty Reads’• Indulging in Nested Views• Sorting data valuesSorting in select statement takes extra processing time, if it is not required or we can avoid then it would be better. Sorting increase execution cost.• In case we are updating or deleting data in bulk, try to avoid use of no lock. This can create

blocking some time, instead of this we can use snapshot isolation level.• We can make query dynamic, we can make join dynamics based on different input values.

Database Tricks and Ticks

Page 14: Software development planning and essentials

• Before deploying your app on staging or production we should always look at every possible way to improve performance and monitor how your app doing online.

Performance, tips and tricks for every web developers

Page 15: Software development planning and essentials

• In Debug Mode your DLL has debug information inside of it (source code, variable names, symbolic information and other similar stuff).

• Debug Mode creates PDB file to store debug information

• In Release Mode your DLL lack of debug information makes it smaller and probably performs better due to its smaller footprint.

Debug mode vs Release mode

Page 16: Software development planning and essentials

Contact Info: [email protected] 9811936378

Thank You