NYIT
Computer Science Department
Fall 2016
CSCI665 Software Engineering
Midterm
Name: Nelson Christian
Id:1053366
1)
Software Engineering can be defined as set of rules or patterns to follow while working on different aspects of Software. These patterns may vary by person to person, but core concepts remain same.
Software involves stages like collecting requirement, designing, development, testing and maintenance and Software engineering is applied to all these stages to create high quality software.
2)
Computer Engineering is more like a parent branch which involves both Hardware and Software concepts. Computer Engineering encompasses processing concepts, hardware performance, algorithms, hardware architecture, graphics, programming languages, machine learning etc.
On the other hand, Software Engineering can be considered as a part of Computer Engineering field where it takes into account concepts like Software Architecture, Software design, Software scalability, Software testing etc.
3)
A process framework has five activities, namely, Communication, planning, modeling, construction and deployment. These five activities focus on small tasks to be performed that ensures timely delivery and proper management of the project.
It is again a set of rules, mostly focusing on dividing the bigger tasks into smaller modules and construct quality product.
Also, software development is a team project, so it is essential that all the engineers working on the project are following
A Computer Software Engineer develops software systems to be used by their clients, such as a website used to sell the client’s products. Although software engineers spend the majority of their time programming and testing the software, a key component to the success of a software engineer is the ability to write a thorough Software Requirement Specification (SRS). A SRS documents the requirements and dependencies needed for the software, prior to beginning any programming. Therefore, a Software Engineer must po The SRS is so important because engineers can have a wide scope of clients that they regularly work with.
Requirement Engineering is the initial and crucial step in the Software Development. In the past few years Requirement Engineering phase has been given much of an importance, it basically refers to gathering of information from the client that is required for the development of the project. This phase is crucial as it forms the foundation of the project. The Requirement Engineering phase is broke down into three stages, Requirement Elicitation, Requirement Specification and Requirement validation.
Software Architecture is how a system is structured, it is a collection of all the elements that are
The author of the article mainly discusses about the two approaches that are useful for Software engineering.
Software engineering has come to stay and has become an integral part of the information system the world over.
Requirements engineering is a traditional software engineering process that aims to identify, analyze, document and validate requirements for the system to be developed. It is the practice of eliciting, analyzing, prioritizing, negotiating, and specifying the
Software engineering (SE) is the profession concerned with specifying, designing, developing and maintaining software applications by applying technologies and practices from computer science, project management, and other fields.
Form of organization problem(Bennet,1998). When center introduced the software engineering management model without enough analysis. They were not very clear the concepts of software engineering management. Center just converted the
Different software development processes have software architecture as a part of the process Rational unified process Spiral development method Agile development method Evolutionary rapid development
The quality and reliability of software today is expected to be extremely high. Software is being included in engines of automobiles, robots, x-ray machines at hospitals; it is no surprise that software is expected to operate correctly almost all the time. This reliability comes at a cost of increasing complexity. With the increase in complexity, software development teams are getting larger and maintenance is becoming more difficult. Although developers are dealing with these problems project dates are still very rigorous and projects can seem impossible to complete on time. Due to these problems, software development costs are rising which is increasing the cost of software for consumers. Without new practices to develop software
Software development is not a precise science and software is a ?minded-crafted? by human beings, so it is error prone, software development must be accompanied by quality assurance activities.
Becoming a Software Engineer is not the easiest of tasks. To become a Software Engineer you would usually major in Computer Science (CUnet 1). A Computer Science
Though many people interchange system engineering models and software engineering life cycle models, they are defined as two different approaches to software development. System engineering is the technical and technical management process that results in delivered products and systems that exhibit the best balance of cost and performance. As the program progresses from one phase to the next one, so does the system engineering process. It deals with the overall management of engineering project during their life cycle. Its main focus is knowing what the clients and end users wants and needs are satisfied and developing just that all the way through the system’s entire life cycle. Whereas, on the other hand, software engineering focuses on the quality of the product or system, how cost effective it is, is it done within the time-constraints given, whether it is easy to maintain and enhance, and does it work as the requirements defined. Its main focus is on delivering a product that meets the requirement specifications. There are so many models to choose from, as it all depends on what the project needs and entails. Depending on the requirements, allows for the choice of what mode to use.
When engineers design software, most engineers use a software development methodology known as the Software Development Cycle (SDLC). The process is a structure that is one my might is imposed on the software development community. There are a number of models for this process and all use a variety of methods, tasks, and activates during their own process. Here are two of the process models:
Computer science majors research personal PC’s communication and appear false brainpower and knowledge engineering. Computer engineer majors study to what degree routes work. Students learn to make computers, docket materials, and muster gadgets to a better chain.