By, Dinesh:
The computer science discipline concerned with developing large applications. Software engineering covers not only the technical aspects of building software systems, but also management issues, such as directing programming teams, scheduling, and budgeting.
HOW THIS IS USEFUL TO MANAGERS ?
"Software Engineering," has been in use for more than 30 years. In that time, the software community has undergone many changes including the introduction of new programming languages, new analysis and design methods and more advanced, easier to use development environments. Even with all these improvements, software continues to be a source of problems and increased risk for most corporations. If the "software problem" were truly of a technical nature, the problems (e.g. late delivery, cost overruns, low quality) would have been largely solved. More recently, the source of these problems has been attributed to the people who direct software development and maintenance efforts
Applications
Software engineers build software (applications, Operating Systems, System Software) that people use.
Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development.
- Business software
- Analytics
- Data mining closely related to database
- Decision support systems
- Airline reservations
- Banking
- Commerce
- Trade
- Auctions (eg. EBay)
- Reverse auctions (procurment)
- Bar code scanners
- Compilers
- Communication
- Instant messengers
- VOIP
- Calendars — scheduling and coordinating
- Contact managers
- Computer graphics
- Animation
- Special effects for video and film
- Editing
- Post-processing
- Cryptography
- Databases, support almost every field
- Embedded systems Both software engineers and traditional engineers write software control systems for embedded products.
- Automotive software
- Avionics software
- Heating Ventilation and Air Conditioning (HVAC) software
- Medical device software
- Telephony
- Telemetry
- Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry.
- File
- Finance
- Games
- Information systems, support almost every field
- Logistics
- Manufacturing
- Music
- Network Management
- Networks and Internet
- Office suites
- Operating systems
- Robotics
- Signal processing, encoding and interpreting signals
- Image processing, encoding and interpreting visual information
- Speech processing
- Text recognition
- Handwriting recognition
- Simulation, supports almost every field.
- Engineering, A software simulation can be cheaper to build and more flexible to change than a physical engineering model.
- Sciences
- Sciences
- Traffic Control
- Training
- Drill
- Simulation
- Testing
- Visualization, supports almost every field
- Voting
- World wide web
________________________________________
By Desigan, project Development Stages:
Regardless of the methodology used, the project development process will have the same major stages: initiation, planning or development, production or execution, maintenance and controlling, and closing.
Initiation
The initiation stage determines the nature and scope of the development. If this stage is not performed well, it is unlikely that the project will be successful in meeting the business’s needs. The key project controls needed here are an understanding of the business environment and making sure that all necessary controls are incorporated into the project. Any deficiencies should be reported and a recommendation should be made to fix them.
The initiation stage should include a cohesive plan that encompasses the following areas:
- Study analyzing the business needs in measurable goals.
- Review of the current operations.
- Conceptual design of the operation of the final product.
- Equipment requirement.
- Financial analysis of the costs and benefits including a budget.
- Select stake holders, including users, and support personnel for the project.
- Project charter including costs, tasks, deliverables, and schedule.
Planning and design
After the initiation stage, the system is designed. Occasionally, a small prototype of the final product is built and tested. Testing is generally performed by a combination of testers and end users, and can occur after the prototype is built or concurrently. Controls should be in place that ensure that the final product will meet the specifications of the project charter. The results of the design stage should include a product design that:
- Satisfies the project sponsor, end user, and business requirements.
- Functions as it was intended.
- Can be produced within quality standards.
- Can be produced within time and budget constraints.
Executing
Executing consists of the processes used to complete the work defined in the project management plan to accomplish the project's requirements. Execution process involves coordinating people and resources, as well as integrating and performing the activities of the project in accordance with the project management plan. The deliverables are produced as outputs from the processes performed as defined in the project management plan.
Monitoring and Controlling
Monitoring and Controlling consists of those processes performed to observe project execution so that potential problems can be identified in a timely manner and corrective action can be taken, when necessary, to control the execution of the project. The key benefit is that project performance is observed and measured regularly to identify variances from the project management plan.
Monitoring and Controlling cycle
Monitoring and Controlling includes:
- Measuring the ongoing project activities (where we are);
- Monitoring the project variables (cost, effort, ...) against the project management plan and the project performance baseline (where we should be);
- Identify corrective actions to properly address issues and risks (How can we get on track again);
- Influencing the factors that could circumvent integrated change control so only approved changes are implemented
In multi-phase projects, the Monitoring and Controlling process also provides feedback between project phases, in order to implement corrective or preventive actions to bring the project into compliance with the project management plan.
Project Maintenance is an ongoing process, and it includes:
- Continuing support of end users
- Correction of errors
- Updates of the software over time
In this stage, auditors should pay attention to how effectively and quickly user problems are resolved.
Over the course of any construction project, the work scope changes. Change is a normal and expected part of the construction process. Changes can be the result of necessary design modifications, differing site conditions, material availability, contractor-requested changes, value engineering and impacts from third parties, to name a few. Beyond executing the change in the field, the change normally needs to be documented to show what was actually constructed. Hence, the owner usually requires a final record to show all changes or, more specifically, any change that modifies the tangible portions of the finished work. The record is made on the contract documents – usually, but not necessarily limited to, the design drawings. The end product of this effort is what the industry terms as-built drawings, or more simply, “asbuilts.” The requirement for providing them is a norm in construction contracts.
Closing
Closing includes the formal acceptance of the project and the ending thereof. Administrative activities include the archiving of the files and documenting lessons learned. Closing phase consist of two parts:
- Close project: to finalize all activities across all of the process groups to formally close the project or a project phase
- Contract closure: necessary for completing and settling each contract, including the resolution of any open items, and closing each contract applicable to the project or a project phase.