Chat with our AI personalities
Developing a software is not a easy task. It requires proper engineering or software engineering. To do the task efficiently design cycle is used that helps in carrying out the tasks in a systematic manner.
the main purpose of software engineer is to write programs (codes), using that we can make use the available resources in an efficient manner....
A process model for software engineering is chosen based on the nature of the project and application the methods and tools to be used and the controls and deliverables that are required.All software development can be characterized as a problem solving loop in which four distinct stage are encountered, these are status quo, problem definition, technical development, and solution integration, status quo represents the current state of affairs, problem definition identifies the specific problem to be solved, technical development solves the problem through the application of some technology, and solution integration delivers the result to those who requested the solution in the first place.Technical developmentStatus quoSolution integrationProblem definitionFigure: The phases of a problem solving loopThere are several models used in S.E these are –i. The linear sequential model.ii. The prototype model.iii. The RAD model.iv. The increment model.v. The spiral model.vi. The win win spiral modelvii. The concurrent development modelviii. The component based development model#The linear sequential model/waterfall model-The LSM sometime called the classic lifecycle or the waterfall model. This model suggests a systematic sequential approach to software development that designs at the system level and progress through analysis, design, coding, testing and support. The LSM encompasses the following activities-System /information engineering and modeling .Because software is always part of a larger system the work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interact with other elements such as hardware, people and database. System engineering and the analysis encompass requirements gathering at the system level with a small amount of top level design and analysis. Information engineering encompasses requirements gathering at the strategic business level and the business area level.i.Software requirements analysis-The requirements gathering process is intensified and focused specially on software. To understand the nature of the problem to be built, the software engineering must understood the information domain for the software as well as required function. Behavior, performance and interface requirements for both the system and the software are documented and received with the customer.ii.Design-Software design is actually a multistep process that focuses on four distinct attributes of a program. Data structures, software architecture, interface representation and procedural detail the design process translates requirements into a design which documented and becomes part of the software configuration.iii.Code generation-The design must be translated into a machine readable form. The code generation steps perform this task. If design is performed in a detailed manner code generation can be accomplished automatically.iv.Testing-Once code has been generated, program begins. The testing process focuses on the logical internals of the software, ensuring that all function externals that is conducting tests to uncover errors and ensure that defined input will produce actual result that agree with required results.v. Support-System/information engineeringAnalysisDesignCodeTestSoftware will undoubtedly undergo change often it is delivered to the customer change will occur because errors have been encountered because the software must be adapted to accommodate change in its external environment or because the customer requires functional or performance enhancements. Software support maintenance reapplied each of the proceeding phases to an existing program rather than a new one.
It just depends on who you are and how you think. To do programming easily, you need a logical mind and you need to know how to think in a step-by-step manner. Ideally, you should have memorized the common commands of the language, but if you don't, that's fine, because you will learn them soon enough with practice. Happy programming!
When they wanted to test the capability of their software to detect viruses in a safe manner.