Final Exam Flashcards
Describe architecture in the small…
concerned with the architecture of individual programs; is there a database, user interface; how is the program decomposed into components
Describe architecture in the large…
concerned with the architecure of the complex enterprise systems that include other systems; how is the work distributed over the various components; communication between networks, on the same system, and what are the pieces involved in; ex. front end interaction with users and what those interactions cause the back end to do; individual pieces and what is allowed in their connections
Describe the five parts of the 4+1 View Model of Software Architecture…
***for both design and documentation, you usually need to present multiple views of the software architecture
logical view - shows key elements as classes and objects
process view - how is the running system going to work; what is the communication between objects; how does the data flow from when the user enters it to when it ends up in the database
development view - how is the software broken down for the use of the programs; hierarchy of class; what utilities should be provided; how the piece should be structured to get it to work
physical view - what portions of hardware will the system use; distribution; display system
use case diagrams will link together views
Describe what architectural patterns are…
Patterns are a means of representing, sharing and reusing knowledge. An architectural pattern is a stylized description of a good design practice, which has been tried and tested in different environments. Patterns should include information about when they are and when the are not useful. Patterns may be represented using tabular and graphical descriptions.
Describe the three main activities of configuration management…
version management - tracks current and previous version of the file; can roll back to a previous version; prevents undoing of work; throw this out and roll back to previous version
system integration - do compilations; link software; specify what version of components are used
problem tracking - keep track of errors reported - which development team and users; developers can grab bugs and indicate that they’re working on those bugs to fix them
Describe open source development…
idea is to make code open and useable with the expectation that companies will make money through support rather than making money from code development; upload new versions; everyone can contribute to the development of systems; ex. Linux os - paying for support not product, Java, Apache web server, mySQL database management system - people write and maintain these, one person oversees - are changes really enhancements, but others can make changes; shift from development costs to maintenance cost
business model - can develop code faster and cheaper; people working on it want the facilities the program provides; group of people who collectively wrote software to collectively use it
licensing - just because it’s free, doesn’t mean there isn’t a license involved!; whoever wrote the code still owns the code
Describe the two goals of program testing…
Ans
What are the two goals of program testing?
Ans
What is verification?
showing that the program functions correctly; program that works perfectly, but doesn’t satisfy user needs isn’t helpful; are we building the product right
What is validation?
have a test for every requirement - functional and non-function requirements (ex. task done in a certain amount of time); once system is mostly complete or complete, agile testing would be done in increments; are we building the right product
Describe the four goals of successful project management…
delivered on time - customer view
within budget - development company view
met all of customers expectations and needs
maintain a good function developing team - work well together and to the best of their abilities
Describe the the project management activity of ‘project planning’…
project planning - time the project will take, deadlines, who is assigned to what tasks
What are the five project management activities?
project planning
risk management
people management
reporting
proposal writing
Describe the the project management activity of ‘risk management’…
ans
Describe the the project management activity of ‘people management’…
sometimes project managers pick the people on their team, or may have permission to hire new people - who would be best in terms of skill and background, or no role in that - only one development team - this is what you have to work with; put in structures and ways of working and behaviors to make the team as effective as possible